XCVIII. Shockwave Flash

Introduction

PHP a la capacité de créer des animations Shockwave Flash grâce au module de Paul Haeberli : libswf module.

Note : Le support de SWF a été ajouté en PHP 4 RC2.

La librairie libswf ne propose pas de support pour Windows. Le développement de cette librairie a été stoppé, et la source n'est pas disponible pour assurer le portage vers les autres systèmes.

Pour une version plus à jour d'extension SWF, regardez donc les fonctions MING.

Pré-requis

Vous avez besoin de la librairie libswf pour compiler PHP avec le support de cette extension. Vous pouvez télécharger cette librairie ftp://ftp.sgi.com/sgi/graphics/grafica/flash/.

Installation

Une fois que vous avez libswf, tout ce qui reste à faire est de configurer PHP avec --with-swf[=DIR] où DIR est le dossier qui accueille les dossiers de include et lib. Le dossier include doit contenir le fichier swf.h file et le dossier lib doit contenir le fichier libswf.a. Si vous décompressez la distribution de libswf, les deux fichiers seront dans le même dossier. Par conséquent, vous devrez les mettre dans le dossier ad hoc manuellement.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes prédefinies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MOD_COLOR (entier)

MOD_MATRIX (entier)

TYPE_PUSHBUTTON (entier)

TYPE_MENUBUTTON (entier)

BSHitTest (float)

BSDown (nombre à virgule flottante)

BSOver (nombre à virgule flottante)

BSUp (nombre à virgule flottante)

OverDowntoIdle (entier)

IdletoOverDown (entier)

OutDowntoIdle (entier)

OutDowntoOverDown (entier)

OverDowntoOutDown (entier)

OverUptoOverDown (entier)

OverUptoIdle (entier)

IdletoOverUp (entier)

ButtonEnter (entier)

ButtonExit (entier)

MenuEnter (entier)

MenuExit (entier)

Exemples

Une fois que vous avez réussi à installer PHP avec Shockwave Flash, vous pouvez créer des animations Flash avec PHP. Vous serez surpris du résultat. Essayez donc ceci :

Exemple 1. Exemple SWF

<?php
  swf_openfile
("test.swf", 256, 256, 30, 1, 1, 1);
  
swf_ortho2 (-100, 100, -100, 100);
  
swf_defineline (1, -70, 0, 70, 0, .2);
  
swf_definerect (4, 60, -10, 70, 0, 0);
  
swf_definerect (5, -60, 0, -70, 10, 0);
  
swf_addcolor (0, 0, 0, 0);

  
swf_definefont (10, "Mod");
  
swf_fontsize (5);
  
swf_fontslant (10);
  
swf_definetext (11, "This be Flash wit PHP!", 1);

  
swf_pushmatrix ();
  
swf_translate (-50, 80, 0);
  
swf_placeobject (11, 60);
  
swf_popmatrix ();

  for (
$i = 0; $i < 30; $i++) {
    
$p = $i/(30-1);
    
swf_pushmatrix ();
    
swf_scale (1-($p*.9), 1, 1);
    
swf_rotate (60*$p,  'z');
    
swf_translate (20+20*$p, $p/1.5, 0);
    
swf_rotate (270*$p,  'z');
    
swf_addcolor ($p, 0, $p/1.2, -$p);
    
swf_placeobject (1, 50);
    
swf_placeobject (4, 50);
    
swf_placeobject (5, 50);
    
swf_popmatrix ();
    
swf_showframe ();
  }

  for (
$i = 0; $i < 30; $i++) {
    
swf_removeobject (50);
    if ((
$i%4) == 0) {
        
swf_showframe ();
    }
  }

  
swf_startdoaction ();
  
swf_actionstop ();
  
swf_enddoaction ();

  
swf_closefile ();
?>

