mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-24 04:22:29 +08:00
feat: 添加炸弹效果和着色器,创建新的Bomb效果和相关资源
This commit is contained in:
@@ -2,7 +2,7 @@ extends BulletBase
|
||||
class_name Diamond
|
||||
|
||||
func ai():
|
||||
var tracing = Time.get_ticks_msec() - spawnInWhen < 1000
|
||||
var tracing = timeLived() < 1000
|
||||
if tracing:
|
||||
rotation = lerp_angle(rotation, position.angle_to_point(launcher.currentFocusedBoss.position), 0.1)
|
||||
canDamageSelf = !tracing
|
||||
|
||||
@@ -1 +1,7 @@
|
||||
extends BulletBase
|
||||
|
||||
func spawn():
|
||||
await TickTool.millseconds(1000)
|
||||
hitbox.disabled = false
|
||||
func ai():
|
||||
texture.global_rotation = 0
|
||||
|
||||
@@ -19,7 +19,8 @@ func ai():
|
||||
func attack(type):
|
||||
if type == 0:
|
||||
var weaponPos = findWeaponAnchor("normal")
|
||||
return BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, weaponPos, (get_global_mouse_position() - weaponPos).angle())
|
||||
return BulletBase.generate(preload("res://components/Bullets/Pencil.tscn"), self, weaponPos, (get_global_mouse_position() - weaponPos).angle())
|
||||
# return BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, weaponPos, (get_global_mouse_position() - weaponPos).angle())
|
||||
func sprint():
|
||||
move(Vector2(
|
||||
Input.get_axis("m_left", "m_right"),
|
||||
|
||||
@@ -12,8 +12,9 @@ class_name BulletBase
|
||||
@export var canDamageSelf: bool = false # 是否可以伤害发射者
|
||||
@export var needEnergy: float = 4.0 # 发射时需要消耗的能量
|
||||
|
||||
@onready var animator = $"%animator"
|
||||
@onready var hitbox = $"%hitbox"
|
||||
@onready var animator: AnimationPlayer = $"%animator"
|
||||
@onready var hitbox: CollisionShape2D = $"%hitbox"
|
||||
@onready var texture: AnimatedSprite2D = $"%texture"
|
||||
|
||||
var launcher: EntityBase = null
|
||||
var spawnInWhen: float = 0
|
||||
@@ -51,6 +52,8 @@ func forward(direction: Vector2):
|
||||
position += direction.normalized() * fields.get(FieldStore.Bullet.SPEED) * GameRule.bulletSpeedMultiplier
|
||||
func fullPenerate():
|
||||
return fields.get(FieldStore.Bullet.PENERATE) + launcher.fields.get(FieldStore.Entity.PENERATE)
|
||||
func timeLived():
|
||||
return Time.get_ticks_msec() - spawnInWhen
|
||||
|
||||
func ai():
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user