1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat: 更新多个组件,调整动画、显示名称和参数,优化游戏体验

This commit is contained in:
2025-08-27 18:56:55 +08:00
parent 266947df0d
commit 561e12398a
11 changed files with 60 additions and 25 deletions
+2 -2
View File
@@ -1,9 +1,9 @@
extends BulletBase
class_name Diamond
const traceTime = 1000
const traceTime = 2000
func ai():
rotation = lerp_angle(rotation, position.angle_to_point(launcher.currentFocusedBoss.position), 0.2 * ((traceTime - timeLived()) / traceTime))
rotation = lerp_angle(rotation, position.angle_to_point(launcher.currentFocusedBoss.position), 0.1 * clamp((traceTime - timeLived()) / traceTime, 0, INF))
canDamageSelf = !(timeLived() >= traceTime)
forward(Vector2.from_angle(rotation))
+25 -12
View File
@@ -2,18 +2,28 @@
extends FullscreenPanelBase
var selectedCount: int = 0
var refreshNeedBaseballCount = 100
@onready var avaliableFeeds: Node2D = $"%avaliableFeeds"
@onready var feedCards: HBoxContainer = $"%feedcards"
@onready var waveLabel: RichTextLabel = $"%wave"
@onready var countLabel: RichTextLabel = $"%count"
@onready var skipBtn: Button = $"%skipBtn"
@onready var refreshBtn: Button = $"%refreshBtn"
@onready var needBB: ItemShow = $"%needBB"
func _ready():
skipBtn.pressed.connect(
func():
finish()
)
refreshBtn.pressed.connect(
func():
if UIState.player.inventory[ItemStore.ItemType.BASEBALL] >= refreshNeedBaseballCount:
UIState.player.inventory[ItemStore.ItemType.BASEBALL] -= refreshNeedBaseballCount
refreshNeedBaseballCount *= 1 + randf_range(GameRule.refreshCountIncreasePercent.x, GameRule.refreshCountIncreasePercent.y)
regenerateCards()
)
for file in DirTool.listdir("res://components/Feeds/"):
var i = load(file).instantiate() as Feed
i.selected.connect(
@@ -28,8 +38,22 @@ func _ready():
func beforeOpen():
selectedCount = 0
afterClose()
regenerateCards()
func clearCards():
for i in feedCards.get_children():
feedCards.remove_child(i)
avaliableFeeds.add_child(i)
func updateValue():
waveLabel.text = str(Wave.current + 1)
countLabel.text = str(UIState.player.fields[FieldStore.Entity.FEED_COUNT_CAN_MADE] - selectedCount)
needBB.count = refreshNeedBaseballCount
func finish():
Wave.next()
UIState.closeCurrentPanel()
func regenerateCards():
updateValue()
clearCards()
var feeds: Array[Feed] = []
for i in avaliableFeeds.get_children():
feeds.append(i)
@@ -38,14 +62,3 @@ func beforeOpen():
var feed = feeds[i] as Feed
avaliableFeeds.remove_child(feed)
feedCards.add_child(feed)
func afterClose():
for i in feedCards.get_children():
feedCards.remove_child(i)
avaliableFeeds.add_child(i)
func updateValue():
waveLabel.text = str(Wave.current + 1)
countLabel.text = str(UIState.player.fields[FieldStore.Entity.FEED_COUNT_CAN_MADE] - selectedCount)
func finish():
Wave.next()
UIState.closeCurrentPanel()
+1 -1
View File
@@ -8,7 +8,7 @@ var targetPlayer: EntityBase = null
@onready var texture: Sprite2D = $"%texture"
func _ready():
apply_force(MathTool.randv2_range(20000), MathTool.randv2_range(10))
apply_force(MathTool.randv2_range(30000), MathTool.randv2_range(10))
func _process(_delta):
texture.texture = ItemStore.getTexture(item)
func _physics_process(_delta):
+2 -1
View File
@@ -5,4 +5,5 @@ static var bulletSpeedMultiplier: float = 1 # 子弹速度倍率
static var damageOffset: float = 0.2 # 伤害随机浮动比例,默认20%,即10的基础伤害会应用为8~12
static var damageLabelSpawnOffset: float = 10 # 伤害标签生成位置的随机偏移
static var itemDroppedSpawnOffset: float = 30 # 掉落物生成位置的随机偏移
static var appleDropRate: float = 0.1 # 苹果掉落概率
static var appleDropRate: float = 0.1 # 苹果掉落概率
static var refreshCountIncreasePercent: Vector2 = Vector2(0.4, 1.1) # 刷新所需的棒球数量的增加的百分比,随机,默认为40%~110%