2012-03-03 7 views
4

私はAndEngineで遊んでいます。読書用のドキュメントがないので、ここでは暗闇の中で撮影しています。エンティティ・モディファイアが機能しない(AndEngine/Android)

最後にスプラッシュ画面が表示されました。今私はそれにいくつかのトランジションを追加しようとしていますが、ここで運がありません。ここでは、コードがあります:

@Override 
public void onLoadComplete() { 
    mHandler.postDelayed(fadeAway, 2500); 
} 

protected Runnable fadeAway = new Runnable() { 
    @Override 
    public void run() { 
    // The only child of the scene is our splash sprite 
    scene.getLastChild().registerEntityModifier(new SequenceEntityModifier(
     new ScaleModifier(2500, 100.0f, 200.0f), 
     new RotationModifier(2500, 0.0f, 78.0f), 
     new AlphaModifier(2500, 1.0f, 0.0f) 
    )); 
    } 
}; 

何が起こることは(2.5秒を待っている)postDelayed()実行細かいことですが、その後、すべてがすぐに黒くなります。私が期待していたのは、スプラッシュ画面が200%に拡大され、次に78度回転してからフェードアウトしなければならないということでしたが、すべてが黒くなっているので、修飾子の期間が効かないと感じます。

ここに明らかなエラーはありますか?

EDIT:さてさて、エラーが見つかりました:1)どうやらpDuration(最初の引数)は以下のように他のどこでも秒ではなく、ミリ秒単位で2ことになっている)ScaleModifierでは()、1.0Fので、元のサイズに等しいです。その引数は期待どおりのパーセントではありません。

(炎はありませんが、ドキュメンテーションなしでこのライブラリを使用する方法を人々がどのように管理していたかは本当に驚いています。 ?。動作するようになっています方法を見つけるためにすべてを-engineered著者は、このライブラリーのためにこの仕事の膨大な量を入れて、決して任意のドキュメントを提供信じることはできません)

+2

はい、不足しているドキュメントは本当に使いにくいものです。ここでは例とフォーラムの投稿が重要です。 – Jan

答えて

0

あなたのエラーは以下の通りである:

  • をAndEngineの期間はすべて秒です。
  • 通常の縮尺は1.0fではなく、100.0fです。
  • Android Handlerは必要ありません。あなたは、エンジンやその他のAndEngineのもののonUpdateメソッドで作業を遅らせる必要があります。
  • 他の場所にない更新スレッドでのみアニメーションを適用する必要があります。 mEngine.runOnUpdateThread(...)
関連する問題