相机 lerp 优化

master
chendian 2 years ago
parent fe96be2dc2
commit 6c2e2eed3c

@ -52,7 +52,7 @@ func ui_pos()->Vector3:return position + status.ui_offset
#==interface== #==interface==
func get_status(status_name:String):return status.get_status(status_name) func get_status(status_name:String):return status.get_status(status_name)
func set_status(status_name:String,value):status.set_status(status_name,value) func set_status(status_name:String,value):status.set_status(status_name,value)
func set_pos(pos:Vector3):position = pos func set_pos(pos:Vector3):position = pos;SignalManager.character_pos_changed.emit(id(),pos())
func move_to(dir:Vector2):set_status("move_dir",dir) func move_to(dir:Vector2):set_status("move_dir",dir)
func move_stop():set_status("move_dir",Vector2.ZERO) func move_stop():set_status("move_dir",Vector2.ZERO)
func add_buff(buff_name:String,duration:float,ignore_pause:bool=false):buff.add_buff(buff_name,duration,ignore_pause) func add_buff(buff_name:String,duration:float,ignore_pause:bool=false):buff.add_buff(buff_name,duration,ignore_pause)

@ -15,6 +15,7 @@ func _ready():
SignalManager.character_hit_floor.connect(on_character_hit_floor) SignalManager.character_hit_floor.connect(on_character_hit_floor)
SignalManager.character_destroy.connect(on_character_destroy) SignalManager.character_destroy.connect(on_character_destroy)
SignalManager.level_size_change.connect(on_level_size_change) SignalManager.level_size_change.connect(on_level_size_change)
SignalManager.level_loading_end.connect(on_level_loading_end)
func _physics_process(delta): func _physics_process(delta):
target_pos_lerp(0,delta,5) target_pos_lerp(0,delta,5)
@ -31,6 +32,9 @@ func target_pos_lerp(index:int,delta:float,delta_scale:float):
func on_character_create(id:int,team:Enum.ETeam,pos:Vector3): func on_character_create(id:int,team:Enum.ETeam,pos:Vector3):
if team == Enum.ETeam.Player: if team == Enum.ETeam.Player:
target = id target = id
on_character_pos_changed(id,pos)
on_character_hit_floor(id,pos)
on_level_loading_end()
func on_character_pos_changed(id:int,pos:Vector3): func on_character_pos_changed(id:int,pos:Vector3):
if id == target: if id == target:
@ -46,3 +50,8 @@ func on_character_destroy(id:int):
func on_level_size_change(size:Vector2): func on_level_size_change(size:Vector2):
level_size = size level_size = size
func on_level_loading_end():
target_pos_now.x = target_pos.x
target_pos_now.y = target_pos.y
target_pos_now.z = target_pos.z

@ -5,6 +5,6 @@ func _ready():
Global.level_mgr.init() Global.level_mgr.init()
Global.character_mgr.create_character(ResourceManager.cfg_character_player,Enum.ETeam.Player,Vector3(5,0,5)) Global.character_mgr.create_character(ResourceManager.cfg_character_player,Enum.ETeam.Player,Vector3(5,0,5))
Global.character_mgr.create_character(ResourceManager.cfg_character_monster_test,Enum.ETeam.Monster,Vector3(5.5,0,5)) Global.character_mgr.create_character(ResourceManager.cfg_character_monster_test,Enum.ETeam.Monster,Vector3(5.5,0,5))
func _process(delta): func _process(delta):
pass pass

Loading…
Cancel
Save