小编ero*_*ero的帖子

在统一C#中更改运行时动画的速度

我想在程序运行期间将动画速度更改为所需速度。 我在游戏对象上附加了一个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真的

c# animation unity-game-engine

6
推荐指数
3
解决办法
1万
查看次数

使用unity c#中的脚本更改UI图像

我想以随机顺序更改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)。我尝试了这两个选项,正如我在代码中评论的那样。我没有收到错误,但图像也没有按照我想要的方式更改。 …

c# unity-game-engine

5
推荐指数
2
解决办法
4万
查看次数

标签 统计

c# ×2

unity-game-engine ×2

animation ×1