Я создаю программу, которая фактически является создателем спрайтов. Я очень новичок в AS3, но я знаю JQuery, JS, PHP и т. Д. Пройдя несколько этапов выбора элементов для настройки персонажа, вы должны иметь возможность загрузить конечный продукт с помощью fileReference (). Все работает, и я могу загрузить изображение в конце, но проблема в том, что я не могу снять все несколько видеоклипов на сцене, я могу захватить только один. Может быть, это поможет уточнить:
// add listener to the download button
dl_b.addEventListener(MouseEvent.CLICK, save_emote);
function save_emote(e:MouseEvent):void{
var bData:BitmapData = new BitmapData(50, 50);
var bData_eyes:BitmapData = new BitmapData(50, 50);
bData.draw(emptyMC_mc);
bData_eyes.draw(emptyMC_eyes);
// none of these worked, so they have been commented out
//bData.draw(emptyMC_a);
//bData.draw(emptyMC_mouth);
//bData.draw(emptyMC_hand_l);
//bData.draw(emptyMC_hand_r);
// possible to use two bitmapDatas to merge into single?
var byteArray:ByteArray = PNGEncoder.encode(bData);
var fileReference:FileReference = new FileReference();
fileReference.save(byteArray, 'myEmote.png');
replay_b.visible = true;
upload_b.visible = true;
back_b.visible = false;
user_color.clear();
user_eyes.clear();
user_mouth.clear();
user_a.clear();
hand_l.clear();
hand_r.clear();
mouth_coords.clear();
eye_coords.clear();
}
Я действительно понятия не имею, как мне заставить это работать. Я пытался использовать метод .merge (), я пробовал Googling уже несколько дней, и я попытался объединить их, создав два отдельных объекта bitmapData, а затем нарисовав один в другом. Ничто не помогло мне.
Если вы хотите взглянуть на программу и щелкнуть по ней, чтобы добраться до точки, в которой вы сохранили изображение, вы можете попробовать ее здесь: http://dl.dropbox.com/u/3666815/mote-machine-main.html
Если вы сохраните изображение в конце, вы увидите проблему под рукой. Я не смог найти хорошего ответа, поэтому, если кто-то может помочь, он будет очень признателен!
Заранее спасибо!
Редактировать: вот как я настроил его со Sprite в качестве контейнера, но теперь кажется, что он сохраняет пустой холст.
var emote:Sprite = new Sprite();
emote.addChild(emptyMC_mc);
emote.addChild(emptyMC_eyes);
emote.addChild(emptyMC_hand_l);
emote.addChild(emptyMC_hand_r);
emote.addChild(emptyMC_mouth);
if(user_a.data.accessory != "none"){
emote.addChild(emptyMC_a);
}
var bData:BitmapData = new BitmapData(80, 80);
bData.draw(emote);
Может ли быть так, что у каждого из видеоклипов, которые я добавляю к спрайту, есть собственные дети?