0 votes

I got game and cions in it. So there are level1 scene and coin scene. In coin scene i use this:

extends Node2D

func onArea2Dbodyentered(body):
if "Player" in body.name:
body.addcoin()
queue
free()
$Area2D/AudioStreamPlayer2D.play()

but when player "pick up" the coin, i don't hear the sound of Audiostreamplayer2D. (i load the .ogg file in it, yes).
Any ideas?

in Engine by (44 points)

1 Answer

0 votes

You are freeing the resource with queue_free, so, the sound, if starter, will stop.

You could connect the finished signal of AudioStreamPlayer2D to a function that calls queue_free so you make sure the resource is alive enought to the audio to play.

by (3,388 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.