我创建了一个游戏对象并向其中添加了一个SpriteStuff
脚本,该脚本使用游戏对象的各种属性和函数创建。我还制作了该对象的几份副本。之后,我制作了一个GroupSpriteStuff
具有以下属性的游戏对象
public List<SpriteStuff> spriteStuffs;
我为GroupSpriteStuff
( GroupSpriteStuffEditor
) 添加了一个编辑器脚本,该脚本使用滑块进行迭代spriteStuffs
以移动每个对象。只有在移动滑块后选择对象spriteStuffs
时才能看到对象的移动,如果在移动滑块后不选择对象,则在场景视图中看不到更改。下面是GroupSpriteStuffEditor
:
GroupSpriteStuff groupSpriteStuff;
float groupSpritesMvmtSliderValue = 0.0f;
void OnEnable()
{
groupSpriteStuff = (GroupSpriteStuff)target;
}
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
EditorGUI.BeginChangeCheck();
groupSpritesMvmtSliderValue = EditorGUILayout.Slider("Group Movement", groupSpriteStuff.originalGroupSpritesMvmtSliderValue, 0.0f, 1.0f);
if (!Mathf.Approximately(groupSpriteStuff.originalGroupSpritesMvmtSliderValue, groupSpritesMvmtSliderValue))
{
for (int i = 0; i < groupSpriteStuff.spriteStuffs.Count; i++)
{
spriteStuffs[i].UseTestMovement(0.2f);
}
groupSpriteStuff.originalGroupSpritesMvmtSliderValue = groupSpritesMvmtSliderValue;
}
if (EditorGUI.EndChangeCheck())
{
SceneView.RepaintAll();
}
}
如何让场景视图更新/识别我使用滑块所做的运动变化?