 |
(PHP 4 >=
4.0.5) SWFbutton - создаёт новую кнопку/Button. Описаниеnew
swfbutton (void) | Предупреждение! |
|---|
Эта
функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано
для данной функции может быть изменено в будущих релизах РНР без предупреждения.
Вы можете использовать эту функцию только на свой страх и риск. |
swfbutton()
создаёт новую Button. Перекатывает её, щёлкает, смотрит её код акции. Шикарно. SWFButton
имеет следующие методы: swfbutton->addshape(), swfbutton->setup(),
swfbutton->setover(), swfbutton->setdown(), swfbutton->sethit(),
swfbutton->setaction() и swfbutton->addaction(). В
примере показано ваше обычное взаимодействие с кнопками: rollover, rollon, mouseup,
mousedown, noaction.
Пример 1. 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(); ?> |
|
Следующий
простой пример даёт возможность рисовать большую красную кнопку в windows. Никакого
drag-and-drop, просто перемещение. Пример
2. 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);"),
// '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(); ?> |
|
|  |