Я работаю над рекламой SmartVersioning, используя MediaMind с использованием ActionScript 2 (издатель не допускает AS3).
Пропуск, как это реализовано - в основном то, что у меня есть, это коллекция MovieClips на основная временная шкала , содержащая заменяемое изображение (через службу Smart Versioning).Вы можете определять объекты как объекты Smart Versioning только в том случае, если они находятся на основной временной шкале.
Я использую BitmapData для использования ресурсов на основной временной шкале в качестве источника графики для всей анимации..
Должно быть так же просто, как:
import flash.display.BitmapData;
var bmd:BitmapData = new BitmapData(143, 230, true, 0);
bmd.draw(_root.person1);
attachBitmap(bmd, getNextHighestDepth());
Однако существует задержка при загрузке активов Smart Versioning (т. Е. Изображений, необходимых для анимации) - так что это может привести к сбою кода вышеесли ресурс не загружен вовремя.
Затем я изменил свой код выше:
import flash.display.BitmapData;
var bmd:BitmapData = new BitmapData(143, 230, true, 0);
onEnterFrame = function():Void
{
bmd.draw(_root.person1);
}
attachBitmap(bmd, getNextHighestDepth());
Работает, но имеет очевидные проблемы и довольно плохое кодирование.Итак, есть ли способ сделать проверку, чтобы увидеть, была ли нарисована какая-либо графика в MovieClip, внутри которой выполняется этот код?Что-то вроде:
onEnterFrame = function():Void
{
if(<hasNoGraphicsYet>)
bmd.draw(_root.person1);
else
delete(onEnterFrame);
}