0

我对 StageXL 真的很陌生,所以仍然在基本概念上苦苦挣扎。我有以下来自 Stagehand web-stagexl 的代码:

import 'dart:async';
import 'dart:html' as html;
import 'package:stagexl/stagexl.dart';
import 'dart:math';

Future<Null> main() async {
  var canvas = html.querySelector('#stage');
  var stage = new Stage(canvas, width: 1280, height: 800);

  var renderLoop = new RenderLoop();
  renderLoop.addStage(stage);

  var resourceManager = new ResourceManager();
  resourceManager.addBitmapData("dart", "images/dart@1x.png");
  await resourceManager.load();
  var logoData = resourceManager.getBitmapData("dart");

  var logo = new Sprite();
  logo.addChild(new Bitmap(logoData));
  stage.addChild(logo);

  var tween = renderLoop.juggler.addTween(logo, 3, Transition.easeOutBounce);
// var tween = stage.juggler... works just as well
  tween.animate.y.to(800 / 2);
}

在底部,我们可以使用 var tween=stage.juggler 或 renderLoop.juggler 并且代码的行为似乎相同。文档可以指向任何一种方式,但我的理解是 renderLoop 是一个流,而不是一个节点,所以 stage.juggler 对我来说更有意义。使用上是否有区别,是否存在其他情况下一个人比​​另一个人更喜欢?谢谢。

4

1 回答 1

1

您可以使用 Stage.juggler 或 RenderLoop.juggler。RenderLoop 中的 Juggler 由浏览器驱动(参见 RequestAnimationFrame),Stage 中的 Juggler 由 RenderLoop.juggler 驱动。所以 Stage.juggler 更多的是为了您的方便。您还可以创建自己的 Juggler 实例并将该实例(因为 Juggler 实现 Animatable 接口)添加到 RenderLoop.juggler。

您可以在这里了解更多信息:http:
//www.stagexl.org/docs/wiki-articles.html?article=juggler

于 2017-12-04T04:34:35.923 回答