3d游戏编程第4次作业

简单打飞碟小游戏

游戏规则与要求

  1. 规则: 鼠标点击飞碟,即可获得分数,难度不同飞碟颜色不同,不同飞碟分数不一样,飞碟的初始位置与飞行速度随机,随着分数增加,游戏难度增加。初始时每个玩家都有6条生命,漏打飞碟扣除一条生命,直到生命为0游戏结束。

  2. 要求:使用工厂模式管理不同飞碟的生产与回收,实现Singleton 模板类
    来可能使用前面 MVC 结构实现人机交互与游戏模型分离

实现:
本次作业用了MVC架构,也只是简单的MVC,并没有SSDirector类了,当然,还有这周要求的工厂模式也是有的。

这次作业学会了使用两个新的对象,gameObject和GetComponen,这两个对象极大的方便我对其他对象的行为进行封装,在使用之前也看了许多相关的博客,这里引用以下其说明:

GetComponent:GetComponent"这个方法的返回值是一个泛型,由<>内的类型决定。比如Button btn = GetComponent();,获取当前GameObject上的Button组件并赋值给btn这个变量。我们创建每个游戏对象都是用GameObject的了,但不同对象有不同的方法和属性,所以就可以自己写脚本挂到物体上,让它实现你想要的方法。当然,通过这个方法也可以添加其它组件比如Rigibody 。

gameObject:gameobject是一个对象, 就跟java里面的this一样, 指的是这个脚本所附着的游戏物件这是GameObject的实例,但它只读,它有什么用呢,当你把一个组件(这里重点指的是脚本),怎么获得该脚本挂的物体呢,其实是有记录的,gameObject就是脚本当前挂的物体。

下面讲下本实验的过程:
模块1 : 实现GameModel类,实现disk的属性以及方法
模块2:实现DiskFactory类,对disk进行回收和生产
模块3:实现类scoreRecorder,用来计分
模块4:实现SceneController类:实现发出飞碟,回收飞碟,以及控制游戏状态,获取游戏状态
模块5:实现UI类,对游戏的各对象的位置,显示等进行设定。

成品图:
在这里插入图片描述
总结:这个制作的比较简陋,但学到的东西有很多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值