0 votes

Hi I'm new to godot and got some GDscripts running ok, but want to use c#.
(It'sworth it for me, as I've built big games in c#, and just don't get on with python/lua derivatives)
I'm finding it very hard, particularly to get instantiating right, as it seems that instantiate throws you a node back, but Nodes seem not to have any access to a transform.

eg:

void _fire() {
if (prefab != null) {
Node vBullet = prefab.Instance() ;
GetTree().GetRoot().AddChild(bullet);
bullet.Translation =GlobalTransform.origin;
bullet.Rotation = (GlobalTransform.basis.GetEuler());
bullet.fwd = new Vector3(0, 0, -1);

    }
}
Godot version 3.4
in Engine by (12 points)

1 Answer

+1 vote

Hi,

you can use the method with a Generic type parameter:

prefab.Instance<Spatial>() ;

Now you should have access to Translation or Rotation.

by (714 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.