JAVA:2D游戏冒险。碰撞检测问题

时间:2011-06-11 18:20:03

标签: java collision-detection collision adventure

这是关于JAVA中的动画。在所有图片上使用相同尺寸时我获得了成功。但是,如果我将所有图片尺寸保持在相同的尺寸(宽度和高度)上,我会得到一些当玩家打孔的错误。在玩家的手接触敌人身体之前,敌人死亡

但是我的情况下,闲置,跑步和打击的其他人有所不同 尺寸。面向左侧的拳击动画变得非常奇怪。 如果他的手向左击,但他的身体向右移动。这个 是因为我画了x&你是一样的。

我该如何解决?需要说明:D

我使用png coz support transparent

我认为这可以解决2选项  1.修复我的碰撞检测  2.在某些情况发生时修复绘图位置我的图像

1 个答案:

答案 0 :(得分:2)

试着想象你的问题,希望这会有所帮助。 我正在直接打字,所以代码中可能有错误

  1. 修复煤矿欺骗 我会尝试这个

     Image fist
     Image enemy
        //in paint
    
    g2D.drawImage(fist,x,y,this);
    
    g2D.drawImage(enemy,x1,y1,this);
    
    Rectangle2D myFist = new Rectangle2D.Double(x,y,fist.getWidth(this),fist.getHeight(this));
    Rectangle2D myEnemy = new Rectangle2D.Double(x1,y1,enemy.getWidth(this),enemy.getHeight(this));
    if (myEnemy.contains(myFist){
    //action u want to happend
    }
    
  2. 我认为这样的事情应该解决煤炭问题 我在sega看到这个马里奥游戏

    1. 修正图纸位置

      //arm image can be the same image if u want
          Image leftArm;
          Image rightArm;
          image headLegsAndTorsoLeft;
          image headLegsAndTorsoRight;
          //where am i looking in game if true i look to the leftside of user thats playing
          boolean turnedLeft
          //in paint
          if(turnedLeft){
          //this lets it look like he is turned to the left with his right arm in the visible behind his left.
          //draw right arm
          g2D.drawImage(rightArm,x,y,this);
          //draw body moved a bit in x coor
                      g2D.drawImage(headLegsAndTorsoLeft,x-3,y,this);
         // draw left arm a bit more in x coor
          g2D.drawImage(leftArm,x-6,y,this);
          }else{
           //this lets it look like he is turned to the right with his left arm in the visible behind his right.
          // draw left arm
              g2D.drawImage(leftArm,x,y,this);
           //draw body moved a bit in x coor
              g2D.drawImage(headLegsAndTorsoRight,x-3,y,this);
       //draw right arm a bit more in x coor
              g2D.drawImage(rightArm,x-6,y,this);
              }
      

      武器动画的顺序,最后我会用躯干,左臂,右臂的不同方法动画 类似于按下左箭头躯干的东西做左边的行走动画,左手臂按键移动左臂,右手臂按下右手臂,右手臂向右移动,这就是左手臂,现在当你的角色向右移动时你需要另外3个。 / p>

      这就是我试图做的事情。