Java源码示例:org.andengine.engine.handler.timer.ITimerCallback
示例1
@Override
public void updateGameScene() {
if (gameService.solvedPuzzle()) {
setOnSceneTouchListener(null);
gameService.detatch(this);
baseScene.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
baseScene.unregisterUpdateHandler(pTimerHandler);
onSolvedGame();
}
}));
}
scoreText.setText(String.valueOf(gameService.getLevel().getMovesCount()));
updateTiles(gameService.solvedPuzzle());
}
示例2
@Override
public void onSolvedGame() {
restartButton.setVisible(false);
Level level = gameService.getLevel();
final LevelResult levelResult = levelService.calculateLevelResult(level);
levelService.persistLevelResult(levelResult);
int nextLevelId = level.getId() + 1;
levelService.unlockLevel(nextLevelId);
this.leaveScene = true;
engine.registerUpdateHandler(new TimerHandler(1.5f, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
storyService.loadScoreScreen(levelResult);
}
}));
}
示例3
@Override
public void start() {
this.justPlayService = new JustPlayServiceImpl();
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
ResourcesManager.getInstance().loadGameSceneResources();
ResourcesManager.getInstance().loadJustPlayScoreResources();
justPlayGameScene = new JustPlayGameScene(justPlayService.getNextLevel());
setScene(justPlayGameScene);
}
}));
}
示例4
@Override
public void loadJustPlaySceneFromJustPlayScene(final TimeBasedGameService timeBasedGameService,
final JustPlayLevel justPlayLevel) {
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
justPlayGameScene.disposeScene();
justPlayGameScene = new JustPlayGameScene(timeBasedGameService, justPlayLevel);
setScene(justPlayGameScene);
}
}));
}
示例5
@Override
public void onBackKeyPressed() {
if (!leaveScene) {
leaveScene = true;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
storyService.loadMenuSceneFromJustPlayGameScene();
}
}));
}
}
示例6
@Override
public void onSolvedGame() {
timeBasedGameService.stop();
restartButton.setVisible(false);
if (!leaveScene) {
restartButton.setEnabled(false);
leaveScene = true;
engine.registerUpdateHandler(new TimerHandler(1f, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
storyService.loadJustPlayScoreSceneFromJustPlayScene(
new JustPlayLevelResult(timeBasedGameService.getRemainingTime(),
gameService.getLevel().getMovesCount(),
gameService.getLevel().getMinimumMovesToSolve()));
}
}));
}
}
示例7
@Override
public void updateJustPlayScene() {
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
leftTime.setText(String.valueOf(timeBasedGameService.getRemainingTime()));
if (timeBasedGameService.getRemainingTime() <= 5) {
backgroundFlash();
}
}
}));
if (timeBasedGameService.getRemainingTime() == 0 && !gameService.solvedPuzzle()) {
onLostGame();
}
}
示例8
private void addAnimation(final int[] currentScore) {
engine.registerUpdateHandler(new TimerHandler(0.01f, true, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
if (!leaveScene) {
if (currentScore[0] >= justPlayResult.getScore()) {
score.setText(String.valueOf(justPlayResult.getScore()));
engine.unregisterUpdateHandler(pTimerHandler);
} else {
currentScore[0]++;
score.setText(String.valueOf(currentScore[0]));
}
} else {
engine.unregisterUpdateHandler(pTimerHandler);
}
}
}));
registerEntityModifier(new MoveYModifier(0.15f, -camera.getHeight(), 0, EaseQuadInOut.getInstance()));
}
示例9
private void addAnimation(final int[] currentScore) {
float stepRange = 0.5f / (justPlayResult.getScore() - justPlayResult.getLastScore());
engine.registerUpdateHandler(new TimerHandler(stepRange, true, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
if (!leaveScene) {
if (currentScore[0] >= justPlayResult.getScore()) {
score.setText(String.valueOf(justPlayResult.getScore()));
engine.unregisterUpdateHandler(pTimerHandler);
} else {
currentScore[0]++;
score.setText(String.valueOf(currentScore[0]));
}
} else {
engine.unregisterUpdateHandler(pTimerHandler);
}
}
}));
registerEntityModifier(new MoveYModifier(0.15f, -camera.getHeight(), 0, EaseQuadInOut.getInstance()));
}
示例10
@Override
public void disposeScene() {
camera.setChaseEntity(null);
camera.setCenter(camera.getWidth() / 2, camera.getHeight() / 2);
rightArrow.setVisible(false);
leftArrow.setVisible(false);
camera.setHUD(null);
final LevelChoiceScene levelChoiceScene = this;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
arrowHud.detachChildren();
levelChoiceScene.detachChildren();
}
}));
}
示例11
@Override
public void loadGameSceneFromLevelChoiceScene(final Level level) {
choiceScene.disposeScene();
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
gameScene = new LevelModeGameScene(level);
setScene(gameScene);
choiceScene = null;
}
}));
}
示例12
public BaseOnScreenControl(final float pX, final float pY, final Camera pCamera, final ITextureRegion pControlBaseTextureRegion, final ITextureRegion pControlKnobTextureRegion, final float pTimeBetweenUpdates, final VertexBufferObjectManager pVertexBufferObjectManager, final IOnScreenControlListener pOnScreenControlListener) {
this.setCamera(pCamera);
this.mOnScreenControlListener = pOnScreenControlListener;
/* Create the control base. */
this.mControlBase = new Sprite(pX, pY, pControlBaseTextureRegion, pVertexBufferObjectManager) {
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
return BaseOnScreenControl.this.onHandleControlBaseTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
}
};
/* Create the control knob. */
this.mControlKnob = new Sprite(0, 0, pControlKnobTextureRegion, pVertexBufferObjectManager);
this.onHandleControlKnobReleased();
/* Register listeners and add objects to this HUD. */
this.setOnSceneTouchListener(this);
this.registerTouchArea(this.mControlBase);
this.registerUpdateHandler(new TimerHandler(pTimeBetweenUpdates, true, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
BaseOnScreenControl.this.mOnScreenControlListener.onControlChange(BaseOnScreenControl.this, BaseOnScreenControl.this.mControlValueX, BaseOnScreenControl.this.mControlValueY);
}
}));
this.attachChild(this.mControlBase);
this.mControlBase.attachChild(this.mControlKnob);
this.setTouchAreaBindingOnActionDownEnabled(true);
}
示例13
public ContinuousHoldDetector(final long pTriggerHoldMinimumMilliseconds, final float pTriggerHoldMaximumDistance, final float pTimeBetweenUpdates, final IHoldDetectorListener pHoldDetectorListener) {
super(pTriggerHoldMinimumMilliseconds, pTriggerHoldMaximumDistance, pHoldDetectorListener);
this.mTimerHandler = new TimerHandler(pTimeBetweenUpdates, true, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
ContinuousHoldDetector.this.fireListener();
}
});
}
示例14
public BaseOnScreenControl(final float pX, final float pY, final Camera pCamera, final ITextureRegion pControlBaseTextureRegion, final ITextureRegion pControlKnobTextureRegion, final float pTimeBetweenUpdates, final VertexBufferObjectManager pVertexBufferObjectManager, final IOnScreenControlListener pOnScreenControlListener) {
this.setCamera(pCamera);
this.mOnScreenControlListener = pOnScreenControlListener;
/* Create the control base. */
this.mControlBase = new Sprite(pX, pY, pControlBaseTextureRegion, pVertexBufferObjectManager) {
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
return BaseOnScreenControl.this.onHandleControlBaseTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
}
};
/* Create the control knob. */
this.mControlKnob = new Sprite(0, 0, pControlKnobTextureRegion, pVertexBufferObjectManager);
this.onHandleControlKnobReleased();
/* Register listeners and add objects to this HUD. */
this.setOnSceneTouchListener(this);
this.registerTouchArea(this.mControlBase);
this.registerUpdateHandler(new TimerHandler(pTimeBetweenUpdates, true, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
BaseOnScreenControl.this.mOnScreenControlListener.onControlChange(BaseOnScreenControl.this, BaseOnScreenControl.this.mControlValueX, BaseOnScreenControl.this.mControlValueY);
}
}));
this.attachChild(this.mControlBase);
this.attachChild(this.mControlKnob);
this.setTouchAreaBindingOnActionDownEnabled(true);
}
示例15
public ContinuousHoldDetector(final long pTriggerHoldMinimumMilliseconds, final float pTriggerHoldMaximumDistance, final float pTimeBetweenUpdates, final IHoldDetectorListener pHoldDetectorListener) {
super(pTriggerHoldMinimumMilliseconds, pTriggerHoldMaximumDistance, pHoldDetectorListener);
this.mTimerHandler = new TimerHandler(pTimeBetweenUpdates, true, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
ContinuousHoldDetector.this.fireListener();
}
});
}
示例16
private void dead(){
GAME_STATE = STATE_DEAD;
mTimer = new TimerHandler(1.6f, false, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
mScene.detachChild(mSceneManager.mYouSuckText);
restartGame();
mScene.unregisterUpdateHandler(mTimer);
}
});
mScene.registerUpdateHandler(mTimer);
}
示例17
private void updateTiles(final boolean finished) {
baseScene.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
detachChild(gameFieldView);
gameFieldView.addTiles(finished);
attachChild(gameFieldView);
}
}));
}
示例18
@Override
public void disposeScene() {
final GameScene gameScene = this;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
gameScene.detachChildren();
}
}));
}
示例19
@Override
public void start() {
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
ResourcesManager.getInstance().loadLevelCreditsSceneResources();
creditsScene = new CreditsScene();
setScene(creditsScene);
}
}));
}
示例20
@Override
public void disposeScene() {
final LoadingScene loadingScene = this;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
loadingScene.detachChildren();
}
}));
detachChildren();
}
示例21
@Override
public void disposeScene() {
final SettingsScene settingsScene = this;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
settingsScene.detachChildren();
}
}));
}
示例22
@Override
public void start() {
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
ResourcesManager.getInstance().loadSettingsScene();
settingsScene = new SettingsScene();
setScene(settingsScene);
}
}));
}
示例23
@Override
public void loadJustPlayScoreSceneFromJustPlayScene(final JustPlayLevelResult justPlayLevelResult) {
justPlayGameScene.disposeScene();
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
scoreScene = new JustPlayScoreScene(justPlayService.calculateResult(justPlayLevelResult));
setScene(scoreScene);
}
}));
}
示例24
@Override
public void loadJustPlayLostSceneFromJustPlayScene(final JustPlayLevelResult justPlayLevelResult) {
justPlayGameScene.disposeScene();
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
lostScene = new JustPlayLostScene(justPlayService.calculateResult(justPlayLevelResult));
setScene(lostScene);
}
}));
}
示例25
@Override
public void loadJustPlaySceneFromJustPlayScoreScene() {
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
justPlayGameScene = new JustPlayGameScene(justPlayService.getNextLevel());
setScene(justPlayGameScene);
}
}));
}
示例26
@Override
public void loadJustPlaySceneFromJustPlayLostScene() {
this.justPlayService = new JustPlayServiceImpl();
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
justPlayGameScene = new JustPlayGameScene(justPlayService.getNextLevel());
setScene(justPlayGameScene);
}
}));
}
示例27
@Override
public void disposeScene() {
final JustPlayLostScene scoreScreen = this;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
scoreScreen.detachChildren();
}
}));
}
示例28
@Override
public void disposeScene() {
final JustPlayScoreScene scoreScreen = this;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
scoreScreen.detachChildren();
}
}));
}
示例29
@Override
public void disposeScene() {
final ScoreScreen scoreScreen = this;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
scoreScreen.detachChildren();
}
}));
}
示例30
@Override
public void disposeScene() {
final TutorialScene tutorialScreen = this;
engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
engine.unregisterUpdateHandler(pTimerHandler);
tutorialScreen.detachChildren();
}
}));
}