java - 在 isActionMove() 上执行单点触摸

标签 java android andengine sprite onmousemove

如何在 isActionMove() 上执行单点触摸,因为当我在 Sprite 上移动手指时,它需要多次触摸事件并更新分数两次三次

mHardware[active] = new Sprite(pX, pY, java, this.getVertexBufferObjectManager()) {

    @Override
    public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float X, float Y) {
        if (pSceneTouchEvent.isActionMove()) {
            score++;
        }
    }
};

我不能使用 isActionDown 因为它是一个像水果忍者这样的游戏,我需要在屏幕上移动手指 现在的问题是分数有时增加 2 有时增加 3 因为当我在 Sprite 上移动手指时应用程序会注意到几个短的移动而不是一个

最佳答案

你应该使用

private static boolean isFirstMove;
public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float X, float Y) {
    if (pSceneTouchEvent.isActionDown()) {
       isFirstMove = true;
    }
    if (pSceneTouchEvent.isActionMove()) {
        if(isFirstMove) {
            score++;
            isFirstMove = false;
        }
    }
    if (pSceneTouchEvent.isActionUp()) {
        isFirstMove = false;
    }
});

关于java - 在 isActionMove() 上执行单点触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16912806/

相关文章:

java - 使用字符串的 ListView

android - 将预构建库与 Android NDK 结合使用时出现构建问题

java - 操作栏在 Android 应用程序中显示为空

android - 致命异常 : main java. lang.NoClassDefFoundError : org. andengine.engine.options.SoundOptions

java - 后台处理java

java - 仅在 android 的自定义 ListView 中搜索特定值的结果?

java - 如何在运行时获取类名,但仅获取类名?

java - 将数据对象从 xml 发送到 viewmodel

java - 如果 Andengine 项目的源代码适用于 Android,我如何将其作为 Java 应用程序运行?

java - Android Toast 消息不工作