안녕하세요, 내 스프라이트가 점점 색이 바래지 않도록하는 데 문제가 있습니다. 필자는 paralell 엔티티 수정자를 사용하고, 스케일링 및 페이딩 후에 스프라이트가 새로운 X 및 Y 좌표를 가져오고 페이드 인하 고 다시 스케일합니다. 그것은 작동하지 않으며 나는 그것이 onUpdate 메소드와 관련이있을 것이라고 생각합니다.AndEngine에서 스프라이트 살생
XOsprite = new Sprite(x, y, XO, engine.getVertexBufferObjectManager()) {
@Override
public boolean onAreaTouched(final TouchEvent te, final float xVal,
final float yVal) {
XOsprite.registerEntityModifier(downOut); //kill sprite
isKilled = true;
XOsprite.registerUpdateHandler(new IUpdateHandler() {
@Override
public void reset() {
// TODO Auto-generated method stub
}
@Override
public void onUpdate(float pSecondsElapsed) {
// TODO Auto-generated method stub
totalElapsedTime += pSecondsElapsed;
if(totalElapsedTime >= 3.0f){
BaseGameActivity gameActivity = (BaseGameActivity) activity;
gameActivity.runOnUpdateThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
if(isKilled){
reviveSprite();
isKilled = false;
}
}
});
}
//reset();
}
});
return true;
}
};
XOsprite.registerEntityModifier(inUp);
gameScene.attachChild(XOsprite);
gameScene.registerTouchArea(XOsprite);
return gameScene;
}
-edit- 더 많은 코드
public void reviveSprite(){
setSprites();
XOsprite.unregisterEntityModifier(downOut);
XOsprite.registerEntityModifier(inUp);
}
public void setSprites(){
if (rand.nextInt(2) == 0) {
XO = X;
} else {
XO = O;
}
x = rand.nextInt(MainActivity.CAM_WIDTH);
y = rand.nextInt(MainActivity.CAM_HEIGHT);
}
을 할 수 있도록 필요 없습니다 이 실수를 많이하므로 분명히 진술을 제공하십시오 abo 너 뭐하려고하는거야? – Siddharth