1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-27 22:41:56 +08:00
Files
fallingshrimp 733e8e5c0b feat: 添加新角色Kernyr和子弹Yangyi及相关资源
添加新角色Kernyr及其相关资源文件,包括角色脚本、场景和贴图
添加新子弹类型Yangyi及其相关资源文件,包括子弹脚本、场景和贴图
修改Wave.gd添加Kernyr作为测试波次
调整QKSword.gd和Parrier.gd的数值效果
扩展Bullet.gd的selfRotate方法支持仅旋转贴图
2026-03-22 16:32:18 +08:00

23 lines
1.1 KiB
GDScript

class_name PresetBulletAI
static func lockLauncher(bullet: BulletBase, launcher: EntityBase, onTexture: bool = false, useSummoned: bool = false):
if useSummoned:
if is_instance_valid(bullet.launcherSummoned):
launcher = bullet.launcherSummoned
bullet.position = launcher.texture.global_position if onTexture else launcher.position
static func forward(bullet: BulletBase, rotation: float):
bullet.forward(Vector2.from_angle(rotation))
static func trace(bullet: BulletBase, target: Vector2, speed: float):
bullet.rotation = lerp_angle(
bullet.rotation,
bullet.position.angle_to_point(target),
speed
)
static func faceToMouse(bullet: BulletBase):
bullet.rotation = bullet.position.angle_to_point(bullet.get_global_mouse_position())
static func selfRotate(bullet: BulletBase, speed: float, justTexture: bool = false):
var target: Node2D = bullet.texture as Node2D if justTexture else bullet as Node2D
target.rotation += deg_to_rad(speed)
static func lerpPosition(bullet: BulletBase, target: Vector2, speed: float):
bullet.position = bullet.position.lerp(target, speed)