1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-07 20:27:13 +08:00

refactor(CameraManager): 重构相机震动系统并添加强度参数

- 移除shaking布尔变量,改用shakeIntensity控制震动强度
- 修改shake方法接受强度参数,支持叠加震动效果
- 简化震动逻辑,移除调试打印语句

feat(ItemDropped): 添加物品自动收集功能

- 当物品与玩家距离小于60时自动收集并销毁
- 调用玩家collectItem方法处理收集逻辑

refactor(EntityBase): 重构物品收集逻辑

- 将物品收集逻辑从信号回调移至collectItem方法
- 移除itemCollected信号及相关UI更新代码
- 简化hurtbox连接逻辑

style(World): 调整动画资源顺序

- 交换两个动画资源的定义顺序
This commit is contained in:
2025-08-28 14:15:01 +08:00
parent 55563254f1
commit e669bf1c30
5 changed files with 38 additions and 51 deletions
+5 -10
View File
@@ -2,11 +2,9 @@
extends Camera2D
class_name CameraManager
@export var shakeOffset: float = 100
@onready var animator: AnimationPlayer = $"%animator"
var shaking: bool = false
var shakeIntensity: float = 0
static var instance: CameraManager = null
@@ -15,14 +13,11 @@ func _ready():
func _physics_process(_delta):
if is_instance_valid(UIState.player):
position = UIState.player.position
if shaking:
position += MathTool.randv2_range(shakeOffset)
position += MathTool.randv2_range(shakeIntensity)
static func shake(millseconds: int = 1000):
print("shake start")
instance.shaking = true
static func shake(millseconds: int, intensity: float = 10):
instance.shakeIntensity += intensity
await TickTool.millseconds(millseconds)
instance.shaking = false
print("shake end")
instance.shakeIntensity -= intensity
static func playAnimation(animation: String):
instance.animator.play(animation)