Unity作业3

本文介绍了游戏对象运动的本质,通过矩阵变换实现物体的抛物线运动。同时,展示了游戏中的元素,如河岸、角色等,并详细说明了玩家动作表。文章还探讨了一个基于MVC架构的游戏实现,包括模型、视图和控制器的详细设计,以及用户交互和游戏状态管理。通过代码实例,解释了如何处理角色和船只的移动,以及游戏的成功和失败条件。
摘要由CSDN通过智能技术生成

1、简答并用程序验证

  • 游戏对象运动的本质是什么?

游戏运动本质就是使用矩阵变换(平移、旋转、缩放)改变游戏对象的空间属性。

  • 实现物体的抛物线运动。
public class move1 : MonoBehaviour
{

    private float g = 0.25f;
    private float vx = 2, vy = 1;

    void Update()
    {
        this.transform.position += vx * Vector3.left * Time.deltaTime;
        this.transform.position += vy * Vector3.up * Time.deltaTime;
        vy -= g * Time.deltaTime;
    }
}

2、编程实践

游戏中的事物:

  • 河岸
  • 牧师(priest)
  • 魔鬼(devil)

玩家动作表:

游戏状态 动作 响应
已结束 左键单击重新开始按钮 重新开始游戏
进行中 左键单击人物 在船和其靠近的岸边之间移动(船上最多两人)
左键单击船 如果船上有人物(牧师或魔鬼均可),则船移动到另一端

制作游戏预制:

(船、魔鬼、牧师的模型采用开源资源,分别来自:Lowpoly paper boats、Devil、Supercyan Character Pack Free Sample)

初始化代码:

public class Main : MonoBehaviour
{
    public static MainController controller;
    public static UI ui;
    void Start()
    {
        Object.Instantiate<GameObject>(Resources.Load<GameObject>("Prefabs/Sea"), new Vector3(1.78064036f, 0.428083658f, -2.58708763f), Quaternion.identity);
        controller = new MainController();
        (gameObject.AddComponent(typeof(UI)) as UI).controller = controller;
    }
}

 
MVC架构:

  • Model:Entity、Boat

Entity为人物类,Devil类和Priest类继承人物类

public class Entity
{
    private GameObject obj;
    public int loc; // 位置,0:右岸,1:左岸,2:船上
    public int n;
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值