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