在我的游戏中,我创建了一个世界视图,让玩家可以看到从一个级别到另一个级别的进展。我所做的就是我制作了小型“踏脚石”,每个级别之间有三个。所以,如果我有三个级别,它们之间有6个小点。
我做的是创建一个精灵,其中第1帧包含1个点,第2帧包含2个点。类似的东西:
0 - - - 0 - - - 0
如果玩家击败了1级,它将会是:
0 - - - 0
所以我已经把我的精灵切片了,并添加了一个动画。默认情况下,它会一次又一次地播放。我通过将速度设置为0来停止此操作。
游戏对象被命名为“leveldots_0”,它是一个带有控制器“leveldots_0”的Animator。我想动画被命名为“leveldots”,因为它是带有播放图标的资产?我是新来的......
所以,在我的相机(所有地方)的更新方法中,我想控制点的哪个帧。例如,我知道玩家是否已经击败了1级,所以我想将这些点显示为2级。
我以为我可以抓住Animator,我会很高兴:
Animator leveldots = GameObject.Find("leveldots_0").GetComponent<Animator>();
那就好了,当我尝试下一个逻辑(???)步骤并获得动画本身时,它会变得无聊:
leveldots.animation["leveldots"].time = 1.0f;
我在哪里得到错误:
There is no 'Animation' attached to the "leveldots_0" game object, but a script is trying to access it.
如何获取动画,并转到动画中的帧/时间?
答案 0 :(得分:0)
该错误表示您没有动画组件附加到您的游戏对象。您正在使用Animator组件。 Animator组件类似于State Machine,您可以在其中将动画与某些参数相关联,还可以在动画之间进行插值。
现在,leveldots.animation
是对该对象的动画组件的引用,而不是Animator。您可以简单地为另一个更改一个组件,并使用相同的动画,然后您可以访问相同的代码。或者您可以学习如何使用Animator here!