Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | obstsalat |
Hello,
I’m new to Godots physics engine; I wanted to make a game where everytime the player touches the screen the playerNode(a RigidBody2D) behaves like a StaticBody2D, otherwise the node should behave like a RigidBody2D.
My Code below doesn’t work. When the screen gets touched the playerNode behaves like a StaticBody2D, but if I stop touching it doesn’t change back to the RIGID_MODE-Behavior.
However, I can see in the console that the value of “mode” changes as wanted, but still theres no gravity or so that gets applied.
My Code
func _physics_process(delta):
if (Input.is_action_just_pressed("touch")):
mode = MODE_STATIC
if Input.is_action_just_released("touch"):
mode = MODE_RIGID
print(mode);
What makes it even more confusing is that if I switch mode = MODE_STATIC and mode = MODE_RIGID it works, but not the other way around.
Maybe you could have a “toggle” state? When the player presses the screen (i.e. the function Input.is_action_pressed()
is used), if the current mode is MODE_RIGID
, then change it to MODE_STATIC
.
Ertain | 2019-12-04 00:12
This doesn’t work too :/.
After the player is set to static it also does not interact with other (rigidbody)-nodes.
obstsalat | 2019-12-04 13:22
I would suggest you make it kinematic
instead of static, as a workaround, to test if it works. However if Godot allows it but it doesn’t work, there is probably a bug to report. Either it’s really a bug, or it’s just not supported by the underlying physics engine.
Zylann | 2019-12-04 21:45
Any news on this? I have a similar problem:
I made a chain with Rigidbody2D and PinJoint2D.
The first Rigidbody2D is set to mode ‘Kinematic’ in the editor, the others are all set to ‘Rigid’.
Setting the ‘Kinematic’ Rigidbody2D of that chain to ‘Rigid’ and then back to ‘Kinematic’ during runtime, breaks the PinJoint2Ds…
k3nzngtn | 2020-05-01 20:09
I would recommend setting up a different thread for your question.
Ertain | 2020-05-01 23:41
I have the same issue.
anssiko | 2020-11-18 10:19