Форум 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=87665)

Annihilator 09.11.2006 14:30

При аттаче в цикле одного мувика отрисовываются не все копии
 
Второй день бьюсь со транным глюком.
Есть матрица из ноликов и единичек. Перебираю её элементы в цикле и аттачу мувик из библиотеки. Все копии создаются, но вот отрисовываются не все, причем узор получается каждый раз один и тот же.
Вот файл

Вот код:
Код:

this._lockroot = true;
var mapstring="1|1|1|1|1|1|1|1|1|1|1|1|1***1|1|1|1|1|1|1|1|1|1|1|1|1***1|1|1|1|1|1|1|1|1|1|1|1|1***1|1|1|1|1|1|1|1|1|1|1|1|1***1|1|1|1|1|1|1|1|1|1|1|1|1***0|0|1|0|0|0|0|0|0|0|0|0|0***0|0|0|0|0|0|0|0|0|0|0|0|0***0|0|0|0|0|0|0|0|0|0|0|0|0***0|0|0|0|0|0|0|0|0|0|0|0|0***0|0|0|0|0|0|0|0|0|0|0|0|0";
var dx=0;
var dy=0;
var counter=1;
var depth=0;
pole.map=new Array();
pole.swapDepths(10);
pole.mh=10;
pole.mw=13;
pole.createEmptyMovieClip("grid", 1000);

function drawGrid(){
        for (var i=0; i<_root.pole.mh; i++) {
                for (var j=0; j<_root.pole.mw; j++) {
                        var a=_root.pole.grid.attachMovie("gridcell", "cell_"+i+"_"+j, j*(i+1), {_x:j*60, _y:i*60});
                        updateAfterEvent();
                        _root.pole.grid["cell_"+i+"_"+j].ifield.text=i;
                        _root.pole.grid["cell_"+i+"_"+j].jfield.text=j;
                        if (_root.pole.map[i][j]==1) {
                                _root.pole.grid["cell_"+i+"_"+j].gotoAndStop("on");
                        }
                        trace(a);
                }
        }
}
var arr_tmp:Array=mapstring.split("***");
for(var i=0;i<arr_tmp.length;i++){
        _root.pole.map[i]=new Array();
        _root.pole.map[i]=arr_tmp[i].split("|");
}

drawGrid();
stop();

Помогите разобраться, ибо проект стоИт из-за этой хренотени :mad:

miramax 09.11.2006 15:21

Ого сколько кода, это же должна быть сетка?
Код:

var a=_root.pole.grid.attachMovie("gridcell", "cell_"+i+"_"+j, j*(i+1), {_x:j*60, _y:i*60});
Мне не нравится эта строчка, а именно то как ты распределил уровни.
Вместо j*(i+1) надо написать что -то типа
j+i*ширина_поля
или высота поля, смотря что там у тебя в цикле.
Это не глюк! Это твоя ошибка.

Annihilator 09.11.2006 17:14

miramax - спасибо огромное. У меня было подозрение, что это связано с глубиной, но как я не менял формулу глубины через i и j, все равно какие-нибудь копии не показывались. сделал глубину через отдельную переменную (типа depth++) и всё отобразилось как надо.
Уря :victory:


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

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