我想在程序运行期间将动画速度更改为所需速度。 我在游戏对象上附加了一个C#脚本和动画控制器。动画的默认统一速度为1。我将动画的默认速度值设置为0.3f。在程序运行时,我希望动画速度为1。
using UnityEngine;
using System.Collections;
public class wowBoard : MonoBehaviour {
[SerializeField]
Animator anim;
bool changeSpeed;
void Start()
{
anim=GetComponent<Animator>();
playAnim();
changeSpeed=false;
}
public void playAnim()
{
anim.SetBool("show",true);
}
void Update()
{
if(changeSpeed)
playChangeSpeedAnim();
}
public void playChangeSpeedAnim()
{
anim.speed=1;
anim.SetBool("show",true);
}
}
Run Code Online (Sandbox Code Playgroud)
动画的速度并没有得到改变,以1个甚至布尔值changeSpeed是真的。
我想以随机顺序更改UI 图像。我在UI(画布)中有一个包含图像组件的游戏对象,它最初具有空图像。我附加了一个脚本(游戏对象)来在运行时更改图像。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class changeImg : MonoBehaviour {
public Sprite sprite1;
public Sprite sprite2;
public Sprite sprite3;
void Start()
{
ChangeImg();
}
void ChangeImg()
{
int rand=Random.Range(0,3);
if(rand==0)
{
gameObject.GetComponent<Image> ().sprite = sprite1;
//gameObject.GetComponent<UnityEngine.UI.Image> ().sprite = sprite1;
}
else if(rand==1)
{
gameObject.GetComponent<Image> ().sprite = sprite2;
// gameObject.GetComponent<UnityEngine.UI.Image> ().sprite = sprite2;
}
else if(rand==2)
{
gameObject.GetComponent<Image> ().sprite = sprite3;
//gameObject.GetComponent<UnityEngine.UI.Image> ().sprite = sprite3;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已在检查器中分配了公共字段(sprite1,sprite2,sprite3)。我尝试了这两个选项,正如我在代码中评论的那样。我没有收到错误,但图像也没有按照我想要的方式更改。 …