【发布时间】:2022-11-28 15:21:18
【问题描述】:
是否可以获取哪个节点/对象调用了setter函数?
我为什么要问这个?
atm 我有自定义动画播放器:
tool
extends Animation
func track_insert_key(track_idx : int, time : float, key, transition : float = 1) -> void:
var track_path=track_get_path(track_idx)
var key_node=<some_function>.get_node(track_path)
if(key_node.get_class()=="some_node"):
# do something before setting keyframe
.track_insert_key(track_idx, time, key, transition)
但如果我能拦截调用者,我就可以消除自定义动画播放器的需要 getter 函数,可能是这样的:
tool
extends Node2D
var custom_variable=0 setget ,get_custom_variable
func get_custom_variable(by):
print("called by=",by)
if(by.get_class()=="Animation"):
# do something before setting keyframe
那么这样的事情可能吗?或者一些类似的方法可以消除自定义AnimationPlayer的需要?
【问题讨论】: