2009-01-30 9 views
0

J'ai un projet Director avec 3 scripts (2 comportements et 1 script de film). Je le code suivant dans mon scénario de film:Director 11 et Flash avec communication AS 2

on startRecording() 
    --do stuff 
    _movie.script["script2"].passGrade(75, 3, 4) 
end 

et dans un de mes scripts de comportement, je donne les résultats suivants:

on passGrade (acc, dur, tim) 
    member("Assessment", "Assessment").displayGrade(acc, dur, tim) 
end passGrade 

où le nom du second script de comportement est script2 et il y a un objet Flash sur la scène appelé Assessment qui a une méthode ActionScript appelée displayGrade qui prend 3 numéros en entrée.

J'ai 2 questions. Tout d'abord, l'appel -movie.script["script2"].passGrade(75, 3, 4) ne fonctionne pas, et je ne peux pas comprendre pourquoi. Ne suis-je pas autorisé à appeler d'un script de film à un comportement? Ou ne le fais-je pas correctement? La deuxième question est comment puis-je appeler la méthode ActionScript? Le script est défini comme un comportement de l'objet Flash, appelé Assessment, mais Director ne semble pas pouvoir localiser la méthode.

J'utilise Directeur 11 avec HotFix 3, et l'objet Flash a été compilé pour ActionScript 2.

Répondre

1

La syntaxe pour appeler le script de comportement devrait plutôt être:.

scénario

(le "SCRIPT2") passGrade (75, 3, 4)

Sinon, vous pouvez attacher votre comportement à l'image-objet du flash (par exemple de votre flash sur la scène), et envoyer l'appel à l'image-objet:

sendSprite (flashSpriteNumOrNameOrRef, #passGrade, 75, 3, 4)

a propos d'appeler une fonction à l'intérieur du sprite flash, vous faites plus ou moins la même chose, mais vous e l'appel à l'image-objet flash, pas le membre:

sprite

(flashSpriteNumOrNameOrRef) .displayGrade (acc, dur, tim)

si le comportement est attaché à l'image-objet: sprite (me.spriteNum). AfficherGrade (acc, dur, tim)

0

Un script de film ne peut pas appeler un script de comportement depuis le script bahavior peut être attaché à plus d'un objet, et maintenant quoi?

Le script de film est "statique" alors que le comportement est "dynamique". Vous devriez référer les fonctions de comportement à travers l'instance/sprite de l'objet flash.

Questions connexes