【问题标题】:Android (AndEngine): How to obtain touch input events outside onSceneTouchEvent method?Android(AndEngine):如何在onSceneTouchEvent方法之外获取触摸输入事件?
【发布时间】:2012-12-03 10:13:03
【问题描述】:

所以,这是我的问题:在我的游戏中,我在游戏开始时进行了倒计时,在此期间用户无法按下屏幕,所以我等到倒计时结束才启用 OnSceneTouchListener。一旦启用,用户就可以做一些移动手指的事情(不重要)。

问题在于,如果用户在倒计时时开始移动手指,一旦结束,onSceneTouchEvent 方法就会开始获取输入,但它会跳过 ACTION_DOWN 事件,因为用户已经在移动手指。

为了防止这种情况,我当然可以在 onSceneTouchEvent 方法中使用布尔值,但这样它总是会检查每个输入。它对性能影响不大,但如果可能的话,我宁愿找到另一种方式。

所以我在想,有没有办法在AndEngine中获取触摸输入事件(按下坐标的信息,这才是我真正需要的),这样我就可以通过简单的“强制”ACTION_DOWN事件在倒计时的方法中我应该怎么做?

提前致谢!

【问题讨论】:

    标签: android input touch andengine


    【解决方案1】:

    这里是一个例子,你如何获得触摸坐标。

    public boolean onTouchEvent(MotionEvent event) {
        int myEventAction = event.getAction(); 
    
        float X = event.getX();
    float Y = event.getY();
    
        switch (myEventAction) {
           case MotionEvent.ACTION_DOWN:
            break;
           case MotionEvent.ACTION_MOVE: {
                mySprite.setPosition(X, Y);
                break;}
           case MotionEvent.ACTION_UP:
                break;
        }
        return true;
    }
    

    Source of this example

    【讨论】:

    • 感谢您的回答,但我会尽量说得更清楚...我已经使用了类似的方法,它可以检查输入;我需要的是能够在此方法之外访问触摸输入,以便我只能检查一次输入;如果我在 onTouchEvent 方法中实现检查,它总是会执行它,但我希望它只检查一次。不知道我解释的对不对……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多