SWFbutton (PHP 4 >= 4.0.5)
SWFbutton -- Creates a new Button.
Description new
swfbutton ( void )
Warning This function is
EXPERIMENTAL . The behaviour of this function, the
name of this function, and anything else documented about this
function may change without notice in a future release of PHP.
Use this function at your own risk.
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.
Example 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.
Example 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);" ), 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 ();
?>
Copyright © 2001-2004 The PHP Group All rights reserved.