Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置动画帧编号而不播放_C#_Unity3d - Fatal编程技术网

C# 设置动画帧编号而不播放

C# 设置动画帧编号而不播放,c#,unity3d,C#,Unity3d,我想在不播放动画的情况下设置动画帧当前我正在这样做,它工作得非常完美,但是我可以在不播放动画的情况下使其成为可能吗 GO.GetComponent<Animation>().Play("Start"); GO.GetComponent<Animation>()["Start"].time = ((1f / 30f) * 0); GO.GetComponent<Animation>()["Start"].speed = 0; GO.GetComponent()

我想在不播放动画的情况下设置动画帧当前我正在这样做,它工作得非常完美,但是我可以在不播放动画的情况下使其成为可能吗

GO.GetComponent<Animation>().Play("Start");
GO.GetComponent<Animation>()["Start"].time = ((1f / 30f) * 0);
GO.GetComponent<Animation>()["Start"].speed = 0;
GO.GetComponent().Play(“开始”);
GO.GetComponent()[“开始”]。时间=((1f/30f)*0);
GO.GetComponent()[“开始”]。速度=0;

我的建议是创建一个只包含这一帧的新状态

想象一个状态卡在第一帧上是违反直觉的。这就像说你正在吃东西,但只是拿着叉子,没有任何动作。那句话有点不对

所以你们宁愿有一个固定的状态,然后在循环中运行它。当您需要开始执行其他操作时,只需按原样切换即可

现在,如果要在特定位置开始动画,请执行以下操作:

 animator.Play("AnimName",layer, normPosition);

您可以这样尝试:
GO.GetComponent().Play(“开始”,PlayMode.StopAll)我已经试过了。事实上,我有很多动画,一个接一个地播放。所以,如果我播放一个动画,那么接下来将执行。我想阻止这种行为。这就是为什么要寻找一种方法来设置动画的帧速率而不播放该动画的原因。感谢你的精彩技巧,虽然它不能满足问题标题,但对我来说很有用。因此,为了将来,我将分享我的代码,这也将保存其他代码。再次感谢。