实体修改器不起作用(AndEngine / Android)

时间:2012-03-03 22:40:18

标签: android andengine

我正在玩AndEngine。没有可供阅读的文档,所以我只是在黑暗中拍摄。

终于有一个闪屏显示。现在我正在尝试添加一些过渡,但这里没有运气。这是代码:

@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)
    ));
  }
};

postDelayed()运行正常(等待2.5秒)会发生什么,但随后一切都会立即变黑。我期待的是,启动画面应放大到200%,然后旋转78度,然后淡出,但由于一切都变黑,感觉修改器的持续时间不起作用。

这里有明显的错误吗?

编辑:好的,发现错误:1)显然pDuration(第一个参数)应该是以秒为单位,而不是其他地方的毫秒2)在ScaleModifier()中,1.0f等于原始大小,因此参数不是预期的百分比。

(没有火焰,但我真的很惊讶人们如何在没有任何文档的情况下学会如何使用这个库。在整个源代码中没有一个注释或注释。人们试错了 - 反向 - 设计一切以了解它应该如何工作?不能相信作者为这个库投入了大量的工作,并且从未提供过任何文档。)

1 个答案:

答案 0 :(得分:0)

您的错误如下:

  • AndEngine中的所有持续时间都在几秒钟内。
  • 正常比例为1.0f而非100.0f
  • 不需要Android Handler。您应该使用引擎的onUpdate方法或其他AndEngine内容延迟工作。
  • 您应该仅在更新线程中应用动画而不是其他任何地方。 mEngine.runOnUpdateThread(...)