Topic was automatically imported from the old Question2Answer platform.
Asked By
Spectralniy
I want to make the same bullet mechanic as in this video https://youtu.be/HycyFNQfqI0
but without rotating the player. I need bullets to just head towards the mouse cursor, just like in Enter the gungeon. How do I make it?
I just changed the engine from GMS2 to Godot, so sorry for the stupid question.
Hi,
your question isnt stupid but very vague! You do not present us any code or show us any specific proplem you have with your code.
#player shoot code
func _ready():
var bullet = preload("bullet path").instance()
bullet.set_as_toplevel(true)
bullet.look_at(get_global_mouse_position())
bullet.global_position = $muzzle.global_postiton
$muzzle.add_child(bullet)
#this is for the bullet
func _process(delta):
position -= global_transform.x*speed
#towords its local x axis
It says “Invalid call. Nonexistent function ‘set_as_toplevel’ in base ‘PackedScene’.”
Spectralniy | 2021-07-23 09:57
var bullet = preload("res://bullet.tscn").instance()
add_child(bullet)
bullet.set_as_toplevel(true)
bullet.global_position = global_position
bullet.look_at(get_global_mouse_position())
did you include.instance()this makes the scene an actual object
lewis glasgow | 2021-07-23 10:44
Yes, i forgot to .instance() it.
The game now doesn’t crash, but it works… well… really weird.
var bullet = preload("res://bullet.tscn").instance()
bullet.set_as_toplevel(true)
bullet.global_position = position
add_child(bullet)
bullet.look_at(get_global_mouse_position())
it has to be in this order otherwise and for the bullet position += transform.x*speed