Easy-Micro

ESPACEMEMBRE ActionScript
Astuces AS

Astuces ActionScript

ActionScript Affichage de la date et de l'heure (AS3)
Comme tout langage client, ActionScript utilise le paramétrage de la date et l'heure de l'ordinateur sur lequel il est exécuté.

Code dans la première image clé sur la scène (AS3)

const MOIS:Array = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");

const JOURS:Array = new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");

var date_txt:TextField = new TextField(); addChild(date_txt);
var heure_txt:TextField = new TextField();

heure_txt.y = 100;
addChild(heure_txt);

function reglage(valeur:uint):String {
var retour:String = "";
if(valeur<10) {
retour = "0"+valeur;
}
else { retour = String(valeur); }
return retour;
}

// on crée un objet Timer avec en paramètres le délai puis le nombre d'événements diffusés
var myTimer:Timer = new Timer( 1000, 0 ); //on souhaite exécuter une action toutes les 1000 millisecondes.
// A chaque appel du Timer (toutes les 1000 millisecondes),

function onAffichage( pEvt:TimerEvent ):void {
var temps:Date = new Date(); //création de l'instance de la classe Date
var annee:uint = temps.fullYear; //récupération de l'année
var mois:String = MOIS[temps.month]; //récupération du nom du mois dans le tableau MOIS
var numJour:uint = temps.date; //récupération du numéro du jour dans le mois
var jour:String = JOURS[temps.day]; //récupération du nom du jour dans le tableau JOURS
date_txt.text = jour + " " + numJour + " " + mois + " " + annee; //affichage du calendrier dans le champ de texte
var heure:String = reglage( temps.hours ); //récupération et transformation éventuelle des heures
var minute:String = reglage( temps.minutes ); //récupération et transformation éventuelle des minutes
var seconde:String = reglage( temps.seconds ); //récupération et transformation éventuelle des secondes
heure_txt.text = heure + ":" + minute + ":" + seconde;
}

//Toutes les 1000 millisecondes, le timer exécute l'événement TIMER et donc en réponse, la fonction onAffichage est exécutée.
myTimer.addEventListener(TimerEvent.TIMER, onAffichage);
myTimer.start(); //démarrage du timer

Source: Bases-as3.fr

ActionScript Déclenchement différé (AS3)
La classe Timer est l'interface des horloges Flash Player.

Syntaxe: Timer(délai, nombre d'éxécution)
- délai entre les exécutions : en millisecondes: 1000 pour 1 seconde, 0 pour répétition infinie
- nombre d'exécution de la fonction: 0 pour l'infini, 1 pour une fois...

// on crée un objet Timer
var montimer:Timer = new Timer(2000, 1);

// fonction "vasy" qui appel une autre fonction "bouge"
function vasy(pEvt):void {
addEventListener(Event.ENTER_FRAME, bouge);
}

// l'écouteur déclenchera l'action en fonction du timer
montimer.addEventListener(TimerEvent.TIMER, vasy);
montimer.start(); //démarrage du timer

function bouge(evt) { monclip.x +=5; }

ActionScript Un SWF sans l'IDE Flash
Comment réaliser une application flash sans son IDE1 - son Interface - et donc de façon gratuite? Pour cela, on utilise un ensemble de logiciels et plugins appelé "FAME" (pour "Flashout / Asdt / Mtasc / Eclipse").

-> Flashout est un plugin pour Eclipse.
-> Eclipse est un IDE multi-platformes (en Java).
-> MTASC est le compilateur ActionScript 2 open source.
-> Asdt (ActionScript Development Tool) est un plugin pour Eclipse
Attention, la JRE (Java Runtime Environement) est indispensable pour exécuter Eclipse.

Voir ci-dessous, deux sites Web au choix avec toutes les infos pour télécharger ces logiciels
flashkod.com
Le blog de Mike Meta

1 - IDE : Integrated Development Environment
      soit environnement de développement logiciel - plus d'infos sur WikipédiA


ActionScript Le défilement perpétuel (sans fin) (AS2)
L'idée est de faire en sorte qu'un clip qui se déplace sur la scène reste toujours visible. S'il sort par la droite de l'animation il réapparaît par la gauche et s'il sort par la gauche il réapparaît par la droite.

Pour cette astuce, vous avez besoin d'un clip quelconque (un ovni pourquoi pas ?)
Posez ce clip sur la scène et donner-lui le nom d'occurence "ovni"

Code dans la première image clé sur la scène (en AS2)

// abscissemax = Largeur scène (soit Stage.width) plus la moitié de l'ovni (ovni._width*0.5)
abscissemax = Stage.width + (ovni._width*0.5);

// l'abscisse minimale que pourra prendre notre ovni
abscissemin = -0.5*ovni._width;

ovni.onEnterFrame = function() {
// déplacement de l'ovni vers le gauche
this._x = this._x + 20;
// si la position de l'ovni est sup a l'abscisse max
if (this._x > abscissemax) { this._x = abscissemin; }

// pour le cas d'un déplacement vers la droite
else if ( this._x < abscissemin ) { this._x = abscissemax; }
};

Note : En AS3, "Stage.width" deviens "stage.stageWidth"

ActionScript Suprimer le clique obligatoire (AS2)
Les nouvelles versions du navigateur Internet Explorer obligent le visiteur à cliquer sur une animation pour en avoir le contrôle. Afin de résoudre ce problème on utilise le script SWFObject. C'est un petit script Javascript utilisé pour inclure un contenu swf dans une page HTML qui détecte la présence du lecteur Flash et évite le clique sur l'animation.

Pour l'utiliser, il suffit de télécharger le fichier swfobject.js (7Ko) et de coller les deux parties du code ci-dessous dans votre page html.

Appel du fichier SWFObject - A coller dans le head
<script type="text/javascript" src="swfobject.js"></script>

Appel de votre animation - A coller dans le body
<div id="flashcontent"></div>
<script type="text/javascript">
// SWFObject("chemin","id unique", "largeur", "hauteur", "version","couleur de fond");
var so = new SWFObject("movie.swf", "mymovie", "468", "60", "7", "#993300");
so.write("flashcontent");
</script>

Autre exemple d'appel de votre animation avec, en plus, des paramètres
Appel de votre animation - A coller dans le body
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100%", "7", "#993300");
so.addParam("quality", "low");
so.addParam("wmode", "transparent");
so.addParam("salign", "t");
so.write("flashcontent");
</script>


• Valeur possible de "salign"
l (left), r (right), t (top), b (bottom), tl (top left), tr (top right), bl (bottom left) et br (bottom right)

• Valeur possible de "wmode"
window : le film se joue dans son propre rectangle.
opaque : le film cache la page derrière lui.
transparent : page html visible derrière les parties transparentes du film (Attention: cela ralentie les performances de l'animation).

Pour en savoir plus sur les paramètres de l'objet SWF, rendez-vous sur www.Adobe.com. Pour toutes questions relative à SWFObject faites un saut sur Wiki Media Box

< Page précédente ACTIONSCRIPT Page suivante >