项目实训(六)休闲跑酷游戏之人物与金币问题


前言

休闲跑酷的人物与金币问题


1. 如何生成金币

通过随机生成金币阵列随机生成金币

>    /// </summary>
>     public static void RandomCreate(Vector3 startPos)
>     {
    
    
>         var id = Random.Range(0, 4);
>         if(null == s_coinListPrefab[id])
>         {
    
    
>             // 加载金币预设
>             s_coinListPrefab[id] = Resources.Load<GameObject>("CoinList" + id);
>         }
>         // 实例化预设
>         var coinListRoot = Object.Instantiate(s_coinListPrefab[id]);
>         var coinBhv = coinListRoot.AddComponent<Coin5>();
>         // 设置初始坐标
>         coinBhv.SetPos(startPos);
>     }

2.如何判断人物吃到金币

如下图中玩家碰到金币,金币便会消失并在金币数处加一

在这里插入图片描述

/// 触发器事件
    /// </summary>
    private void OnTriggerEnter2D(Collider2D collision)
    {
    
    
        if ("Coin" == collision.gameObject.tag)
        {
    
    
            // 吃到金币
            Destroy(collision.gameObject);
            GameMgr.instance.score++;
        }
    }

2.如何判断玩家落地还是死亡

落地:
在这里插入图片描述
死亡:
在这里插入图片描述
代码如下:

 /// 碰撞事件方法
    /// </summary>
    /// <param name="other"></param>
	void OnCollisionEnter2D(Collision2D other)
    {
    
    
        switch (other.gameObject.tag)
        {
    
    
            case "Ground":
                {
    
    
                    // 碰撞到地面
                    m_ani.SetBool("IsJumping1", false);
                    m_ani.SetBool("IsJumping2", false);

                    m_jumpCount = 0;
                }
                break;
            case "Border":
                {
    
    
                    // 游戏结束
                    GameMgr.instance.state = GameState.End;
                }
                break;
        }

  • 死亡后回到游戏结束的界面
    在这里插入图片描述
public class GameOverPanel : MonoBehaviour
{
    
    
    public Button restartBtn;
    
    void Start()
    {
    
    
        restartBtn.onClick.AddListener(() => 
        {
    
    
            GameMgr.instance.state = GameState.Playing;
            SceneManager.LoadScene("FifGame");
        });
    }
}

猜你喜欢

转载自blog.csdn.net/qq_45856546/article/details/125127181
今日推荐