object1在x轴上推动object2但在y轴上没有效果

时间:2015-05-28 17:41:09

标签: android libgdx

我有object1(纹理),它在我的手指下移动我想要的。 但我不知道如何设置object2(纹理)的条件以产生推动效果。 Object1的大小:128x64,Object2:128x128。 到目前为止,我在x轴上运行良好。在y轴没有效果。

if(gameObject1.overlaps(gameObject2)){
        if(gameObject1.x<gameObject2.x&&gameObject1.y<gameObject2.y+128&&gameObject1.y>gameObject2.y-64){
            gameObject2.x+=16;
        }else
        if(gameObject1.x>gameObject2.x&&gameObject1.y<gameObject2.y+128&&gameObject1.y>gameObject2.y-64){
            gameObject2.x-=16;
        }

        if(gameObject1.y<gameObject2.y&&gameObject1.x>=gameObject2.x&&gameObject1.x+128<=gameObject2.x){
            gameObject2.y+=16;
        }else
        if(gameObject1.y>gameObject2.y&&gameObject1.x>=gameObject2.x&&gameObject1.x+128<=gameObject2.x){
            gameObject2.y-=16;}

在y轴的陈述中,我删除了一些x条件:

    if(gameObject1.y<gameObject2.y)
{ gameObject2.y+=16; }
else 
if(gameObject1.y>gameObject2.y)
{ gameObject2.y-=16;}

现在正在向下斜向上移动,但在x&amp; y轴上不是街道

1 个答案:

答案 0 :(得分:0)

在y轴效果的陈述中,你必须符合相同的条件:

gameObject1.x>=gameObject2.x
gameObject1.x+128<=gameObject2.x

如果你的某个条件是假的,那么你的y位置永远不会有任何影响,所以也许检查一下。我没有尝试理解你的逻辑,也许问题在你的逻辑条件下。