GameMaker Studio 2.玩家回击

时间:2018-08-23 21:01:42

标签: collision gml

试图在与敌人发生碰撞时创建玩家伤害指示。

我在播放器对象的碰撞事件中使用了以下代码:

direction = point_direction(other.x,other.y,x,y);
hsp = lengthdir_x(6,direction);
vsp = lengthdir_y(4,direction)-2;
if (sign(hsp) !=0) image_xscale = sign(hsp); 

但是,玩家对象只是简单地垂直向上推,而不是在抛物线中向后推。 关于如何实施基本击退系统的想法吗?

1 个答案:

答案 0 :(得分:0)

如果您想要抛物线,可以在其后添加向上的力,就像这样:

direction = point_direction(other.x, other.y, x , y);
speed = 6
motion_add(90, 3)

如果不这样做,您宁愿选择看起来总是一样的“可重复”抛物线,也许您应该使用另一种方法,例如

if other.x>x {hdirection=1}else{hdirection=-1}
hspeed = hdirection*6
vspeed = -2

除非您要根据碰撞角度实现击退变量,否则我相信这对于您要实现的目标会更好。