mardi 24 juin 2008
Memo AS3
Par Trân Nguyen Ngoc, mardi 24 juin 2008 à 16:20 :: programmation
Pour attacher des movies clips à la scène avec des noms dynamiquement crées :
var dynamicClass:String = "btn" + i; var classRef:Class = getDefinitionByName(dynamicClass) as Class; var page:MovieClip = new classRef(); addChild(page);Désormais, en AS3, si une sprite est placé au-dessus d'un bouton, la zone cliquable du bouton n'est plus active. Pour le rendre à nouveau cliquable, il faut changer la propriété mouseEnabled de la sprite qui la recouvre :
mySprite.mouseEnabled = false;Xml
Pour faire une boucle avec des noeuds xml, on n'utilise pas la propriété xml.length mais la fonction du même nom !
for (i= 0 ; i < xml.length() ; i++) {
...
}
objet SoundPour loader un son dans la bibliothèque (feu attachMovie)
var mySound:mySoundId = new mySoundId(); // où mySoundId et le nom de liaison du son dans la bibliothèquePour loader un son et lui appliquer un volume
var mySound:mySoundId = new mySoundId(); var channel:SoundChannel = new SoundChannel(); var transform:SoundTransform = new SoundTransform(0.5); // (volume à 50%) channel = mySound.play(0, 0, transform);Pour autoriser au flash de lire sur n'importe quel domaine
import flash.system.Security;
Security.allowDomain("*");
Pour loader une librairie externe
var ldr:Loader = new Loader();
var url:String = "loaded.swf";
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
addChild(ldr);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
function completeHandler(event:Event):void {
var domain:ApplicationDomain = ldr.contentLoaderInfo.applicationDomain;
// MonClip est le nom de la classe que l'on veut atteindre dans le clip loadé
var MonClip:Class = domain.getDefinition("MonClip") as Class;
trace(domain.getDefinition("MonClip"));
var monClip = new MonClip();
addChild(monClip);
}







