SWFButton::__construct

(PHP 5 < 5.3.0, PECL ming SVN)

SWFButton::__constructCrée un nouveau bouton

Description

SWFButton::__construct ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Le comportement de cette fonction, son nom, et toute la documentation autour de cette fonction peut changer sans préavis dans une prochaine version de PHP. Cette fonction doit être utilisée à vos risques et périls.

Crée un nouveau bouton.

Exemples

Cet exemple simple montre une interaction habituelle avec des boutons : "rollover", "rollon", "mouseup", "mousedown", "noaction".

Exemple #1 à habituelles avec les boutons

<?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(3200200);
  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(6000);
  
$s->drawLine(0600);
  
$s->drawLine(-6000);
  
$s->drawLine(0, -600);

  return 
$s;
}

$b = new SWFButton();
$b->addShape(rect(0xff00), SWFBUTTON_UP SWFBUTTON_HIT);
$b->addShape(rect(00xff0), SWFBUTTON_OVER);
$b->addShape(rect(000xff), 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(40003000);

$i $m->add($p);
$i->setName("label");
$i->moveTo(4001900);

$i $m->add($b);
$i->moveTo(400900);

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

Cet exemple simple vous permet d'afficher un gros bouton rouge dans la fenêtre. Pas de glisser / déposer, il bouge uniquement.

Exemple #2 Exemple de glisser

<?php

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

$b = new SWFButton();
$b->addShape($sSWFBUTTON_HIT SWFBUTTON_UP SWFBUTTON_DOWN SWFBUTTON_OVER);

$b->addAction(new SWFAction("startDrag('/test', 0);"), // '0' signifie qu'il n'est pas verrouillé sur la souris
      
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();
?>