我添加了37个形状,这是添加mousedown和mouseover事件处理程序的正确方法。这37个形状的性能并不慢,但随着100个形状的增加而增加。
for(var i = 1;i<37;i++)
{
Independent_Bet_Shape = new createjs.Shape()
Independent_Bet_Shape.graphics.beginFill("#FFFFFF").drawRect(0,0,Independent_Bet_Width,Independent_Bet_Height);
Independent_Bet_Shape.alpha=0.8
Independent_Bet_Shape.cache(0,0,Independent_Bet_Width,Independent_Bet_Height)
Independent_Bet_Container.name = "Bet_Container"+i
Independent_Bet_Container.addChild(Independent_Bet_Shape)
s_oStage.addChild(Independent_Bet_Container)
if(i%3 == 0) //Splitting them in column for every 3 bets from bottom to top.
{
Current_Bet_X = Current_Bet_X+Independent_Bet_Width+0.1
Current_Bet_Y = Start_Bet_Y
for(var j = 0;j<3;j++)
{
Independent_Column_Bets_Array[columnCount][j] = j + (last_J + 1)
}
columnCount +=1
last_J = j * columnCount
}
}
for(var i = 1;i<37;i++)
{
Selection_Bet_Container = new createjs.Container();
Selection_Bet_Container.x = 5//-700
Selection_Bet_Container.y = 5//-210
Selection_Bets_Array.push(Selection_Bet_Container)
Independent_Bets_Array[i].addChild(Selection_Bet_Container)
Selection_Bet_Container.cache(0,0,Independent_Bet_Width,Independent_Bet_Height)
Independent_Chips_Array.push(Selection_Bet_Container)
}
for(var i = 1;i<37;i++)
{
Independent_Bets_Array[i].on("mousedown", Independent_TableBetFun);
Independent_Bets_Array[i].cursor='pointer'
}
答案 0 :(得分:1)
以下是快速概述:
你可以做很多事情来获得更好的表现:
查看以下示例:
stage.autoClear=false
通常,粒子系统和其他高性能内容将使用位图,甚至是SpriteSheets,它们可以让您通过一个图像显示一堆不同的元素,这将为您带来巨大的性能优势。
如果你能够移动到位图或缓存的内容,check out StageGL,它支持大多数事情(像掩码这样的东西将不起作用 - 因为它们使用向量)。
干杯,