试图在与敌人发生碰撞时创建玩家伤害指示。
我在播放器对象的碰撞事件中使用了以下代码:
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);
但是,玩家对象只是简单地垂直向上推,而不是在抛物线中向后推。 关于如何实施基本击退系统的想法吗?
答案 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
除非您要根据碰撞角度实现击退变量,否则我相信这对于您要实现的目标会更好。