这是关于JAVA中的动画。在所有图片上使用相同尺寸时我获得了成功。但是,如果我将所有图片尺寸保持在相同的尺寸(宽度和高度)上,我会得到一些当玩家打孔的错误。在玩家的手接触敌人身体之前,敌人死亡
但是我的情况下,闲置,跑步和打击的其他人有所不同 尺寸。面向左侧的拳击动画变得非常奇怪。 如果他的手向左击,但他的身体向右移动。这个 是因为我画了x&你是一样的。
我该如何解决?需要说明:D
我使用png coz support transparent
我认为这可以解决2选项 1.修复我的碰撞检测 2.在某些情况发生时修复绘图位置我的图像
答案 0 :(得分:2)
试着想象你的问题,希望这会有所帮助。 我正在直接打字,所以代码中可能有错误
修复煤矿欺骗 我会尝试这个
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
}
我认为这样的事情应该解决煤炭问题 我在sega看到这个马里奥游戏
修正图纸位置
//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>
这就是我试图做的事情。