generated at
Godot3.5でCamera shake
camera2d.gd
extends Camera2D # 揺れ時間 var time = 0 func shake(): # 残り時間の幅でランダムに揺らす # 画面比率 (1024:60) 固定 offset.x = 32 * rand_range(-1, 1) * time offset.y = 18.75 * rand_range(-1, 1) * time func _ready(): # カメラを画面の中心に移動 (解像度を 1024 x 600とした場合) position.x = 1024 / 2 position.y = 600 / 2 func _process(delta): if time > 0: # 揺れ時間が残っていれば揺らす time = max(0, time - delta) shake() if Input.is_action_just_pressed("ui_accept"): # Spaceキーで揺れ開始 time = 1 # 1秒
ノイズテクスチャを使ったバージョンのほうがいいのでそっちもメモる