SWFMorph

(PHP 4 >= 4.0.5)

SWFMorph -- Crée un morphing

Description

SWFMorph swfmorph ( void )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

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. (cel est dû au fait que Flash commence à dessiner aussitôt qu'il a les commandes de dessin. S'il conservait les descriptions de ses propres formes, et attendait leur totalité avant d'écrire, ceci et bien d'autres choses seraientt tellement plus simples).

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