内容纲要

实现功能

道具会在豆子的坐标上随机出现
玩家吃下道具时怪物会改变颜色

道具的随机出现

在AStar算法中可以获得所有豆子的坐标集合
将该坐标集合储存起来
在创建道具时在豆子坐标集合中随机获取一个坐标最为道具创建的位置达到随机创建豆子的目的

  public void SpawnPowerUp()
    {
        //游戏结束后将不创建道具
        if (gameOver)
            return;
        //使用预制体创建道具
        GameObject powerUp = Instantiate(powerUpPrefab);
        //道具创建的位置
        powerUp.transform.position = walkableList[Random.Range(0,walkableList.Count-1)]-liftBottom;
        //道具创建时设置父节点
        powerUp.transform.SetParent(powerUpParent.transform);
    }

怪物的改变颜色

在游戏控制器中有一个isPowerUp来决定玩家是否得到了PowerUp的道具

//获得道具时
 if (GameController.gameController.isPowerUp)
{
    //将怪物的颜色设置淡一些
    this.GetComponent<SpriteRenderer>().material.color = new Color(0.5f,0.5f,0.8f,1.0f);
}
else
{
    //道具失效后怪物的颜色将变为原来的颜色
    this.GetComponent<SpriteRenderer>().material.color = Color.white;
}

发表评论