[Godot] Asynchronously Wait 비동기 대기
Godot 2023. 9. 19. 13:17 |반응형
게임 실행 중 잠시 동안 비동기 대기해 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
using Godot;
public partial class node_2d : Node2D
{
// Called when the node enters the scene tree for the first time.
public override async void _Ready()
{
Timer timer = GetNode<Timer>("NodeTimer");
timer.Start();
GD.Print("Timer started.");
await ToSignal(timer, Timer.SignalName.Timeout);
GD.Print("Node Timer Timeout.");
await ToSignal(timer, Timer.SignalName.Timeout);
GD.Print("Node Timer Timeout.");
timer.Stop();
await ToSignal(GetTree().CreateTimer(1.0), SceneTreeTimer.SignalName.Timeout);
GD.Print("Tree Timer Timeout.");
await ToSignal(GetTree().CreateTimer(1.0), SceneTreeTimer.SignalName.Timeout);
GD.Print("Tree Timer Timeout.");
GD.Print("End");
}
// Called every frame. 'delta' is the elapsed time since the previous frame.
public override void _Process(double delta)
{
}
}
|
Node2D 노드에 스크립트를 추가하고 위와 같이 작성한다.
NodeTimer를 시작하고 3초 간격으로 "Node Timer Timeout." 메세지를 두 번 출력한다.
같은 동작을 구현하기 위해 SceneTree의 CreateTimer()를 사용할 수도 있다. 위 예에서는 1초 간격으로 "Tree Timer Timeout."메세지를 두 번 출력한다.
※ 참고
반응형
'Godot' 카테고리의 다른 글
[Godot] Character Move 캐릭터 이동 (0) | 2023.09.20 |
---|---|
[Godot] Keyboard, Mouse Input Handling 키보드 마우스 입력 (0) | 2023.09.20 |
[Godot] QueueFree() 노드 삭제 (0) | 2023.09.20 |
[Godot] Using Custom Signals 사용자 시그널 사용하기 (0) | 2023.09.18 |
[Godot] Using Timer Signal 타이머 시그널 사용하기 (0) | 2023.09.18 |