Рандомизировать сохраненные видеоклипы на детей - PullRequest
1 голос
/ 06 марта 2012

Мне тяжело с некоторым кодом в ActionScript 3.0. Я не знаю, как рандомизировать видеоклипы, хранящиеся на дочернем элементе, и выбрать только 8 видеоклипов, в которых хранится 10 видеоклипов. Я надеюсь, что вы сможете помочь мне с этой проблемой. спасибо

Вот код:

    //start stage function
    this.mainmc.addEventListener (Event.ENTER_FRAME, setupStage1);
    this.waitingCounter=0;

//set up current stage
function setupStage1 (e:Event) {
    //wait for timeline
    if (this.waitingCounter<2) {
        this.waitingCounter++;
        //not ready yet, do nothing
        return;
    }
    //Start the timer
    timer.start();
    //hide hint
    this.mainmc.hintmc.visible=false;
    //hide star animation
    this.mainmc.starAnimation.visible=false;
    //listener for hint button
    this.mainmc.hintbut.addEventListener (MouseEvent.CLICK, showHint1);
    //create objects array
    this.obArr=[];
    //count the objects on stage
    for (var n=0; n<this.mainmc.numChildren; n++) {
        //get the children
        var ob=this.mainmc.getChildAt(n);
        //only take movie clips
        if (ob is MovieClip) {
            //only count the movie clips that have name declared
            if (ob.myname!=null) {
                //push to array
                this.obArr.push (MovieClip(ob));
            }
        }
    }

в коде выше, код будет хранить все фрагменты ролика, которые присутствуют на сцене. это хранит их в ребенке. каждые 10 мувиклипов имеют переменную myname.

1 Ответ

1 голос
/ 06 марта 2012

Если вы просто хотите случайным образом отсортировать элементы в массиве, используйте метод array.sort и в вашей функции сортировки просто создайте случайное число от 1 до 2. Если это 1, верните true, если 2, верните false,Вот фрагмент кода ActionScript 2 вместе со ссылкой на несколько учебных пособий:

var a:Array = new Array(“a”, “b”, “c”, “d”, “e”);
function shuffle(a,b):Number {
var num : Number = Math.round(Math.random()*2)-1;
return num;
}
var b:Array = a.sort(shuffle);
trace(b);

http://mrsteel.wordpress.com/2007/05/26/random-array-in-as2-as3-example-using-sort/

http://sierakowski.eu/list-of-tips/75-random-sort-function-comes-handy-when-building-applications-with-playlists.html

Это гораздо больше и большеуглубленное руководство:
http://active.tutsplus.com/tutorials/actionscript/quick-tip-how-to-randomly-shuffle-an-array-in-as3/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...