Table des matières
swf_actiongeturl -- Retourne l'URL d'une animation Shockwave Flash
swf_actiongotoframe -- Joue un frame puis stoppe
swf_actiongotolabel --  Affiche le frame nommé.
swf_actionnextframe -- Avance d'un frame
swf_actionplay --  Joue l'animation flash à partir du frame courant.
swf_actionprevframe -- Recule d'un frame
swf_actionsettarget -- Fixe le contexte des actions
swf_actionstop --  Arrête l'animation flash.
swf_actiontogglequality --  Choisit le niveau de qualité haut ou bas.
swf_actionwaitforframe --  Ignore les actions si le frame n'est pas chargé.
swf_addbuttonrecord --  Contrôle la situation, l'apparance et la zone active du bouton courant
swf_addcolor --  Fixe la couleur globale d'addition (? : the global add color).
swf_closefile -- Ferme le fichier courant Shockwave Flash
swf_definebitmap -- Définit une image bitmap
swf_definefont --  Définit une police.
swf_defineline -- Définit une ligne
swf_definepoly --  Définit un polygone.
swf_definerect -- Définit un rectangle
swf_definetext -- Définit une chaîne de texte
swf_endbutton --  Termine la définition du bouton courant.
swf_enddoaction -- Termine l'action courante
swf_endshape --  Complète la définition de la forme courante.
swf_endsymbol -- Termine la définition de symbole
swf_fontsize -- Change la taille de la police
swf_fontslant -- Change l'inclinaison de la police courante
swf_fonttracking -- Change l'espacement des caractères
swf_getbitmapinfo -- Lit les informations sur une image
swf_getfontinfo --  Retourne la hauteur du A majuscule, et du x minuscule.
swf_getframe -- Retourne le numéro de frame courant
swf_labelframe -- Nomme le frame courant
swf_lookat -- Définit une transformation de vue
swf_modifyobject -- Modifie un objet
swf_mulcolor --  Fixe la couleur globale de multiplication (? : the global multiply color).
swf_nextid -- Retourne le prochain identifiant d'objet libre
swf_oncondition --  Décrit une transition utilisée pour déclencher une liste d'actions.
swf_openfile -- Ouvre un nouveau fichier Shockwave Flash
swf_ortho2 --  Définit une projection orthogonale à 2 dimensions entre les coordonnées utilisateur et le port courant.
swf_ortho --  Définit une projection orthogonale entre les coordonnées utilisateur et le port courant.
swf_perspective --  Définit une projection orthogonale à 3 dimensions entre les coordonnées utilisateur et le port courant
swf_placeobject -- Place un objet sur la scène
swf_polarview --  Défini le point de vue de l'utilisateur en coordonnées polaire.
swf_popmatrix --  Dépile la matrice de transformation.
swf_posround --  Active l'approximation des translation d'objets.
swf_pushmatrix --  Empile la matrice de transformation courante dans la pile.
swf_removeobject -- Enlève un objet
swf_rotate -- Rotation de la transformation courante
swf_scale -- Homothétie
swf_setfont -- Change la police courante
swf_setframe -- Fixe le frame courant
swf_shapearc -- Dessine une arc de cercle
swf_shapecurveto3 -- Dessine une courbe Bézier cubique
swf_shapecurveto --  Dessine une courbe de Bézier quadratique entre deux points.
swf_shapefillbitmapclip --  Choisit le mode de remplissage par texture.
swf_shapefillbitmaptile --  Choisit le mode de remplissage par texture repétée.
swf_shapefilloff -- Désactive le remplissage.
swf_shapefillsolid --  Fixe la couleur pour le style courant de remplissage.
swf_shapelinesolid -- Fixe le style courant de ligne
swf_shapelineto -- Dessine une ligne
swf_shapemoveto -- Change la position courante
swf_showframe -- Affiche le frame courant
swf_startbutton -- Commence la définition d'un bouton
swf_startdoaction --  Commence la description d'une liste d'action pour la frame courante.
swf_startshape -- Commence une forme complexe
swf_startsymbol -- Définit un symbole
swf_textwidth -- Retourne la longueur d'une chaîne
swf_translate -- Translate la transformation courante
swf_viewport --  Sélectionne une nouvelle zone pour un dessin ultérieur.