【发布时间】:2018-03-10 01:23:23
【问题描述】:
我刚刚开始使用 gamemaker studio 2,并且一直在为这个问题摸不着头脑。
我需要能够在不使用碰撞事件的情况下摧毁我的敌人对象的特定实例。这是我当前的代码:
在我的播放器对象中:
if (sprite_index = spr_player_attack_left) {
if (obj_enemy.x > x - 25 && obj_enemy.x < x) {
obj_enemy.hp--;
}
}
//detect right
if (sprite_index = spr_player_attack_right) {
if (obj_enemy.x < x + 25 && obj_enemy.x > x) {
obj_enemy.hp--;
}
}
//detect up
if (sprite_index = spr_player_attack_up) {
if (obj_enemy.y > y - 25 && obj_enemy.y < y) {
obj_enemy.hp--;
}
}
//detect down
if (sprite_index = spr_player_attack_up) {
if (obj_enemy.y < y + 25 && obj_enemy.y > y) {
obj_enemy.hp--;
}
}
在我的敌人对象中:
if (hp <= 0) {
var attacked = instance_find(obj_enemy, this.id);
instance_destroy(attacked);
}
目前房间里只有一个敌人实例记录了一次攻击,当我攻击那个实例时,所有实例都被摧毁,而我只想摧毁一个。
提前感谢您的帮助!
【问题讨论】:
标签: instance game-maker-language