SWFButton
PHP Manual

SWFButton->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton->__construct新しいボタンを作成する

説明

SWFButton SWFButton::__construct ( void )
警告

この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。

新しいボタンを作成します。

この例では、ボタンの通常の動作 (rollover, rollon, mouseup, mousedown, noaction) を示します。

例1 ボタンの通常の動作

<?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();
?>

この例では、ウィンドウ上で大きな赤いボタンをドラッグさせます。 drag-and-drop ではなく、単に移動させるだけです。

例2 ドラッグの例

<?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' 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();
?>


SWFButton
PHP Manual