v0.3.0b: improved item emitter effects, should be more efficient and less buggy

This commit is contained in:
Evan Debenham 2015-05-29 01:35:29 -04:00
parent 4896b12e2e
commit 770b14dccc
2 changed files with 12 additions and 4 deletions

View File

@ -33,6 +33,7 @@ public class DiscardedItemSprite extends ItemSprite {
public void drop() { public void drop() {
scale.set( 1 ); scale.set( 1 );
am = 1; am = 1;
if (emitter != null) emitter.killAndErase();
} }
@Override @Override

View File

@ -105,12 +105,18 @@ public class ItemSprite extends MovieClip {
dropInterval = 0; dropInterval = 0;
heap = null; heap = null;
if (emitter != null) emitter.revive(); if (emitter != null) {
emitter.killAndErase();
emitter = null;
}
} }
public void visible(boolean value){ public void visible(boolean value){
this.visible = value; this.visible = value;
if (emitter != null) emitter.visible = value; if (emitter != null && !visible){
emitter.killAndErase();
emitter = null;
}
} }
public PointF worldToCamera( int cell ) { public PointF worldToCamera( int cell ) {
@ -161,7 +167,7 @@ public class ItemSprite extends MovieClip {
public ItemSprite view(Item item){ public ItemSprite view(Item item){
view(item.image(), item.glowing()); view(item.image(), item.glowing());
if (this.emitter != null) this.emitter.on = false; if (this.emitter != null) this.emitter.killAndErase();
Emitter emitter = item.emitter(); Emitter emitter = item.emitter();
if (emitter != null && parent != null) { if (emitter != null && parent != null) {
emitter.pos( this ); emitter.pos( this );
@ -184,7 +190,8 @@ public class ItemSprite extends MovieClip {
@Override @Override
public void kill() { public void kill() {
super.kill(); super.kill();
if (emitter != null) emitter.on = false; if (emitter != null) emitter.killAndErase();
emitter = null;
} }
@Override @Override