dart - SpriteWidget:应用程序不响应 NodeWithSize 中的 handleEvent
问题描述
我创建了一个小部件,添加了一些精灵并制作了一些动画。我想添加一些用户交互,但handelEvent
方法不起作用。我已经设置userInteractionEnabled
为true
.
我尝试调试并在方法中放置一个断点,handleEvent
但是当我触摸屏幕时它并没有停止。
class MainSceneBackgroundNode extends NodeWithSize {
Sprite _logo;
RepeatedImage _background;
GuyImage _guy;
int _i = 0;
int _j = 0;
int _dir = -1;
MainSceneBackgroundNode() : super(new Size(2560.0, 1440.0)) {
userInteractionEnabled = true;
handleMultiplePointers = false;
// Add background
_background = new RepeatedImage(_imageMap["assets/background.png"]);
addChild(_background);
_guy = new GuyImage();
addChild(_guy);
_logo = new Sprite.fromImage(_imageMap["assets/logo.gif"]);
_logo.pivot = Offset.zero;
_logo.size = new Size(912, 486);
_logo.position = new Offset(824, 10);
addChild(_logo);
}
@override
bool handleEvent(SpriteBoxEvent event) {
if (event.type == PointerDownEvent) {
if (event.boxPosition.dx < 1280) {
_dir = -1;
} else {
_dir = 1;
}
}
return true;
}
...
}
任何建议将不胜感激。我不知道还能做什么。
提前致谢。
解决方案
推荐阅读
- html - 如何在父 div 中放置表格内容?
- reactjs - 如何在 redux-forms/final-forms 中呈现适当的下拉选项?
- javascript - 如何在孩子中扩展父母的财产
- xslt - 如何计算没有。xsl:choose 语句在 xsl:for-each 中执行的次数?
- flutter - 为什么 Flutter2.5 图标文本字段颜色由黑色变为白色?
- in-app-purchase - 如何在android中恢复应用内购买
- database - Laravel 查询:如何分组 DB:原始查询
- r - R中按条件选择性合并行
- c++ - __attribute__((destructor)):全局向量变量中的值在主析构函数中被破坏
- flutter - Dart 动态访问 getter