字符绘制不正确,出现在错误的位置一秒钟

时间:2015-10-01 01:33:45

标签: java android libgdx box2d scene2d

所以这是我的问题,我不确定这里的交易是什么,但它应该是非常简单的。我有一个纹理,我想要在屏幕的左半部分或屏幕的右半部分绘制。当触摸屏幕的相应侧时

调用方法的方法:

public void screenTouched() {

    if (Gdx.input.justTouched()) {
        main_char.updateMainCharacter(Gdx.input.getX(), main_char.getPosition().y);
    }

移动纹理的方法:

public void updateMainCharacter(float touch_pos_x, float pos_y) {

        //main_char is already on left side
        if (position.x < ClimberDude.V_WIDTH / 2 && touch_pos_x < ClimberDude.V_WIDTH / 2) {
            position.x = 0;
            position.y = pos_y + main_char.getHeight();
        }
        //main_char is already on right side
        else if (position.x > ClimberDude.V_WIDTH / 2 && touch_pos_x > ClimberDude.V_WIDTH / 2) {
            position.x = ClimberDude.V_WIDTH - main_char.getWidth();
            position.y = pos_y + main_char.getHeight();
        }
        else if (touch_pos_x < ClimberDude.V_WIDTH / 2) {
            position.x = 0;
            position.y = pos_y;
        }
        else if (touch_pos_x > ClimberDude.V_WIDTH / 2) {
            position.x = ClimberDude.V_WIDTH - main_char.getWidth();
            position.y = pos_y;
        }

    }

这是问题的图片 enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

问题在于您选择的操作员和&amp;&amp;而不是&amp;。

好的,这是:

它移动是因为每个循环只处理其双重条件的一部分。因此,如果他删除&amp;&amp;从他的每一个他很快就会看到他的逻辑上有所改善。

见这里: Difference between & and && in Java?

这将为您解释一切。

:)