Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Неправильный duplicateMovieClip (http://www.flasher.ru/forum/showthread.php?t=117686)

flazher 03.11.2008 09:58

Неправильный duplicateMovieClip
 
Есть код:
Код:

_root.onEnterFrame = function() {
        count = random(30);
        if(count == 25) {
                for(var i = 0;i < 2;++i) {
                duplicateMovieClip("ball","newball" + i,100);
                setProperty("newball" + i,_x,random(550));
                setProperty("newball" + i,_y,random(400));
        }
        }
}

То есть на сцене есть клип ball, и через некоторые промежутки времени должна появляться копия этого клипа.
Проблема в том, что копия получается только один раз, затем она просто начинает перемещаться из места на место. Что я делаю не так?

scarbo 03.11.2008 11:31

Цитата:

duplicateMovieClip("ball","newball" + i,100)
Глубина одна и таже.
А по-хорошему должно быть так:
Код:

var i = 0;
function double() {
        var X:Number = Math.random()*550;
        var Y:Number = Math.random()*440;
        ball_mc.duplicateMovieClip("ball_mc"+i,i);
        _root["ball_mc"+i]._x = X
        _root["ball_mc"+i]._y = Y
        i++;
}
var Time = setInterval(double, 1000);

И ни каких заумностей не надо

flazher 03.11.2008 11:58

Спасибо

Alkaz 03.11.2008 12:37

а еще лучше наверное так:
Код:

function double() {
        var new_mc:MovieClip = ball_mc.duplicateMovieClip("ball_mc"+i,i);
        new_mc._x = Math.random()*550;
        new_mc._y = Math.random()*440;
        i++;
}


scarbo 03.11.2008 12:50

одинаково

Alkaz 03.11.2008 13:16

одинаково обращаться к элементу массива и по ссылке?

flazher 03.11.2008 14:08

Alkaz, код scarbo работает, не нужно мне никаких прочих изощрений.

Wolsh 03.11.2008 14:09

Нет, scarbo, не одинаково. Учитесь думать и писать чисто. Привыкайте избавлять процессор от ненужных операций, а свои глаза и мозги - от ненужного напряжения. Когда-нибудь Вы напишите БОЛЬШУЮ программу или игру. И все эти "мелочи" вдруг начнут иметь БОЛЬШОЕ значение))))))

scarbo 03.11.2008 14:52

to Wolsh,спасибо,я знаю,что ссылка лучше(мы кстати это уже с Вами обсуждали,помните про блок сигарет?)
Но блин,у меня какая-то на дупликэйт привычка дурная,вот так через массив писать.Когда пустые мувики пишу в цикле,то всегда через переменную.
Еще раз спасибо,буду избавляться.


Часовой пояс GMT +4, время: 11:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.