0
我对Flash很陌生,并且第一次发现了laggs问题...自从laggs启动时,它会抛出一个空引用错误,我认为它们属于一起。垃圾收集器闪存
我试过使用垃圾收集器,将对象设置为null并删除它们...到目前为止没有任何工作。请帮助。
//Handler for Collisions
if (active_ball_array[array_counter] != null)
{
//Collision:Magma
if (active_ball.hitTestObject(magma))
{
max_active_balls --;
active_ball.parent.removeChild(active_ball);
active_ball = null;
trace("Ball removed: "+max_active_balls);
}
//Collision:Vertical
if (active_ball.hitTestObject(roof) || active_ball.hitTestObject(p1) || active_ball.hitTestObject(p2) || active_ball.hitTestObject(p3) || active_ball.hitTestObject(p4))
{
if (animation_array[array_counter] == "crack2")
{
max_active_balls --;
active_ball.parent.removeChild(active_ball);
active_ball = null;
trace("Ball removed: "+max_active_balls);
}
else if(animation_array[array_counter] == "crack1")
{animation_array[array_counter]="crack2";}
else
{animation_array[array_counter]="crack1";}
mouse_target_hit_array[array_counter] = true;
ball_flightY_array[array_counter] *= -1;
}
//Collision:Horizontal
if (active_ball.hitTestObject(wall_L) || active_ball.hitTestObject(wall_R))
{
if (animation_array[array_counter] == "crack2")
{
max_active_balls --;
active_ball.parent.removeChild(active_ball);
active_ball = null;
trace("Ball removed: "+max_active_balls);
}
else if(animation_array[array_counter] == "crack1")
{animation_array[array_counter]="crack2";}
else
{animation_array[array_counter]="crack1";}
mouse_target_hit_array[array_counter] = true;
ball_flightX_array[array_counter] *= -1;
}
}//END active_ball Collision Handler
ball_animation(animation_array[array_counter]);
firm_distance_array[array_counter] = true;
array_counter ++;
System.gc();
Laggs是英文我想o.O也许它的“玩家俚语”我不知道。对不起,但你说得对。那么我已经找到了答案。问题是,每次碰撞发生的碰撞都是1000次,我解决了这个问题。但要知道垃圾收集器是一个默认的帮助也很多,谢谢。 – Fuby