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

制作于2017.12.16

价格 免费

蛇头移动  

突变闪现移动复刻原始版 直接操控transform即可

每隔一段时间操纵(InvokeRepeating)

蛇身移动

1 移动到上一节的位置(妙啊)  适用于双色蛇身 根据奇偶性改变颜色

2 最后一节移到最前面 重复

eat   往后加一节身体 不影响蛇身

传送 同移动 只需管蛇头即可

[展开全文]

所有的移动都是相对蛇头移动

 

功能:

1.自身移动

2.蛇身移动,通过蛇头管理,并不是蛇身挂脚本自己移动

3.吃食物,蛇身变长

 

移动用invokerepeat控制

后面每一节蛇身继承上一节位置

或者将最后一节移动到蛇颈位置,但如果是颜色有要求则需要改动颜色

 

吃到食物后,往后加节点

[展开全文]

1:移动方式,继承上一个位置,最后一个移动到第一个(改颜色)

2:吃东西,加到最后一个位置,看颜色

3;gu

[展开全文]

边界模式

invoke repeat (隔一段时间)

蛇身有两种移动方式:

第一种:让后面的东西继承上一个的位置

第二种:只挪开蛇屁到蛇脖子,后面的身子继续跟随(颜色会会混乱)不采用

吃东西:

蛇头碰到食物(蛇身在后面加)

死亡

自由模式

 

 

 

[展开全文]

所有的移动都是对头而言的。碰撞盒

实现功能:移动头和身、吃食物加长身体和销毁事物

transfrom 直接控制改变值

enke 一点点移动的目的

2种移动方法:每个物体都移动到它的前一个位置(使用第一种因颜色不同具有奇偶性);把最后的骨头移动到头后的首位 其余的不动

吃东西:往最后面加

死亡:撞到边界和蛇身

跳到上一次蛇头的位置 利用transform

[展开全文]

逻辑思路。。

如何去完成。。

所有移动对蛇头而言,

sb

蛇头move,每个一段时间突变,直接操控transform,改变一个值,

InvokeRepeating();

后面每一个蛇身移动到前一个位置。

最后一个蛇尾移动到蛇脖子处。

 

吃食物。往后加节点。

传送。传蛇头就可以了。蛇身复刻。

蛇头管理蛇身,

吃食物,蛇身变长,

 

[展开全文]

蛇头需要的功能

  移动:自身移动、控制蛇身移动

  吃:增加蛇身,销毁食物

 

每个时间单位,蛇头向前移动一个单位

 

蛇身需要的功能

 移动:·每一节蛇身移动到它前面蛇身的位置

            ·蛇屁股移动到

[展开全文]

难点是如何让蛇在吃到食物时销毁食物,同时在蛇尾末端长出一个新身体单位。

 

以及如何编写蛇头读取键盘指令移动的代码,以及如何让每一个蛇身单位继承前一个单位的位置。

[展开全文]

游戏逻辑实现概述

1.SnakeHead:实现基本所有逻辑

(1)Move:蛇头移动和蛇身移动

操纵蛇头的Transfrom每隔一段时间移动一定距离

然后蛇头发指令,让所有的蛇身移动到它前面蛇身的位置

第二种实现方法:将最后一个蛇身移动到第一个蛇身位置,但是这种适合蛇身是单色的模式

(2)Eat:吃到食物蛇身加一,食物自己销毁

 

 

2.SnakeBody:挂在Collider组件检测碰撞

 

3.无尽模式下传送的制作

 

[展开全文]

蛇头移动 蛇身跟着移动

蛇头对蛇身下命令

蛇头对事物进行销毁

蛇身监控蛇头碰撞

transform蛇头移动(每隔一段时间移动)

invoke report(移动)

蛇身移动:

2种方法

 

1:继承前面位置

2:挪动蛇屁股至蛇颈(颜色不同很难实现)

 

吃食:

后加蛇身

 

死亡:

碰到任意边界器

触碰蛇身

 

传送:

对蛇头进行传送

 

 

 

[展开全文]

移动:

适合多色蛇身

蛇在移动的过程中,第一种实现方法是,从后往前移动,

适合单色蛇身

第二种方法,蛇最后的一个节点移动到蛇头移动后的地方其余身体不动。

eat food :

[展开全文]

蛇头控制所有蛇身的移动

用重复调用调用蛇身移动

蛇身移动到上一个位置,每一个的下一步都是上一个物体的位置 (单双色都可以使用,视觉上无差别)

把最后的一个物体移到最前面的后一个位置,视觉上造成移动的错觉(只有单色可以使用)

[展开全文]

蛇头移动

  突变:操纵Transform

  传送

蛇身移动

  继承蛇·s

吃食物

  增加蛇身

  销毁事物

  撞到边界死亡

  

[展开全文]

蛇头 承担大部分功能:

move 分为蛇头自己的移动和蛇身的移动

eat 吃食物 1.加一个蛇身 2.销毁食物

碰撞边界死亡

无边界传送

蛇身 承担与蛇头碰撞检测功能

加一个collider做检测

 

蛇头移动以突变(Transform)进行而不是插值(Lerp)变化或者(MoveToward)移动

用InvokeRepeating进行

 

蛇身有两种方法移动

1.让所有蛇身向“前”加1。实现起来较为困难。

方法:让每一个蛇身继承前一个位置,从后往前继承。

2.把最后一个蛇身移到蛇头后第一个节点。

 

由于双色蛇身,方法2会导致蛇身换色,吃食物加蛇身会颜色混乱。

 

 

吃东西

吃后加蛇头后第一个节点导致颜色混乱,所以加蛇尾节点

 

死亡

蛇头碰撞边界Collider检测

 

传送

蛇头Transform 变负值即可

[展开全文]

授课教师

SiKi学院讲师

课程特色

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