SpriteWidget:应用程序未响应NodeWithSize中的handleEvent

时间:2019-03-09 13:05:29

标签: dart flutter

我创建了一个小部件,添加了一些精灵,并制作了一些动画。我想添加一些用户交互,但是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;
    }     
...        
}

任何建议将不胜感激。我不知道该怎么办。

谢谢。

0 个答案:

没有答案