Учебник РНР
Назад Вперёд

SWFbutton

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

Назад Оглавление Вперёд
SWFbutton->setUp Вверх SWFDisplayItem->addColor