ConFoo: Call for paper is now Open

SWFDisplayItem::rotateTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::rotateToTourne l'objet dans les coordonnées globales

Description

void SWFDisplayItem::rotateTo ( float $angle )
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.

swfdisplayitem::rotateto() définit la rotation de l'objet courant à angle degrés dans les coordonnées globales.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie::add().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Cet exemple effectue trois rotations de chaînes de caractères depuis l'arrière plan vers le premier plan.

Exemple #1 Exemple avec swfdisplayitem->rotateto()

<?php
$thetext 
=  "ming!";

$f = new SWFFont("Bauhaus 93.fdb");

$m = new SWFMovie();
$m->setRate(24.0);
$m->setDimension(24001600);
$m->setBackground(0xff0xff0xff);

// des fonctions avec beaucoup d'arguments arbitraires
// sont toujours de bonne idée ! vraiment !

function text($r$g$b$a$rot$x$y$scale$string
{
  global 
$f$m;

  
$t = new SWFText();
  
$t->setFont($f);
  
$t->setColor($r$g$b$a);
  
$t->setHeight(960);
  
$t->moveTo(-($f->getWidth($string))/2$f->getAscent()/2);
  
$t->addString($string);

  
// nous pouvons ajouter des propriétés comme une variable normal PHP,
  // tant que les noms ne sont pas déjà utilisés.
  // e.g., nous ne pouvons pas définir $i->scale, parce que c'est une fonction

  
$i $m->add($t);
  
$i->$x;
  
$i->$y;
  
$i->rot $rot;
  
$i->$scale;
  
$i->rotateTo($rot);
  
$i->scale($scale$scale);

  
// mais les modifications sont locales à la fonction, donc, nous devons
  // retourner l'objet original.

  
return $i;
}

function 
step($i
{
  
$oldrot $i->rot;
  
$i->rot 19*$i->rot/20;
  
$i->= (19*$i->1200)/20;
  
$i->= (19*$i->800)/20;
  
$i->= (19*$i->1.0)/20;

  
$i->rotateTo($i->rot);
  
$i->scaleTo($i->s$i->s);
  
$i->moveTo($i->x$i->y);

  return 
$i;
}

$i1 text(0xff0x330x330xff90012008000.03$thetext);
$i2 text(0x000x330xff0x7f, -56012008000.04$thetext);
$i3 text(0xff0xff0xff0x9f18012008000.001$thetext);

for (
$i=1$i<=100; ++$i) {
  
$i1 step($i1);
  
$i2 step($i2);
  
$i3 step($i3);

  
$m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Voir aussi

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top