SWFbutton

(PHP 4 >= 4.0.5)

SWFbutton -- Creates a new Button.

Description

new swfbutton ( void )

Avvertimento

Questa funzione SPERIMENTALE. Ovvero, il comportamento di questa funzione, il nome di questa funzione, in definitiva tutto ci che documentato qui pu cambiare nei futuri rilasci del PHP senza preavviso. Siete avvisati, l'uso di questa funzione a vostro rischio.

swfbutton() creates a new Button. Roll over it, click it, see it call action code. Swank.

SWFButton has the following methods : swfbutton->addshape(), swfbutton->setup(), swfbutton->setover() swfbutton->setdown(), swfbutton->sethit() swfbutton->setaction() and swfbutton->addaction().

This simple example will show your usual interactions with buttons : rollover, rollon, mouseup, mousedown, noaction.

Esempio 1. swfbutton() example

<?php

  $f
= new SWFFont("_serif");

  
$p = new SWFSprite();

  function
label($string)
  {
    global
$f;

    
$t = new SWFTextField();
    
$t->setFont($f);
    
$t->addString($string);
    
$t->setHeight(200);
    
$t->setBounds(3200, 200);
    return
$t;
  }
  
  function
addLabel($string)
  {
    global
$p;

    
$i = $p->add(label($string));
    
$p->nextFrame();
    
$p->remove($i);
  }

  
$p->add(new SWFAction("stop();"));
  
addLabel("NO ACTION");
  
addLabel("SWFBUTTON_MOUSEUP");
  
addLabel("SWFBUTTON_MOUSEDOWN");
  
addLabel("SWFBUTTON_MOUSEOVER");
  
addLabel("SWFBUTTON_MOUSEOUT");
  
addLabel("SWFBUTTON_MOUSEUPOUTSIDE");
  
addLabel("SWFBUTTON_DRAGOVER");
  
addLabel("SWFBUTTON_DRAGOUT");

  function
rect($r, $g, $b)
  {
    
$s = new SWFShape();
    
$s->setRightFill($s->addFill($r, $g, $b));
    
$s->drawLine(600, 0);
    
$s->drawLine(0, 600);
    
$s->drawLine(-600, 0);
    
$s->drawLine(0, -600);

    return
$s;
  }

  
$b = new SWFButton();
  
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
  
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
  
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);

  
$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(1);"),
            
SWFBUTTON_MOUSEUP);

  
$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(2);"),
        
SWFBUTTON_MOUSEDOWN);

  
$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(3);"),
        
SWFBUTTON_MOUSEOVER);

  
$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(4);"),
        
SWFBUTTON_MOUSEOUT);

  
$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(5);"),
        
SWFBUTTON_MOUSEUPOUTSIDE);

  
$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(6);"),
        
SWFBUTTON_DRAGOVER);

  
$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(7);"),
        
SWFBUTTON_DRAGOUT);

  
$m = new SWFMovie();
  
$m->setDimension(4000, 3000);

  
$i = $m->add($p);
  
$i->setName("label");
  
$i->moveTo(400, 1900);

  
$i = $m->add($b);
  
$i->moveTo(400, 900);

  
header('Content-type: application/x-shockwave-flash');
  
$m->output();
?>

This simple example will enables you to drag draw a big red button on the windows. No drag-and-drop, just moving around.

Esempio 2. swfbutton->addaction() example

<?php

  $s
= new SWFShape();
  
$s->setRightFill($s->addFill(0xff, 0, 0));
  
$s->drawLine(1000,0);
  
$s->drawLine(0,1000);
  
$s->drawLine(-1000,0);
  
$s->drawLine(0,-1000);

  
$b = new SWFButton();
  
$b->addShape($s, SWFBUTTON_HIT | SWFBUTTON_UP | SWFBUTTON_DOWN | SWFBUTTON_OVER);

  
$b->addAction(new SWFAction("startDrag('/test', 0);"), // '0' means don't lock to mouse
        
SWFBUTTON_MOUSEDOWN);

  
$b->addAction(new SWFAction("stopDrag();"),
        
SWFBUTTON_MOUSEUP | SWFBUTTON_MOUSEUPOUTSIDE);

  
$p = new SWFSprite();
  
$p->add($b);
  
$p->nextFrame();

  
$m = new SWFMovie();
  
$i = $m->add($p);
  
$i->setName('test');
  
$i->moveTo(1000,1000);

  
header('Content-type: application/x-shockwave-flash');
  
$m->output();
?>