1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-30 16:01:53 +08:00

feat: 添加激光子弹功能,更新相关资源和着色器

This commit is contained in:
2025-08-27 08:09:47 +08:00
parent 739be888f3
commit c5da8d7b5e
12 changed files with 107 additions and 11 deletions
+2 -1
View File
@@ -2,5 +2,6 @@ extends BulletBase
class_name Diamond
func ai():
rotation_degrees += 1
if Time.get_ticks_msec() - spawnInWhen < 500: # 生成的前0.5秒可以追踪
rotation = lerp_angle(rotation, position.angle_to_point(launcher.currentFocusedBoss.position), 0.1)
forward(Vector2.from_angle(rotation))
+8 -5
View File
@@ -3,8 +3,6 @@ class_name Chick
@onready var firepot = $"%firepot"
var angle = 0
func _ready():
fields[FieldStore.Entity.MAX_HEALTH] = 1000
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.1
@@ -15,15 +13,20 @@ func ai():
if currentFocusedBoss.position.distance_to(position) < 300:
tryAttack(1)
else:
if tryAttack(0):
angle += 20
tryAttack(0)
func attack(type):
if type == 0:
var weaponPos = findWeaponAnchor("normal")
BulletBase.generate(preload("res://components/Bullets/Diamond.tscn"), self, weaponPos, deg_to_rad(angle))
BulletBase.generate(preload("res://components/Bullets/Diamond.tscn"), self, weaponPos, rotation + deg_to_rad(MathTool.randc_from([-90, 90])))
elif type == 1:
var weaponPos = findWeaponAnchor("normal")
var target = weaponPos.angle_to_point(currentFocusedBoss.position)
firepot.global_rotation = target
firepot.shot()
BulletBase.generate(preload("res://components/Bullets/FireScan.tscn"), self, weaponPos, target)
# elif type == 2:
# var weaponPos = findWeaponAnchor("normal")
# var target = weaponPos.angle_to_point(currentFocusedBoss.position)
# firepot.global_rotation = target
# firepot.shot()
BulletBase.generate(preload("res://components/Bullets/Laser.tscn"), self, weaponPos, target)
+1 -1
View File
@@ -13,7 +13,7 @@ static var countBoost: float = 0.1 # 每波增加的敌人数量百分比,指
static var data: Array[Wave] = [
# entity, minCount, maxCount, isBoss, from, to, per
create(preload("res://components/Characters/Hen.tscn"), 1, 5, false, 0, INF, 1),
create(preload("res://components/Characters/Chick.tscn"), 0, 0, true, 8, INF, 1)
create(preload("res://components/Characters/Chick.tscn"), 0, 0, true, 0, INF, 1)
]
static func create(