1

我正在为游戏编写代码,我需要帮助的是我将对象放在地图上并尝试制作它,以便玩家无法穿过对象。n 问题是 x 边界有效,但你没有,我不知道如何进行。

 public Boolean checkPathClear(int x, int y){
     xPPos=x;
     yPPos=y;
     int tX1=350-50-xPos,tX2=450-xPos,tY1=200,tY2=300;
     if ((xPPos>=tX1)&&(xPPos<=tX2)&&(yPPos>=tY1)&&(yPPos<tY2))
       return(false);
     else
       return(true);
   }
   public void paintComponent(Graphics g){    
     g.drawImage(imgTurret,350-xPos,200,450-xPos,300,0,0,126,110, this);

     g.drawImage(imgPlayer,xPPos,yPPos,xPPos+50,yPPos+50,xPFace,yPFace,xPFace+50,yPFace+50, this);
       }
 }
 //xPPos is 200 at the start.
 //yPPos is 200 at the start.
 //xPos is 0 at the start.
 //xPFace, yPFace is just the direction the player is facing so it doesnt matter

我编辑了代码,所以人们不需要查看所有内容:)

如果有人可以帮助我,我将不胜感激:D

编辑:对于任何想看到我在其上实现代码的人。当您向右移动时,图像显示向左移动,因此看起来屏幕向右移动。竞技场板

4

1 回答 1

0

您的图像是用尺寸绘制的:

imageX: 350-xPos,
imageY: 200,
width: 450-xPos,
height: 300

所以:

return !(imageX <= x && x' < imageX + width
    && imageY <= y && y' < imageY + height);
于 2012-12-10T01:06:52.587 回答