- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 [Untiy]贪吃蛇大作战(五)——游戏主界面
接着上一节:4、AI蛇的设计这里AI蛇大部分代码都可以参照主角的代码,我这里的实现其实还可以进行改进。基本原理就是蛇创建之后给蛇一个随机方向的单位向量,AI蛇的蛇头添加一个比蛇头大两三倍大小的碰撞检测盒,效果如图:当蛇头的碰撞检测盒子与墙壁或者其他蛇的身体碰撞时,给蛇一个反向160-200度的向量,这样AI蛇就不会碰撞到墙壁或者其他蛇的身体上死亡了。代码如下:using Sy...
2018-07-30 15:46:41 3086 3
原创 [Untiy]贪吃蛇大作战(四)——游戏主界面
游戏主界面: 由于这个场景比较复杂,需要分几个部分实现:1、游戏背景首先我们的游戏场景上包括了一个大的背景图片,之外再包围一个红色的区域。中间的区域才是可活动的区域,周围通过碰撞检测盒来检测是否有蛇撞到了墙壁。2、食物生成食物生成通过一个单例脚本来实现,创建一个食物的内存池(脚本中的idleFood并没有使用),内存池中有200个食物随机生成在游戏的活动区域中,...
2018-07-30 15:36:42 2909 5
原创 [Untiy]贪吃蛇大作战(三)——商店界面
游戏商店界面:实际的效果图如下: 要实现这个滑动,首先我们需要,一个内容显示区域,一个内容滚动区域,如下图:其中ItemContent挂载的组件如下:红框标注的地方是右方的滑动块。然后ItemScrollRect挂载的组件有:核心是网格布局组,其孩子结点都会自动根据大小进行排列位置。 当能够实现滚动之后,我们还需要对皮肤选择进行代码编写控制:...
2018-07-30 15:25:24 2080
原创 [Untiy]贪吃蛇大作战(二)——规则界面
游戏规则界面:从界面上可以看出,一共有三个按钮,两个切换按钮和一个退出按钮。一共三张规则图片Sprite,我们通过设置其是否为Active来控制显示,其控制脚本代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;pu...
2018-07-30 15:13:47 1849 1
原创 [Untiy]贪吃蛇大作战(一)——开始界面
前言:刚学unity没多久吧(大概1个月多点),这是我自己做的除官网之外的第一个游戏demo,中间存在很多不足的地方,但是还是希望可以给需要的人提供一些思路和帮助,有问题的小伙伴可以找我一起探讨一起学习。游戏的资源和脚本都放在我的github上了,需要的小伙伴也可以去这里clone一份资源下来自己做一做这个游戏,有不会的地方可以参考一下我的脚本,附地址:https://github.com...
2018-07-30 15:08:27 5903 2
原创 [C#]简单的理解委托和事件
委托在C++中可以利用“函数指针”将对方法的引用作为实参传递给另一个方法,而C#中可以利用委托提供相同的功能。委托-内部机制但是委托实际上是一个特殊的类。委托必须直接或间接的派生自System.Delegate。实际的委托类型总是派生自System.MulticastDelegate(创建委托的时候,编译器自动继承的是MulticastDelegate而不是Delegate),后者又从...
2018-07-27 18:28:11 504
原创 [C#]关于override和new在重写方法时的区别
规则:在“运行时”遇到虚方法时,对象会调用虚成员派生得最远的、重写的实现。 如果是用new修饰符实现的方法,它会在基类面前隐藏派生类重新声明的成员,这时候会找到使用new修饰符的成员之前的成员,然后调用它。 一定要显式地使用override关键字来重写方法,如果没有使用override,也没有使用new,则会默认使用new。 例子:using System;using Sy...
2018-07-26 15:00:17 419
原创 [C#]关于逆变与协变的基本概念和修饰符in与out的意义
协变与逆变的概念假如两个类型X和Y具有特殊关系,X类型的每个值都能转换成Y类型。我们将I<X>向I<Y>的转换称为协变转换。反之我们将I<Y>向I<X>的转换称为逆变转换。简单的举个例子:List<string> str;List<Object> obj;我们知道在C#中所有引用类型都直接或间接地继承自O...
2018-07-26 14:30:09 393
C#基于TCPIP的聊天室
2017-12-06
Git-2.14.1-64.bit.exe
2017-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人