gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:48:18 25 4
gpt4 key购买 nike

这是关于JAVA中的动画。在所有图片上使用相同尺寸时,我取得了成功。但是,如果我将所有图片尺寸保持在相同的尺寸(宽度和高度),我会在玩家打洞时遇到一些错误。玩家的手还没碰到敌人的 body ,敌人就死了

但其他人和我的情况不同,闲置、运行和打洞方面。面向左边的出拳动画变得很奇怪。如果他的手向左打,但他的 body 向右移动。这是因为我画的x&y是一样的。

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

我用png因为支持透明

我认为这可以通过 2 个选项解决 1.修复我的碰撞检测 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
    }

我认为这样的事情应该可以解决联盟问题我将其视为世嘉上的马里奥游戏

  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);
    }

    ARM 动画的顺序相同,最终我会对躯干、左臂、右臂使用不同的动画方法像按下左箭头躯干这样的东西向左行走动画,点击左臂键移动左臂,点击右臂键移动右臂,那是 3 代表左臂,现在你需要另外 3 个用于你的角色向右移动。

    这就是我会尝试做事的方式。

关于JAVA:2D 游戏冒险。碰撞检测问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com