玩家和敌人之间的碰撞错误
Posted
技术标签:
【中文标题】玩家和敌人之间的碰撞错误【英文标题】:Error on collision between Player and Enemy 【发布时间】:2016-09-14 13:32:34 【问题描述】:我在与敌人碰撞时遇到了错误。我不确定当我触摸它或受到伤害时是否会发生这种情况。以下是错误信息:
#
致命错误 行动号 1 步骤事件obj_player 对于对象 obj_damage:
变量 .y(1, -2147483648) 在读取之前未设置。 在 gml_Object_obj_damage_CollisionEvent_1_1(第 6 行)- var dir = point_direction(creator.x, creator.y, other.x, other.y);
#这是 obj_damage 与 obj_player 的碰撞事件:
if(other.id != creator)
obj_player_stats.hp -= damage;
/// Knockback
var dir = point_direction(creator.x, creator.y, other.x, other.y);
var xforce = lengthdir_x(knockback, dir);
var yforce = lengthdir_y(knockback, dir);
with (other)
physics_apply_impulse(x, y, xforce, yforce);
感谢任何帮助,如果需要修复,我将提供额外的代码。谢谢。
【问题讨论】:
creator
对象可能不存在。因此,当您尝试获取 x
的 creator
时,您会遇到错误。尝试将if(other.id != creator)
更改为if other.id != creator and instance_exists(creator)
@Dmi7ry 这是我想到的,但如果创建者不存在,那不是完全不会造成我的攻击伤害。
【参考方案1】:
我自己修复了,在我的敌人与玩家碰撞时有一个错字,我放了 damage_creator 而不是 damage.creator 。我完全错过了当我调试时,你从错误中学习(我是新手)。无论如何感谢您的帮助。
【讨论】:
以上是关于玩家和敌人之间的碰撞错误的主要内容,如果未能解决你的问题,请参考以下文章