玩家和敌人之间的碰撞错误

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

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

【讨论】:

以上是关于玩家和敌人之间的碰撞错误的主要内容,如果未能解决你的问题,请参考以下文章

通过复制玩家位置跟随玩家的幽灵敌人 AI

当敌人与 Player-Unity 碰撞时加载场景

UE4 C++实现发出伤害与接收伤害

我试图让一个敌人向我的玩家移动,但我得到一个属性错误

仅在相机视图前生成敌人游戏对象,同时相机随玩家游戏对象移动

看到玩家时,敌人的音频和精灵表不会启动/更改