<?php
// with a few changes to the example above --
// looks like SWFMorph() can also be used to DISSOLVE a shape...
// Shape2's fill below is set to same movie setBackground() color,
// and its setLine() parameter #1 for weight is set to zero.
// smaller seems to look a little better with this also...
$rbg = 0x66; // 102
$gbg = 0x99; // 153
$bbg = 0xCD; // 205
$p = new SWFMorph();
$s = $p->getShape1();
$s->setLine(0, 0, 0, 0);
$s->setLeftFill($s->addFill(0xff, 0, 0));
$s->movePenTo(-1000,-1000);
$s->drawLine(2000,0);
$s->drawLine(0,2000);
$s->drawLine(-2000,0);
$s->drawLine(0,-2000);
$s = $p->getShape2();
$s->setLine(0,0,0,0); // changed from (60,0,0,0)
$s->setLeftFill($s->addFill($rbg, $gbg, $bbg)); // new color to match
$s->movePenTo(0,-1000);
$s->drawLine(1000,1000);
$s->drawLine(-1000,1000);
$s->drawLine(-1000,-1000);
$s->drawLine(1000,-1000);
$m = new SWFMovie();
$m->setDimension(6000,4000);
$m->setBackground($rbg, $gbg, $bbg);
$i = $m->add($p);
$i->moveTo(3000,2000);
for ($r=0.0; $r<=1.0; $r+=0.1) {
$i->setRatio($r);
$m->nextFrame();
}
$m->add(new SWFAction("stop();"));
$m->nextFrame();
header('Content-type: application/x-shockwave-flash');
$m->output();
?>
SWFMorph::__construct
(PHP 5 <= 5.3.0, PECL ming SVN)
SWFMorph::__construct — Crea un nuevo objeto SWFMorph
Descripción
SWFMorph::__construct
( void
)
Advertencia
Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.
Crea un nuevo objeto SWFMorph.
También llamado "forma intermedia". Esta cosa le permite hacer esas cosas retorcidas pegajosas que hacen que su ordenador se asfie. Oh, ¡disfrute!
Ejemplos
Este sencillo ejemplo formará un gran cuadrado rojo dentro de un cuadrado con borde azul más pequeño.
Ejemplo #1 Ejemplo de swfmorph()
<?php
$p = new SWFMorph();
$s = $p->getShape1();
$s->setLine(0, 0, 0, 0);
/* Observe que esto es al revés de las formas normales (izquierda en lugar de derecha).
No tengo ni idea de por qué, pero parece funcionar.. */
$s->setLeftFill($s->addFill(0xff, 0, 0));
$s->movePenTo(-1000,-1000);
$s->drawLine(2000,0);
$s->drawLine(0,2000);
$s->drawLine(-2000,0);
$s->drawLine(0,-2000);
$s = $p->getShape2();
$s->setLine(60,0,0,0);
$s->setLeftFill($s->addFill(0, 0, 0xff));
$s->movePenTo(0,-1000);
$s->drawLine(1000,1000);
$s->drawLine(-1000,1000);
$s->drawLine(-1000,-1000);
$s->drawLine(1000,-1000);
$m = new SWFMovie();
$m->setDimension(3000,2000);
$m->setBackground(0xff, 0xff, 0xff);
$i = $m->add($p);
$i->moveTo(1500,1000);
for ($r=0.0; $r<=1.0; $r+=0.1) {
$i->setRatio($r);
$m->nextFrame();
}
header('Content-type: application/x-shockwave-flash');
$m->output();
?>
mark omohundro, ajamyajax dot com ¶
4 years ago
