SunshinePHP Developer Conference 2015

SWFMorph::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMorph::__constructCrea 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 deswfmorph()

<?php
  $p 
= new SWFMorph();

  
$s $p->getShape1();
  
$s->setLine(0000);

  
/* 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(0xff00));
  
$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(000xff));
  
$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(0xff0xff0xff);

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

add a note add a note

User Contributed Notes 1 note

up
0
mark omohundro, ajamyajax dot com
5 years ago
<?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();
?>
To Top