2017-12-03 6 views
0

저는 StageXL을 처음 접했기 때문에 여전히 기본 개념에 어려움을 겪고 있습니다. 내가 무대 담당 원 웹 - stagexl에서 다음 코드가 있습니다StageXL에서 Juggler를 사용할 때 RenderLoop과 Stage

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/[email protected]"); 
    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 트윈 = stage.juggler 또는 renderLoop.juggler하고 코드 중 하나를 보인다 사용할 수 있습니다. 설명서는 어느쪽으로 든 가리킬 수 있지만, 내 이해는 renderLoop이 노드가 아니라 스트림이므로, stage.juggler가 나에게 더 의미가 있습니다. 사용상의 차이가 있습니까? 또 하나가 다른 것을 선호하는 경우가 있습니까? 감사.

답변

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