0 votes

I have a packedScene and I want to do something if the body is instanced from the same scene.
(I do not want to use, groups.)

Pseudo code:
export(PackedScene) var from

func onbodyentered(body):
if body.get
scenepath() == from.getscene_path()
doSomething()

in Engine by (230 points)

2 Answers

0 votes

I think a better option is to use the is keyword to test the type of the nodes.

by (1,028 points)

Godot says: nope

Right operand of 'is' is not a class (type: 'PackedScene')

I also changed many things, but in generally IS operator/expression throws error like that.Right operand of 'is' is not a class (type: 'Rigidbody2D')

Fun part: if body is body throws error.

Probably something fundamental is the problem.

0 votes

It is ugly but it works. It requires scripts to operate.

func isEqual(a, b):
    if (a != null && a.get_script()!=null && b != null && b.get_script()!=null):
        if (a.get_script().resource_path == b.get_script().resource_path):
            return true

    return false    
by (230 points)
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.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.

Categories