Director 11 и Flash с AS 2 связи
У меня есть проект Director с 3 сценариями (2 сценария поведения и 1 сценарий фильма). У меня есть следующий код в моем сценарии фильма:
on startRecording ()
--do stuff
_movie.script["script2"].passGrade(75, 3, 4)
end
и в одном из моих сценариев поведения у меня есть следующее:
on passGrade (acc, dur, tim)
member("Assessment", "Assessment").displayGrade(acc, dur, tim)
end passGrade
где имя второго сценария поведения script2
и есть объект Flash на сцене под названием Assessment
который имеет метод ActionScript, называемый displayGrade
который принимает 3 числа в качестве входных данных.
У меня есть 2 вопроса. Во-первых, звонок -movie.script["script2"].passGrade(75, 3, 4)
не работает, и я не могу понять, почему. Разве мне нельзя звонить из сценария фильма в поведение? Или я не правильно делаю? Второй вопрос: как мне вызвать метод ActionScript? Сценарий определяется как поведение для объекта Flash, который называется Assessment
, но директор, похоже, не может найти метод.
Я использую Director 11 с HotFix 3, и объект Flash был скомпилирован для ActionScript 2.
2 ответа
Синтаксис для вызова сценария поведения должен быть:
script ("script2"). passGrade (75, 3, 4)
В качестве альтернативы вы можете прикрепить свое поведение к flash-спрайту (экземпляр вашей flash-памяти на сцене) и отправить вызов к sprite:
sendSprite (flashSpriteNumOrNameOrRef, #passGrade, 75, 3, 4)
Что касается вызова функции внутри flash-спрайта, вы делаете более или менее то же самое, но отправляете вызов flash-спрайту, а не члену:
sprite (flashSpriteNumOrNameOrRef).displayGrade (acc, dur, tim)
если поведение привязано к sprite: sprite(me.spriteNum).displayGrade(acc, dur, tim)
Сценарий фильма не может вызвать сценарий поведения, так как сценарий поведения может быть присоединен к более чем одному объекту, и что тогда?
Сценарий фильма является "статичным", а поведение - "динамическим". Вы должны ссылаться на функции поведения через экземпляр / спрайт объекта Flash.