Modified tick() order to prevent unhappy business if a sprite removes
itself in tick(). git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1721 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: SpriteManager.java,v 1.35 2002/07/02 23:15:53 shaper Exp $
|
// $Id: SpriteManager.java,v 1.36 2002/09/20 02:12:33 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.media.sprite;
|
package com.threerings.media.sprite;
|
||||||
|
|
||||||
@@ -242,8 +242,10 @@ public class SpriteManager
|
|||||||
*/
|
*/
|
||||||
protected void tickSprites (long tickStamp)
|
protected void tickSprites (long tickStamp)
|
||||||
{
|
{
|
||||||
|
// we tick sprites in reverse order so as not to freak out if a
|
||||||
|
// sprite is removed as a result of our calling tick() on it
|
||||||
int size = _sprites.size();
|
int size = _sprites.size();
|
||||||
for (int ii = 0; ii < size; ii++) {
|
for (int ii = size-1; ii >= 0; ii++) {
|
||||||
Sprite sprite = (Sprite)_sprites.get(ii);
|
Sprite sprite = (Sprite)_sprites.get(ii);
|
||||||
sprite.tick(tickStamp);
|
sprite.tick(tickStamp);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user