【问题标题】: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 对象可能不存在。因此,当您尝试获取 xcreator 时,您会遇到错误。尝试将if(other.id != creator) { 更改为if other.id != creator and instance_exists(creator) {
  • @Dmi7ry 这是我想到的,但如果创建者不存在,那不是完全不会造成我的攻击伤害。

标签: debugging game-maker gml


【解决方案1】:

我自己修复了,在我的敌人与玩家碰撞时有一个错字,我放了 damage_creator 而不是 damage.creator 。我完全错过了当我调试时,你从错误中学习(我是新手)。无论如何感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 2022-01-26
    相关资源
    最近更新 更多