【问题标题】:onAreaTouched is not working correctlyonAreaTouched 无法正常工作
【发布时间】:2014-02-22 13:54:35
【问题描述】:

我在 Android 中使用 AndEngine,但它无法正常工作。我正在设计带有动画精灵的步步高棋盘和石头。用stones(isActionDown)触摸场景时,拖动石头向上或向下移动。

动画精灵的代码是:

    {
        @Override
        public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX,
            float pTouchAreaLocalY) {
            float tx = 0,ty=0;
            float px=0,py=0;

            if(pSceneTouchEvent.isActionDown())
            {
                tx=pSceneTouchEvent.getX();
                ty=pSceneTouchEvent.getY();

                //System.out.println("initial-->\n"+"Gray1.getX(): "+Gray1.getX()+"Gray1.getY(): "+Gray1.getY());
            }
            if(pSceneTouchEvent.isActionMove())
            {

                Gray1.setPosition(pSceneTouchEvent.getX() - mGrayStoneTexture1.getWidth()/2, pSceneTouchEvent.getY() - mGrayStoneTextureRegion1.getHeight()/2);
                px=pSceneTouchEvent.getX();
                py=pSceneTouchEvent.getY();
                //System.out.println("move-->\n"+"Gray1.getX(): "+Gray1.getX()+"Gray1.getY(): "+Gray1.getY());
            }
            //System.out.println("tx: "+ tx + "ty: " + ty + "px: "+ px + "py: " + py);
            return false;
        }
    };

如何修复代码以正常工作?

【问题讨论】:

  • 什么不起作用?目前会发生什么?预期的结果是什么?
  • 当我触摸场景并拖动其他坐标时,石头不断向上,向下拖动时无法改变方向并不断向上。我希望触摸场景时获得x和y坐标,当我在场景中翻转鼠标移动翻转坐标。对不起我的英语不好。
  • 嗨,我尝试在 android 上制作五子棋游戏,但我还没有决定要使用什么库。那么我需要利用五子棋游戏的库吗?我在界面上做了一些andengine库,但不完全,因为五子棋的拖动部分一边拖动鼠标一边移动,点击,总是向上移动。我该如何解决这个问题。等待您的帮助。谢谢(对不起我的英语)
  • 看看这个帖子:[AndEngine - 上下滚动精灵][1] [1]:stackoverflow.com/questions/21798528/…
  • 将 onAreaTouch() 方法的返回类型更改为 true。同时设置 scene.setTouchAreaBindingOnActionDownEnabled(true);。它将起作用

标签: java android andengine


【解决方案1】:

你应该在结尾调用return true;

if(pSceneTouchEvent.isActionDown())

if(pSceneTouchEvent.isActionMove())

例子:

            if(pSceneTouchEvent.isActionDown())
            {
                ...
                return true;
            }
            if(pSceneTouchEvent.isActionMove())
            {
                ...
                return true;
            }

【讨论】:

  • 没关系。感谢您的帮助
猜你喜欢
  • 2016-12-01
  • 1970-01-01
  • 2016-09-01
  • 2012-07-11
  • 2018-04-08
  • 2017-04-20
  • 2018-10-02
  • 2016-09-04
  • 2010-10-06
相关资源
最近更新 更多