Так что в основном вам нужен хороший старый метод duplicateMovieClip
из as2 в as3.Есть несколько способов достижения подобных результатов, но прежде всего я собираюсь предложить вам прочитать некоторые учебные пособия по Классам и Объектам и ООП вобщий для ActionScript3, например этот от kirupa .
Как только вы прочитаете, что должны быть более чем способны сделать трюк, но в любом случае, здесь есть пошаговое руководство, пытаясь упростить вещи:
Перейдите в свою библиотеку , щелкните правой кнопкой мыши по траве Символ , выберите Свойства и отметьте Export for ActionScript
и Export in frame 1
.Напишите Grass
как Имя класса , оставьте Базовый класс как есть (он скажет flash.display.MovieClip . Вы получите приглашениеговоря, что класс не может быть найден, пока все в порядке. Делайте это каждый раз, когда создаете объект Grass со строкой var my_mc:MovieClip = new Grass();
и вы addChild
выводите его на сцену (или в любой видеоклип, который уже находится наstage) вы создаете «копию» оригинального мувиклипа Grass.
Так, например, этот код создаст 50 экземпляров мувиклипа Grass:
import flash.display.MovieClip;
createGrass(50);
function createGrass(amount:uint):void
{
var grass_mc:MovieClip;
for(var i:uint = 1; i<= amount; i++)
{
grass_mc = new Grass();
grass_mc.name = "grass_mc"+i;
initGrass(grass_mc);
addChildAt(grass_mc,i);
}
}
//grass-Action Frames 1
function initGrass(mc:MovieClip):void
{
mc.height= Math.random()*70+5;
mc.width = Math.random()*15+5;
mc.x = Math.random()*stage.width;
mc.gotoAndPlay(Math.ceil(Math.random()*20));
}
Также кодвы пометили Grass-Action Frames 1 все в as2, я преобразовал его в as3 и записал его как функцию в вашу временную шкалу для чистоты, поэтому вам нужно будет удалить его изнутри травяной клип.
Надеюсь, это поможет!