![]() 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); ![]() 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) ![]() 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) |