用unity完成一个3D狼羊过河游戏

实验目标

使用unity完成一个狼羊过河游戏,实现基本功能。

实验步骤

场景布置

可以去unity自带的资源商店下载素材使用(有不少免费的),搭建好场景。

选择层级中的Main Camera,即可对游戏游玩视角进行调整。

这是搭建好场景、调整好游戏视角后的样子,有一个起始岛屿,一个目标岛屿,一个小船,三头绵羊和三头山羊(由于我找不到合适的狼或人物的模型,便用山羊代替狼,其他内容不变)

之后再设置一个游戏结束界面,添加Canvas作为画布,再在Canvas上添加Panel,Panel底下增加两个表示游戏结果的Text,和一个Botton,用于重启游戏。

结构如图:

扫描二维码关注公众号,回复: 17575844 查看本文章

初步效果如图:

逻辑设计

对3个Sheep和3个Goat分别添加Sheep和Goat的标签

并对船和6只动物都在组件处添加Collider

即可完成基本的逻辑设计

代码设计

BoatController.cs:

using UnityEngine;
using System.Collections.Generic;

public class BoatController : MonoBehaviour
{
    public float moveSpeed = 10f;                       // 船的移动速度
    public float rotationSpeed = 90f;                   // 船的旋转速度(度/秒)

    public Vector3 nearShorePosition;                   // 起始岛的靠岸位置
    public Vector3 farShorePosition;                    // 目标岛的靠岸位置
    public List<AnimalController> animalsOnBoat = new List<AnimalController>(); // 船上的动物
    public int maxCapacity = 2;                         // 船的最大容量

    private Vector3 targetPosition