本文借鑑了https://www.bilibili.com/video/av61331486?from=search&seid=1196091174690076470
以上的視頻,結合食用更佳。
結構節點樹結構如下:
動畫就自己去AnimationPlayer裏面去搞吧!反正就是記錄一個起點角度,一個終點角度。
我們的刀光效果要使用的到東西就是Line2D。
下面是Line2D的代碼
extends Line2D
var glo_pos_history=Vector2()
var knife=null
func _ready():
glo_pos_history=global_position
set_process(false)
pass # Replace with function body.
func _process(delta):
add_point(Vector2(0,0))#增加一個起始點
for i in range(get_point_count()-1):#循環路徑次
set_point_position(i,get_point_position(i)+glo_pos_history-global_position)
if get_point_count()>10:
remove_point(0)
global_rotation_degrees=0#這是重點,一定要把全局角度設置爲0,
否則它的角度隨着他的上級節點,就會出現各種各樣的轉動
glo_pos_history=global_position
func start_draw(tmp_kinife):
set_process(true)
#停止繪製
func stop_draw():
set_process(false)
clear_points()
Line2D的設置如下:
畫紅線的地方就是我改過的地方,你們根據自己的需求自己調整,位置屬性什麼的就不用我說了吧。
然後就是效果: