12 lines
454 B
GDScript3
12 lines
454 B
GDScript3
|
class_name CanvasUtil extends Object
|
||
|
|
||
|
|
||
|
# 晃动节点
|
||
|
static func shake_node(node: CanvasItem, tween: Tween, duration: float, delta := 5.0, fps := 4.0) -> void:
|
||
|
var origin_pos = node.position
|
||
|
var count = int(duration * fps)
|
||
|
var delta_t = 1.0 / fps
|
||
|
for i in range(count):
|
||
|
var offset = Vector2(randf_range(-delta, delta), randf_range(-delta, delta))
|
||
|
tween.tween_property(node, "position", origin_pos + offset, delta_t).set_trans(Tween.TRANS_CUBIC)
|