1

私はゲームのコードに取り組んでいますが、助けが必要なのは、オブジェクトをマップに配置し、プレイヤーがオブジェクトを通り抜けられないようにしようとしていることです.n 問題は、x 境界が機能することですが、 y はそうではなく、どうすればよいかわかりません。

 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 に答える