1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-03 09:51:53 +08:00

feat(ShaderStage): 将基类从CanvasItem改为Node2D并添加类名

feat(LightGun): 添加长度属性和粒子发射控制

refactor(TickTool): 修改millseconds参数类型并添加动画关键帧修改功能

feat(Bear): 添加新攻击类型6并优化攻击5的子弹生成逻辑
This commit is contained in:
2025-09-14 08:23:26 +08:00
parent e31fd1889e
commit 7b89d10aca
5 changed files with 38 additions and 7 deletions
@@ -1,8 +1,9 @@
extends BulletBase
@export var allColor: GradientTexture1D = null
@export var length: float = 1000
@onready var track: Node2D = $"%track"
@onready var track: ShaderStage = $"%track"
@onready var sword: Sprite2D = $"%sword"
@onready var points: GPUParticles2D = $"%points"
@@ -16,7 +17,14 @@ func spawn():
track.material = track.material.duplicate()
points.process_material = points.process_material.duplicate()
setColor(myColor)
track.size.x = length
TickTool.modifyAnimationKey(animator, "spawn", "sword:position:x", Animation.TrackType.TYPE_BEZIER, 2.5, length / -2)
TickTool.modifyAnimationKey(animator, "spawn", "sword:position:x", Animation.TrackType.TYPE_BEZIER, 3, length / 2)
TickTool.modifyAnimationKey(animator, "spawn", "%hitbox:position:x", Animation.TrackType.TYPE_BEZIER, 2.5, length / -2)
TickTool.modifyAnimationKey(animator, "spawn", "%hitbox:position:x", Animation.TrackType.TYPE_BEZIER, 3, length / 2)
await TickTool.millseconds(2500)
points.emitting = true
func setColor(color: Color):
track.material.set_shader_parameter("color", color)
sword.modulate = color
points.process_material.color = color
points.process_material.color = color