gpt4 book ai didi

dart - StageXL 鼠标事件不起作用

转载 作者:行者123 更新时间:2023-12-03 03:02:30 26 4
gpt4 key购买 nike

我正在尝试在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com