【发布时间】: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 这是我想到的,但如果创建者不存在,那不是完全不会造成我的攻击伤害。
标签: debugging game-maker gml