20677人加入学习
(123人评价)
Unity初级案例 - 贪吃蛇(Unity2017.2.0)

制作于2017.12.16

价格 免费

如果曾经运行过同公司的产品,并全屏的话

打开注册表

删掉UnityEditor中的所有东西

删掉公司项目名的注册表

 

解决方法

删掉项目重新发布,并且重新发布的时候更改公司名。

或者将全屏那个选项选为Enable

 

[展开全文]

Resources文件夹用文件名来访问资源

Resource.Load(目标文件夹的名字)不需要加Resources/以及文件扩展名

gameObject.GetComponent<Image>.sprite=resource.Load(PlayerPrefs.GetString("sh","sh02"))

如果没有读取到sh存档则默认sh02

声音文件Audio Source

Audio Listener

[展开全文]

创建存储用户数据

PlayerPrefs.GetInt()

PlayerPrefs.SetInt()

存储后开始游戏方法

绑定按钮事件开始游戏

 

[展开全文]

死亡离子特效

添加死亡方法

变量isDie

在移动脚本中死亡后不能移动

协程

重载当前场景

 

死亡之后

记录得分,长度,在场景重载之前记录

[展开全文]

暂停方法

在点击方法绑定脚本并选择方法

Space键冲突

Input中行为中空格键取消掉

[展开全文]

定义分数和长度变量

定义文本信息

UpdateUI方法计算分数和长度

单例模式

Awake赋值

实例化UI显示随机数

Update中更新等级

 

[展开全文]

和食物一样制定Reward预设

然后给食物生成方法一个bool参数

利用随机数生成奖励

在食物生成方法里面把食物替换成奖励目标,并取消图片

然后在触发碰撞检测里面更改标签,获得奖励销毁奖励

[展开全文]

is Trigger 勾上后不会被其他碰撞器挡住,会检测碰撞

碰撞的两边只能有一个勾is Trigger

勾上 is Trigger的碰撞器称为触发器

用private void OnTriggerEnter2D来调用触发器函数

碰撞的两边只要有一个挂刚体就可以了,不用两边都挂

蛇头上挂刚体

[展开全文]

让canvas获取值

最后一个挪到蛇头的

Last方法让最后一个蛇身的位置移动到蛇头的地方

Insert(待插入的位置,从哪里)

再用RemoveAt(参数选择位置)移除

 

最开始的时候没有吃食物,数组为空,有空指针

屏幕中间的蛇身让先实例化在屏幕外边

 

[展开全文]

给蛇身添加Box collider 2D

List泛型集合存储蛇身

创建蛇的预制体

创建精灵体来存储蛇身图片

三元表达式:奇偶性来取图片

[展开全文]

 

 

给食物添加标签,和碰撞器。

在蛇头添加2D碰撞器,自己手动设置碰撞器 挂上刚体,要比图片小一点,istrigger选上。

给蛇头添加触发检测方法,销毁食物,

 

单例模式

static

get

 

[展开全文]

食物要生成在Step范围之内

计算食物生成范围

[展开全文]

蛇头旋转归正

四元数

避免蛇头的错误移动&&

CancelInvoke

[展开全文]

每次多少步

x,y增量

localPosition

Update方法中

Input.Getkey()

InvokeRepeating("方法名",执行多久之后调用,每隔多久调用一次);

[展开全文]

蛇头移动

  突变:操纵Transform

  传送

蛇身移动

  继承蛇·s

吃食物

  增加蛇身

  销毁事物

  撞到边界死亡

  

[展开全文]

Box Collider 2D并不能自动识别Canvas

需要在控件里面手动调试

[展开全文]

UGUI渲染是按顺序渲染

透明度在颜色里面调

Toggle Group

[展开全文]

canvas的默认尺寸再Game面板的左上角设置

[展开全文]

授课教师

SiKi学院讲师

课程特色

图文(1)
视频(23)
下载资料(1)