Странное поведение SWF AS2, ломающегося при загрузке в AS3 SWF, может кто-нибудь объяснить, почему это так? - PullRequest
0 голосов
/ 05 февраля 2010

Идея, которую я использую - это flash cs3. as2 swf содержит код анимации с использованием mx-переходов. когда я удаляю этот код анимации и жесткий код на энтерфрейме, кажется, нет проблем. afaik avm2 должен полностью поддерживать код as2 и as1. поэтому я не могу понять, почему это несоответствие при кодировании простой анимации в as2 SWF. Я сделал сообщение на форумах ActionScript, надеясь пролить свет на эту проблему. с очень простым приложением, иллюстрирующим проблему http://www.actionscript.org/forums/showthread.php3?t=229901 ps 2 swf не взаимодействуют друг с другом. код в файле as2

//~~~~~~~~~~~~~~~~~~~~~~~ with tween class
import mx.transitions.*;
import mx.transitions.easing.*;

function tweenMe(mc, target) {
myTween = new Tween(mc, "_x", Regular.easeOut, mc._x, target, 2, true);
}
tweenMe(mc, 700);

//~~~~~~~~~~~~~~~~~~~~~~~ Simple Hard coded control

/*this.onEnterFrame = function() {
    mc._x += (700-mc._x)/10;
};
*/

Ответы [ 2 ]

0 голосов
/ 24 февраля 2011

единственный убедительный ответ, с которым я столкнулся в связи с этой проблемой, был

http://www.actionscript.org/forums/showpost.php3?p=968206&postcount=9

в зависимости от ситуации может быть проще просто перекодировать бит кода неисправности.

0 голосов
/ 05 февраля 2010

Не думаю, что вы можете использовать _x при использовании класса AS3 Tween. Ваш SWF-файл Actionscript-2 будет рассматриваться как объект AVM1Movie (потомки DisplayObject). А в ActionScript-3 DisplayObject не имеет свойства _x. Поэтому попробуйте использовать:

function tweenMe(mc, target) {
myTween = new Tween(mc, "x", Regular.easeOut, mc.x, target, 2, true);
}
tweenMe(mc, 700);
Документация ActionScript-3 гласит: The AVM1Movie object can use methods and properties inherited from the DisplayObject class (such as x, y, width, and so on). However, no interoperability (such as calling methods or using parameters) between the AVM1Movie object and AVM2 objects is allowed.
...