РЕДАКТИРОВАТЬ: Это стало слишком сложно, я перенесу этот вопрос на другой вопрос и поставлю там мой новый код! Пожалуйста, игнорируйте код этого, потому что он логически некорректен. (Пожалуйста, проголосуйте, чтобы закрыть вопрос, поскольку это не имеет смысла)
Привет
Я инициализирую следующие циклы в своем коде. Код написан с использованием mootools.
CANVAS.init({ canvasElement : 'canvas', interactive : true });
var itemlayer = CANVAS.layers.add({ id : 'items' });
for(var j = 0; j < 5; j++)
{
for(var i = 0; i < 5; i++)
{
itemlayer.add({
id : 'item-'+i + '-' + j,
x : 51 * i,
y : 51 * j,
w : 50,
h : 50,
state : 'normal',
interactive : true,
colors : { normal : '#f00', hover : '#00f' },
events : {
onDraw : function(ctx){
ctx.fillStyle = this.colors[this.state];
ctx.fillRect(this.x,this.y,this.w,this.h);
this.setDims(this.x,this.y,this.w,this.h);
}
}
});
}
}
/* object that hold the information whether a certain object
* is in animation right now or not. This is used to prevent
* multiple Cmorph instances working on the same item
* */
var locked= {};
for(i= 0; i<6; i++)
for(j= 0; j<6; j++)
{
itemid = 'item-'+i+'-'+j;
itemid : false,
}
//then once I have done that
//animate all items with the function given below
function animate()
{
for(i=0;i<6;i++)
for(j=0;j<6;j++)
{
itemid = 'item-'+i+'-'+j;
if(locked.itemid)return; //guess even this will return errors!
locked.itemid = true;
var item = CANVAS.layers.get('myLayer').get(itemid);
new Cmorph(item,{
duration : 1000,
transition : 'bounce:out',
onComplete : function()
{
locked.itemid = false;
}
}
).morph({
y : (item.y == 50?375:50),
scale : (item.scale == 1?2:1)
});
}
}
CANVAS.addThread(new Thread({
id : 'myThread',
onExec : function(){
CANVAS.clear().draw();
}
}));
Верен ли мой синтаксис и будут ли заблокированы все идентификаторы или будут ошибки. Также, если я делаю ошибку, не могли бы вы исправить меня. Я знаю, что это очень глупое сомнение, но, пожалуйста, потерпите меня! спасибо:)