SWFbutton
(PHP 4 >= 4.0.5)
SWFbutton -- Crée un nouveau bouton.
Description
new
swfbutton ( void )
swfbutton() crée un nouveau bouton.
Cliquez-le, passez la souris dessus, et appelez des actions. Facile!
SWFButton a les méthodes suivantes :
swfbutton->addshape(),
swfbutton->setup(), swfbutton->setover()
swfbutton->setdown(), swfbutton->sethit()
swfbutton->setaction() et
swfbutton->addaction().
Cet exemple simplissime vous montre comme faire un
roll-over, un roll-on, un clic, un relaché de souris, et rien du tout (pas d'action).
Exemple 1. Exemple avec swfbutton()
<?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(); ?>
|
|
Cet exemple simple illustre le déplacement d'un gros bouton
rouge dans la fenêtre. Ce n'est pas du tirer-déposer, mais juste
du tirer.
Exemple 2. Exemple avec swfbutton->addaction()
<?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);"), SWFBUTTON_MOUSEDOWN); // '0' signifie : ne pas verrouiller la souris $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(); ?>
|
|