0 votes

when my bullet collide with enemy, sometime it will queuefree() sometime it just push it back, why it happen like that? what i did wrong? i try collider.isin_group(""), still give same result
this video show what happen. https://youtu.be/ZIlJpOxmkho

this project file https://drive.google.com/open?id=1UsMfh-GccUhDHUI0BoJyCH1fdvDvVkNG

this mob/enemy
enter image description here

this bullet
enter image description here

asked Mar 15 in Engine by potatobanana (264 points)

1 Answer

0 votes

solve just put in isingroup(), i dont know why did't work before.

answered Mar 16 by potatobanana (264 points)

Imagine a tree like this:

 - World
   - Bullet
   - Bullet
   - Bullet

The name of a node has to be unique, at least for the layer of the scene tree it's on. Otherwise getting nodes via their path wouldn't work anymore.

In order to ensure this, Godot will automatically change the names of nodes instanced from the same scene. So actually a real tree would look like this:

 - World
   - Bullet
   - @Bullet@2
   - @Bullet@3

TL;DR: checking nodes by name is very error prone and not recommended!

thanks , and welcome back

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.