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.

Другие вопросы по тегам