游戏暂停,同时暂停角色动画

当在游戏暂停的时候,播放的动画也要相应地暂停,游戏暂停写成一个事件

 

FramGameManager

 

using UnityEngine;

    using System.Collections;



public class FramGameManager : MonoBehaviour

{

    public static FramGameManager instance;

    public delegate void gamePauseHandler(bool pauses);

    public event gamePauseHandler gamePause;

    

    

    void Awake(){

        instance=this;    

    }

    

    // Use this for initialization

    void Start ()

    {

    

    }

    

    // Update is called once per frame

    void Update ()

    {

    

    }

}



 
FramPlayAnimation 
 
using UnityEngine;

    using System.Collections;



public class FramPlayAnimation : MonoBehaviour

{

    private FramGameManager gameManager;

    private Animation thisAnimation;

    bool isPress = false;

    

    // Use this for initialization

    void Start ()

    {

        thisAnimation = animation;

        thisAnimation ["Idle"].wrapMode = WrapMode.Loop;

        thisAnimation ["Idle"].layer = 1;

        thisAnimation.Play ();

    }



    void OnGUI ()

    {

        if (GUILayout.Button ("Pause")) {

            isPress = !isPress;

            gamePause (isPress);

        }

    }

    

    public void gamePause (bool pause)

    {

        int speed = pause ? 0 : 1;

        foreach (AnimationState item in thisAnimation) {

            item.speed = speed;

        }

    }

}

运行结果,当点击暂停时角色动画将暂停

imageimage

你可能感兴趣的:(游戏)