![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
|
как вывести массив объектов (плитки) на экран, так чтобы мир из плиток прорисовывался постепенно, т.е. появляется первая плитка, через секунда вторая плитка и так в последовательности i,j
например: cellWidth=25;
function buildTiles()
{
depth=0;
for (var j = 1; j<=40; ++j)
{
for (var i = 1; i<=40; ++i)
{
if (j == 1)
{
tiles[i] = [];
}
depth++;
var name = "cell"+i+"_"+j;
path.attachMovie("tile", name, depth);
var clip = path[name];
tiles[i][j] = {x:i, y:y, z:j, depth:depth,clip:clip};
var x = (i)*cellWidth; // раскладка плиток от левого верхнего угла
var y = -(j)*cellWidth;
tiles[i][j].clip._x = x;
tiles[i][j].clip._y = y;
}
}
}
Последний раз редактировалось KUZEN; 13.12.2005 в 17:49. |
|
|||||
|
Ветеран форума
|
setInterval()
__________________
BestMasterиZация |
|
|||||
|
допустим так:
cellSize = 25;
rows = 5;
cols = 5;
target = this;
tileds = new Array();
currentID = 0;
numTileds = rows * cols;
for(var i=0; i<cols; i++)
{
tileds[i] = new Array();
for(var j=0; j<rows; j++)
{
var ceil = target.attachMovie("tile", "tile" + (i*cols + j), (i*cols + j));
tileds[i].push(seil);
ceil._x = j * cellSize;
ceil._y = i * cellSize;
ceil._width = ceil._height = cellSize;
ceil._visible = false;
}
}
function showTiled()
{
target["tile" + currentID]._visible = true;
if(++currentID == numTileds)
{
clearInterval(intervalID);
}
}
intervalID = setInterval(showTiled, 1000)
|
|
|||||
|
Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
|
(по предыдущему ответу): где разместить эту строку -
intervalID = setInterval(showTiled, 1000) в onEnterFrame или можно внутри другой функции? |
|
|||||
|
Регистрация: Nov 2003
Адрес: Север
Сообщений: 244
|
Цитата:
в onEnterFrame лучше не стОит ![]() можно в другой функции, если только она не вызывается несколько раз подряд (стоИт в onEnterFrame или типо того), потому что -- см. хэлп по SetInterval ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|