这是一个关于如何在 dart 中进行“多线程”的 dart 新手问题。
(对不起,我是一个老 Java 开发人员......)
所以我有这种代码(见下文),但由于重新创建 gui 的成本很高,所以我想推迟它,而不是在 _onWindowResize() 中重新创建 gui,我想在大小有的时候启动一个线程来执行此操作稳定了一段时间。例如一秒钟。
如果线程已经启动,则什么也不做。(顺便说一句,StageXL 很酷....)
(这也将修复 _onWindowResize() 被 dart:html 调用两次的错误......)
...
html.window.onResize.listen((e) => _onWindowResize());
}
_createGui() {
var shape = new Shape();
shape.graphics.ellipse(html.window.innerWidth / 2, html.window.innerHeight / 2, html.window.innerWidth / 4, html.window.innerHeight / 4);
shape.graphics.fillColor(Color.Red);
stage.addChild(shape);
}
void _onWindowResize() {
print("New window size ${html.window.innerWidth}x${html.window.innerHeight}");
stage = new Stage('stage', canvas);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
renderLoop = new RenderLoop();
renderLoop.addStage(stage);
juggler = renderLoop.juggler;
_createGui();
}