Форум 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)
-   -   Помогите разобраться с массивами (http://www.flasher.ru/forum/showthread.php?t=123707)

Macydin 08.04.2009 15:44

Помогите разобраться с массивами
 
Всем привет.Помогите,кто может.Есть такая тема-три вертолета должны стрелять через рандомное время.На временную шкалу аттачится три мувика вертолета,идет добавление в массив,и потом они все должны стрелять,но стреляет только один.Уже вторую неделю сохну над этим,и никак.Подбросьте какие варианты

MrXoT 08.04.2009 15:48

хотя бы исходник выложи или код где вертолеты стреляют.

Macydin 08.04.2009 16:28

Я с телефона в интернете сижу,исходник не смогу приклеить,а код писать,ет долго будет.Может какие идеи есть,или мож кто видел че подобное?

iNils 08.04.2009 16:39

Цитата:

а код писать,ет долго будет
ctrl+c / ctrl+v

Zik. 08.04.2009 16:44

Цитата:

Сообщение от Macydin (Сообщение 811851)
Я с телефона в интернете сижу,исходник не смогу приклеить,а код писать,ет долго будет.Может какие идеи есть,или мож кто видел че подобное?

Проблемы ваши. Как мы должны вам помогать?

Macydin 08.04.2009 16:48

Код AS1/AS2:

stop();
init();
function init() {
        livesleft = 5;
        bullets = 10;
        shotTimer = 0;
        shot_timer=getTimer();
        score = 0;
        maxEn = 3;
        en_array = new Array();
        createEmptyMovieClip("enField_mc", 1);
        createEmptyMovieClip("shotsField_mc", 2);
        createEmptyMovieClip("shotsEn_mc", 3);
        enInit();
        shipInit();
}
function enInit() {
        enIndex = 0;
        while (enIndex<maxEn) {
                createEn();
        }
}
en_array.onEnterFrame = enShot();
 
function enShot() {
        numShotE = 0;
        if (getTimer()-shot_timer>2500) {
                shot_timer = getTimer();
                shotEn_mc = shotsEn_mc.attachMovie("shot_e", "shot_e"+numShotE, numShotE++, {_x:en_mc._x, _y:en_mc._y});
                shotEn_mc.velX = 15;        shotEn_mc.onEnterFrame = shotEnMove;
        }
}

Добавлено через 1 минуту
Это кусок кода,сдесь и заминка с аттачем пули

iNils 08.04.2009 16:54

Для оформления своего кода, надо использовать теги [code][/code].

Stargazer 08.04.2009 16:54

Распространённый случай, когда вы сохранили в массиве одну и ту же ссылку. Содержимое меняется, но ссылка остаётся одной и той же - в итоге во всех элементах массива остался один и тот же объект (как правило тот, который вы хотели присвоить последним).

Эту версию легко проверить трейсом.


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

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