UI系统血条(Health Bar)的预制设计。具体要求如下
分别使用 IMGUI 和 UGUI 实现
使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机
分析两种实现的优缺点
给出预制的使用方法
IMGUI实现项目地址
IMGUI及时模式图形界面。它是代码驱动的 UI 系统,没有图形化设计界面,只能在 OnGUI 阶段用 GUI 系列的类绘制各种 UI 元素,因此 UI元素只能浮在游戏界面之上。
我们使用HorizontalScrollbar的宽度显示血量:GUI.HorizontalScrollbar(HealthBar, 0.0f, health, 0.0...
粒子系统
使用粒子流编程控制制作效果 “粒子海洋”+“粒子光环“
本次作业选择第三项,使用粒子流编程完成一些效果。粒子光环的制作在课上完成的粒子海洋的基础之上。
项目地址
粒子光环的制作
添加GameObject->Particle System。分别命名为ParticleCirclefixed-x、ParticleCirclefixed-y、ParticleCircleSpread。Spread表示颜色加在粒子本身上,不管粒子如何运动其本身颜色不变,从视觉上看,随着粒子运动颜色实现了扩散;fixed表示颜色是按照位置显示的,即粒子在不同的坐标下颜色是不同...
3D游戏编程与设计-模型与动画智能巡逻兵
游戏设计要求:
创建一个地图和若干巡逻兵(使用动画);
每个巡逻兵走一个3~5个边的凸多边型,位置数据是相对地址。即每次确定下一个目标位置,用自己当前位置为原点计算;
巡逻兵碰撞到障碍物,则会自动选下一个点为目标;
巡逻兵在设定范围内感知到玩家,会自动追击玩家;
失去玩家目标后,继续巡逻;
计分:玩家每次甩掉一个巡逻兵计一分,与巡逻兵碰撞游戏结束;
程序设计要求:
必须使用订阅与发布模式传消息
subject:OnLostGoal
Publisher: ?
Subscriber: ?
工厂模式生产巡逻兵
友善提示1:生成 3~5个边的...
物理系统与碰撞改进飞碟(Hit UFO)游戏
游戏内容要求:
按 adapter模式 设计图修改飞碟游戏
使它同时支持物理运动与运动学(变换)运动
这次作业时对上次作业的一次改进。
将Base中关于action的部分提出来,单独建立action_Adapter.cs,首先定义interface接口。
123456789public interface UFO_action { void SetSpeed(int speed); void Start(); void Running(bool run); ...
与游戏世界交互编写一个简单的鼠标打飞碟(Hit UFO)游戏
游戏内容要求:
游戏有 n 个 round,每个 round 都包括10 次 trial;
每个 trial 的飞碟的色彩、大小、发射位置、速度、角度、同时出现的个数都可能不同。它们由该 round 的 ruler 控制;
每个 trial 的飞碟有随机性,总体难度随 round 上升;
鼠标点中得分,得分规则按色彩、大小、速度不同计算,规则可自由设定。
游戏的要求:
使用带缓存的工厂模式管理不同飞碟的生产与回收,该工厂必须是场景单实例的!具体实现见参考资源 Singleton 模板类
近可能使用前面 MVC 结构实现人机...
游戏对象与图形基础基本操作演练
下载 Fantasy Skybox FREE, 构建自己的游戏场景
(因为Fantasy Skybox FREE 与本地Unity5.0.0版本不兼容,所以下载了Skybox Series Free)
写一个简单的总结,总结游戏对象的使用
在Asset store中下载相应的天空盒。下载结束后,将其import进我们的项目。
接着可以创建matrial,自己贴上六面的天空盒,当然也可以使用预置的scene直接观察效果。
编程实践
牧师与魔鬼 动作分离版
【2019新要求】:设计一个裁判类,当游戏达到结束条件时,通知场景控制器游戏结束
&em...
MOSAD_HW2个人作业2-面向对象与Objective-C语法学习。
实验目的
学习掌握Objective-C语法,掌握基础字符串操作。
OO知识——多态与继承
实验内容给定三个用户张三,李四,王五。
给定四种语言英语、日语、德语、西班牙语。
实现场景输出(log形式即可):随机选择一个用户和一种语言学习,从当前日期开始,随机产生时间进行学习,输出学习进度直至学习完毕。每个语言共8个tour,每个tour共4个unit,每次学习一个unit。
要求:
随机选定人名、语言后,一次性输出所有的结果。
随机时间指的是每次随机1-5天,每次学习时间在前一次的基础上加上刚刚随机出的天数。
...
朴素贝叶斯分类器
理论求解根据题意:
100封垃圾邮件中有5封包含“中奖”,则P(中奖|垃圾) = 5%
1000封正常邮件中有1封包含”中奖”,则 P(中奖|正常) = 0.1%
假设“邮件是垃圾邮件”为事件$ B{1} $,“邮件是正常邮件”为事件$B{2}$,“邮件中含有‘中奖’这一关键词”为事件$A$。
我们有$P(B{1})=P(B{2})=50\%$,$P(A|B{1})=5\%$,$P(A|B{2})=0.1\%$
则根据贝叶斯定理:
P(B|A)=\frac{P(A|B)P(...
3D游戏编程与设计-空间与运动简答并用程序验证
游戏对象运动的本质是什么?
游戏对象运动的本质是通过矩阵变换在每一帧改变游戏对象的position、rotation、scale等属性的参数。
请用三种方法以上方法,实现物体的抛物线运动。(如,修改Transform属性,使用向量Vector3的方法…)
修改Transform属性
123456789101112131415161718192021222324using System.Collections;using System.Collections.Generic;using UnityEngine;public class N...
Objective C Notes声明:本博客参考了易百教程和菜鸟教程
类的声明:@interface child : father
方法的实现: @implementation child (不用制定父类)
.h文件中声明public methods .m文件中声明private methods
@interface 类名后加个括号:Objective-C 2.0中的Category语法 ,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,我们可以为任何已经存在的class添加方法。
Defining Methods:
12-(...