xiandie/util/canvas_util.gd

12 lines
454 B
GDScript

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)