SWFMorph

(PHP 4 >= 4.0.5)

SWFMorph -- Crée un morphing.

Description

new swfmorph ( void )

swfmorph() crée un morphing.

swfmorph() s'appelle aussi "shape tween". C'est cet objet qui permet toutes ces superbes animations qui mettent à genou votre ordinateur. Joie!

Les méthodes ici sont plutôt bizarres. Il serait tellement plus logique d'avoir seulement new SWFMorph(shape1, shape2);, mais, telles que sont les choses aujourd'hui, la deuxième forme a besoin de savoir qu'elle est l'aboutissement d'un morphing. (Tout cela, parceque Flash commence à dessiner aussitôt qu'il a les commandes de dessins. S'il conservait les descriptions de ses propres formes, et attendait leur totalité avant d'écrire, ceci et bien d'autres choses serait tellement plus simple).

SWFMorph a les méthodes suivantes : swfmorph->getshape1() et swfmorph->getshape2().

Cet exemple simple effectue le morphing d'une gros carré rouge en un carré plus petit, bleu et bordé de noir.

Exemple 1. Exemple avec swfmorph()

<?php
  $p
= new SWFMorph();
  
$s = $p->getShape1();
  
$s->setLine(0,0,0,0);
  
/* Notez que cela se fait dans l'ordre inverse de l'ordre habituel
     (gauche au lieu de droite), mais je n'ai aucune idée de pourquoi... */
  
$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();
?>