【问题标题】:Points changing rapidly点变化迅速
【发布时间】:2012-01-09 23:18:51
【问题描述】:

我喜欢制作游戏,但我在收集积分方面遇到了麻烦。 目的是在物体“face”与injekBox碰撞时增加/减少字符点(charhop +1或-1),但点只是增加或减少一次,然后它会返回到以前的值。 即使对象停止,日志也仍会打印该值 如果“脸”与某个框碰撞,我想改变一次点,并在与另一个框碰撞后再次改变

char1.setHops(0);
public void onUpdate(final float pSecondsElapsed) {

            if (char1.isJump()){
                int rockPoint = char1.getPoints();
                int maxBox = listBox.size();
                int charHop = char1.getHops();
                for (int j = 0; j < maxBox ; j++){
                    if (j == rockPoint){
                        j++;
                    }
                    Box injekBox = listBox.get(j);
                    if(injekBox.getRectangle().collidesWith(face)){
                        if(char1.isTurn()){
                            charHop++;
                            if (charHop == (maxBox - 1)){
                                char1.setTurn(false);
                            }
                        } else {
                            charHop--;
                        }
                        Log.i(this.toString(),"charHop: "+charHop);
                        injekBox.getRectangle().setColor(1, 0, 0);
                    } else {
                        injekBox.getRectangle().setColor(1, 1, 1);
                    }

                }

            }


        }

对不起,写得不好... 谢谢关注:)

【问题讨论】:

    标签: android collision-detection andengine collision point


    【解决方案1】:

    charHop 的范围只在onUpdate 之内。离开该方法后,该变量的内容就消失了。您需要 char1.getHops() 的对应项——类似于 char1.setHops(charHop);

    【讨论】:

    • 谢谢你,伙计。分数现在改变了,但是当“脸”与盒子接触时它会增加/减少。有什么方法可以让每次触摸只增加/减少一次?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多