PDA

Просмотр полной версии : _parent в тестовом поле в контейнере AS2 в AS3


ambuddy
24.10.2011, 15:05
Есть у нас игра в которой часто в текстовых полях используется переменная вида _parent.val. Все работает нормально, но столкнулись с проблемой. Если нашу флэшку загрузить в контейнер написанный на as3 (например, при размещении Вконтакте), то такая запись перестает работать. Работает только переменная вида val. Как это можно решить?

Пока сделали так... на уровне текстового поля добавили AS: val = _parent.val. И соответственно у текстового поля переменную выставили val. Но надо как-то все-таки добиться использования через _parent.

dark256
24.10.2011, 23:05
AC2 SWF вы грузите в АС3 SWF?
И хотите чтобы АС3 обертка управляла контентом в АС2?
Хм.... коряво криво и бессмысленно... Но если очень хочется - AС3 может общаться с подгруженонй АС2 через LocalConnection

То есть встраиваете в АС2 и АС3 интерфейс, через который и общаются флэшки.

ambuddy
25.10.2011, 12:24
Нет, мне совершенно не нужно взаимодействие. Просто игра на AS2, а загрузчик (или обертка) на AS3. Глюки в самой игре, когда она запускается в обертке на AS3.

Как выяснилось, виноват вовсе не _parent, а само текстовое поле:

http://s013.***********/i322/1110/14/643a6444d053.png

Если в кадре A задать переменную, а в кадре Б разместить динамический текстовик с указанной переменной, то при проигрывании анимации текстовик отобразит эту переменную, вместо того, что было в него вписано. Очень удобно использовать в коде, когда не знаешь, когда появится текстовое поле, чтобы не обращаться к нему по "instanceName.text =", да еще события привлекать или onEnterFrame.

Но вот при проигрывании этой флэшки на AS2 в обертке AS3, текстовое поле в кадре Б показывает не переменную заданную в кадре A, а то, что в него было вписано. При этом если в кадре Б написать код val = val;, то все показывается нормально. Вот такая хрень.