dart - StageXL 鼠标事件不起作用

标签 dart stagexl

我正在尝试在 Canvas 上创建一个使用 Dart 和 StageXL 对 MouseClick 事件使用react的框。我的代码如下:

import 'dart:html' as html;    
import 'package:stagexl/stagexl.dart' as sxl;

void main() {

  var canvas = html.querySelector('#canvas');
  setCanvasFullScreen(canvas);

  var stage = new sxl.Stage(canvas);
  var renderLoop = new sxl.RenderLoop();
  renderLoop.addStage(stage);

  var rect = new sxl.Shape();
  rect.graphics.rect(80, 50, 100, 100);
  rect.graphics.fillColor(sxl.Color.Crimson);

//  rect.on(sxl.MouseEvent.CLICK).listen(react);
  rect.addEventListener(sxl.MouseEvent.CLICK, react);
  stage.addChild(rect);

}//end main

void react(sxl.MouseEvent event){
  var w = html.window;
  w.alert("I'm clicked!");
}//end onClick


void setCanvasFullScreen(canv) {
  var w = html.window;
//  w.alert("Holla!!!");
  int _width = w.innerWidth as int;
  int _height = w.innerHeight as int;
  canv.setAttribute('width', '$_width');
  canv.setAttribute('height', '$_height');
}

我都试过了on(MouseEvent.CLICK).listen(react);addEventListener(MouseEvent.CLICK, react);没有成功就没有反应。我正在使用 Dart Editor & SDK 版本 1.8.5 并在默认的 Dartium 浏览器上进行调试。

任何帮助表示赞赏。

最佳答案

在互联网上搜索后,我发现了这个 link在 StageXL 论坛上正确解释了为什么它不起作用。所以我改变了这一行:

var rect = new sxl.Shape();

到:
var rect = new sxl.Sprite();

它 react 很好。
希望这对某人有帮助。

关于dart - StageXL 鼠标事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28365526/

相关文章:

在 Flutter 中使用 Cookie 发布请求

datetime - 如何使用 SelectableDayPredicate 将我的 DatePicker 限制为仅工作日?

user-interface - flutter 如何创建具有以下内容的容器,以及如何在窗口小部件/容器内部绘制自定义边框

flutter - 如何防止多次点击一个手势?

dart - 很难用 eclipse 插件建立一个 dart 项目

dart - 如何不使用线程

flutter ;类 AMSupportURLConnectionDelegate 在两者中都实现了 ?? (0x1eb0e27a0) 和 ?? (0x1162f02b8)

dart - stagexl帧率独立逻辑

dart - 使用StageXL的饼图?

dart - 有没有办法判断当前是否正在播放声音?