Easy-Micro

ESPACEMEMBRE ActionScript
Rotation

Propriété rotation

ActionScript Principe de la girouette (propriétés rotation et mouseX)

De nombreux scripts utilisent la propriété rotation. Cette dernière associée à la propriété mouseX (position de la souris en x) permet d'interagir avec l'utilisateur.

Réalisation
1 - Faire un clip qui ressemble à une girouette
2 - Mettre le clip sur la scène
3 - Saisissez ce script dans la première image clé du scénario:

Exemple en ActionScript 3

function bouge(evt:Event):void {
girouette.rotation += girouette.mouseX/10;
}
this.addEventListener(Event.ENTER_FRAME,bouge);

Girouette Note: le code this.rotation += this.mouseX/10; peut être traduit par this._rotation = this.rotation + this.mouseX/10; On divise ici la propriété mouseX par 10 afin de ralentir l'effet de rotation.

Petit plus pour le fun, copier/coller ce clip plusieurs fois sur la scène.

Autre exemple: faire tourner indéfiniment la girouette (AS3)
this.rotation += 5;

Remarque: la rotation d'un clip est fixé sur le centre du clip (la croix). Donc si le clip à son centre en bas, cela donne l'effet d'un point fixe.

Pour aller plus loin: Insérez dans la scène une zone de texte dynamique (texte classique : texte dynamique). Nommée-là "coordonnees".

Affichage des coordonnées de la souris (par rapport à la scène) en AS3

// déclaration d'une variable
var chiffre = 0;

// initialisation de la zone de texte "coordonnees"
coordonnees.text = "Coordonnées souris";

function bouge(evt:Event):void {

girouette.rotation += girouette.mouseX/10;

// récupération des coordonnées de la souris par rapport à la scène
chiffre = this.mouseX;
coordonnees.text = chiffre; // affichage
}

this.addEventListener(Event.ENTER_FRAME,bouge)

ActionScript HORLOGE (propriété rotation)

3 clips représentant 3 aiguilles (heures_mc, minutes_mc, secondes_mc) dans un clip HORLOGE_MC qui contien - en plus - un calque avec un cadran. Le clip HORLOGE_MC est sur la scène. Chacun de ses 3 clips à son centre de gravité en bas (croix du clip en bas du dessin). La vitesse de lecture du FLA est ramenée à 1/ips.

// HORLOGE (AS3)



function monhorloge(evt) {

var _lesheures = new Date();

if (_lesheures.getHours() > 12) {
var _heure = (_lesheures.getHours() - 12) / 12;
}
else {
_heure = _lesheures.getHours() / 12;
}

var _minutes = _lesheures.getMinutes() / 60;
var _secondes = (_lesheures.getSeconds() + _lesheures.getMilliseconds() / 1000) / 60;

horloge_mc.heures_mc.rotation = _heure * 360 + _minutes * 30;
horloge_mc.minutes_mc.rotation = _minutes * 360 + _secondes * 6;
horloge_mc.secondes_mc.rotation = _secondes * 360;
}

addEventListener(Event.ENTER_FRAME,monhorloge);

// Script réalisé en coopération avec Hervé Destainville (Juillet 2010)


< Page précédente ACTIONSCRIPT Page suivante >