- 博客(29)
- 资源 (9)
- 收藏
- 关注
原创 个人作品展示(开源)
本博客永久停更,更新全在我个人网站,https://www.lfzxb.top欢迎大家加入我的Unity交流群:959572557本博客持续更新。欢迎大家和我交流讨论。所有美术素材均来自网络,如有侵权,联系我删除。视频链接:https://www.bilibili.com/medialist/detail/ml759679645?type=1游戏作品Space Shooter ...
2018-11-22 21:42:50 11851 3
原创 数据结构篇:单循环链表倒置(带头结点/不带头结点)
带头结点先去看一下单链表的倒置:https://blog.csdn.net/qq_15020543/article/details/84590642对于单循环链表,它与单链表区别是,它的最后一个结点将指向头结点(无头结点将指向第一个结点),构成一个循环.遍历循环链表的时候,结束标志是next指向head理解了这些基础概念,单循环链表的倒置也不难了完整函数Inode *Te...
2018-11-28 20:26:16 2191
原创 数据结构篇:单链表倒置(带头结点/不带头结点)
带头结点初始化如图1.我们需要把1这个结点作为最后一个结点,所以要把1的next指向NULLh->next->next = nullptr; 2.然后我们要新建结点,指向HeadNext的下一位,并把HeadNext的下一位指向HeadPre,Inode *tempNode = HeadNext->next;HeadNext->next =...
2018-11-28 19:42:19 4235 1
原创 数据结构篇:二叉树(四:交换左右子树)
应用递归思想如果结点不为空,就交换其左右子树,而待交换的左右子树,我们不需要关心是否为空。void Tree::ExChangeTree(BiTree *T) { BiTree *temp = new BiTree; if (T) { temp = T->rchild; T->rchild = T->lchild...
2018-11-28 17:48:41 26868 6
原创 Unity基础篇:解决拖动物体会在相机上产生残影
今天我打开一个项目,拖动了一下相机,然后原因很简单,把相机渲染模式设置为Solid Color或者SkyBox,不要选择Depth Only
2018-11-27 18:54:18 5612 1
原创 设计模式篇:单例模式
在游戏开发中,我们常常会在一个或多个类中引用到另一个类的方法。而这种情况下,我们通常是希望引用到的这个类是同一个类,因为我们要保证数据的同步性和一致性。因此,单例模式就应运而生了。单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式一般写法 public class TestSingleton { private static T...
2018-11-26 13:29:08 326
原创 数据结构篇:二叉树(三:根据中序和后序遍历结果推算出完整二叉树)
我们先理解一下前中后序遍历,这是基础。//前序遍历void Tree::PreOrderTraverse(BiTree *T) { if(!T) { return ; } else { cout<<T->data<<" "; PreOrderTraverse(T->lchild); PreOrderTraverse(T->rch...
2018-11-24 14:53:23 2931 2
原创 Git篇:Git上传文件出现Git-remote Incorrect username or password ( access token )
当我们不小心输错了码云或者GitHub的用户名或密码时,就会出现Git-remote Incorrect username or password ( access token )怎么解决呢进入控制面板第一个是码云的,第二个是GitHub的。编辑保存即可...
2018-11-22 21:41:48 5770
原创 数据结构篇:图的遍历(二:广度优先遍历)
广度优先遍历,又称广度优先搜索,缩写BFS如果说深度优先遍历是相当于树的前序遍历,那么,广度优先遍历就相当于树的层序遍历。以上面那张图为例就是,ABFCIGEDH代码实现void AdjacencyList::BFSTraverse(GraphAdjList *G) { EdgeNode *p; queue<int> Q; for (in...
2018-11-21 22:52:04 5497 2
原创 数据结构篇:图的遍历(一:深度优先遍历)
深度优先遍历,也称作深度优先搜索,缩写为DFS深度优先遍历从某个顶点出发,访问此顶点,然后从v的未被访问的邻接点触发深度优先便利图,直至所有和v有路径想通的顶点都被访问到。这样我们一定就访问到所有结点了吗,没有,可能还有的分支我们没有访问到,所以需要回溯(一般情况下都设置一个数组,来记录顶点是否访问到,如果访问到就不执行DFS算法,如果未被访问过就执行DFS算法)以这张图为例我...
2018-11-21 20:32:28 63085 11
原创 Unity实战篇:实现场景切换画面和进度条
我们在进行Unity开发时,场景切换是不可避免的。例如MOBA从组队房间到游戏场景,MMO传送,以及吃鸡的从素质广场到荒岛,场景的切换势必要加载大量的数据以及各个模块的初始化工作。那么,如果要加载的场景过大,而用户的硬盘或者其他硬件性能不够强劲,那么画面就会卡住,等待很长一段时间,非常影响用户体验。场景切换中间的过渡就在所难免。比如这个(很赞吧~哈哈哈(旁白:又犯病了))那么我们今...
2018-11-20 11:48:03 13574 11
原创 Unity基础篇:判定加载(切换)场景是否完成
老版本的Unity可以用Application.LoadLevel(LoadSceneName);来加载场景用Application.isLoadingLevel来判定场景加载是否完成可是Unity已经准备弃用这个方法了------------------------------------------------------------------------...
2018-11-20 11:08:17 12143 1
原创 设计模式篇:状态模式(二)
完整工程:https://gitee.com/NKG/DesignPatterns/blob/master/DesignPatterns.unitypackage首先在Unity下面创建如下文件首先是场景都要继承的ISceneState其中包括了场景的生命周期函数,场景名称,场景控制器的引用。using System.Collections;using System....
2018-11-20 11:07:58 277
原创 设计模式篇:状态模式(一)
当我们用Unity进行场景切换时,可能会写下如下代码:using UnityEngine;using UnityEngine.SceneManagement;public class ReverseVersion : MonoBehaviour{ private string _state = "到早上了"; public void ChanageScene(str...
2018-11-19 19:37:17 586
原创 数据结构篇:邻接表创建与显示
每一个顶点后面就是一条链表,每个顶点都存在数组里。以这张图为例结构如下运行截图结构体定义//边表结点typedef struct EdgeNode { //顶点对应的下标 int adjvex; //指向下一个邻接点 struct EdgeNode *next;} edgeNode;//顶点表结点typedef struc...
2018-11-17 12:22:31 1293
原创 编程番外篇:Rider体验与常用功能分享
随着我用VS下载的库越来越多,其体积也越来越臃肿。而且,不知为何,我打开比较大的Unity项目,代码文件比较多的话,他会一直卡着,读不出来。这种情况偶尔会出现,但无伤大雅。碰巧群里人安利了Rider,就抱着好奇的态度体验了一下。感觉还不错。给大家安利一下。下载JetBrains Rider你喜欢在哪里下载都可以,我还是推荐官网。附上一个JetBrains全系列在线激活中心(附带破解...
2018-11-15 12:37:41 9247 3
原创 从零开始学Socket:(四)服务端和客户端持续通信与测试
上篇博客已经完成了简单的交互,但是在正常情况下,一个服务器要监听多个客户端,服务器端和客户端的交互也是非常频繁的。所以就要有异步操作,来持续监听。1.监听多个客户端连接,只需要在AcceptCallBack这一回调函数里再次BeginAccept即可2.异步接收数据,BeginReceive为此,我们可以新建一个Message类,用来解析接收到的数据。这个Message类,两个项目...
2018-11-13 21:29:51 1139
原创 从零开始学Socket:(三)服务端和客户端简单通信
连接上服务端和客户端之后,我们就要让他们互动起来了。(到了现在,大家如果对下面代码不懂得地方可以去F12跟踪至源码界面查看,学习就是这样)先在服务端编写发送函数和接收函数 /// <summary> /// 发送数据到客户端 /// </summary> /// <param name="toCl...
2018-11-13 13:12:36 460
原创 从零开始学Socket:(二)连接服务端和客户端
先了解一下线程问题,在Main函数里就是主线程他能处理代码,而new Thread就是新开一个线程,他和主线程互不干预,但是主线程完了,他也完了。他完了,主线程没事。 在上篇博客里,我们已经创建好了服务器端和客户端,但是他们俩还没有联系,要把他们联系起来,就需要在服务器端监听客户端连接。于是就有了BeginAccept函数。老规矩,在Socket从元数据里(刚刚F12进入的代码界面)查看说...
2018-11-13 12:59:22 718
原创 从零开始学Socket:(一)服务端和客户端创建
上篇我提到Socket是TCP/IP的抽象接口。所以我们直接使用就好,没必要知其甚解。1.打开VS 新建项目名称,位置随意这里名称是Server框架选.NET 4.5(在这篇博客里也无所谓)注意引用using System.Net;using System.Net.Sockets;这两个命名空间using System;using System.Net...
2018-11-13 12:15:15 1533
原创 从零开始学Socket:前言
我学习Socket的动机很简单,我要做一个基于Socekt的网络游戏。先放一下源代码,不过还是建议大家自己敲一遍源代码:https://gitee.com/NKG_admin/SocketTestDemo关于Socket的基础概念以及相关知识,请大家自行百度。https://blog.csdn.net/fighting_xa/article/details/50623571 ht...
2018-11-11 22:04:02 736
原创 Unity进阶篇:主线程和子线程概念及注意点
先理解一下什么是线程:线程是操作系统级别的概念,现代操作系统都实现并且支持线程,线程的调度对应用开发者是透明的,开发者无法预期某线程在何时被调度执行。基于此,一般那种随机出现的BUG,多与线程调度相关。什么是Unity主线程?通俗点讲,Unity的主流程生命周期函数就是主线程。常用的生命周期函数:Awake():唤醒事件,游戏一开始运行就执行,只执行一次。OnEnable(...
2018-11-11 11:29:08 11421 3
原创 GameFramework篇:框架基本理解以及源码下载
先偷偷观察一下E神的GitHub只有三个项目,尽管如此,我还是感受到来自E神的压迫感。我们再来看一下官网的描述什么个意思呢?我们先看UGF可以看到有GameFramework的dll文件,那么它是从哪来的呢?它来自GameFramework 再看UGF的Scripts,里面就是UnityGameFramework.Runtime和UnityGameF...
2018-11-05 21:51:22 7575
原创 GameFramework篇:前言
到了现在,我感觉到对引擎的熟悉程度差不多了,也能自己做点小项目,可是着手写大点的项目的时候,经常会有无从下手的感觉,设计模式也看了,别人源码也能看懂,可是就是写不出人家那种水平的代码,于是我决定学习一个游戏框架,熟悉他的流程,思想,并且应用到项目中。我写这个专栏的动机如下: 学完整理成博客,让自己理解更深刻。 互联网教会了我很多,我要尽自己的一份薄力回报。 希望帮助到...
2018-11-05 12:17:35 2314
原创 Unity实战篇:MOBA游戏小地图制作(二:细节完善)
1.场景新建一个Cube,命名为Ground,scale设置为200,0.01,200。2.创建材质球,把准备好的地图图片(开一把MOBA游戏~)拖进去,然后把材质球给Ground。我们的地图实体差不多是这样3.新建一个脚本,命名为MapReponse,作为我们点击小地图控制人物移动的脚本。挂载到MapMask身上,并在MapMask下面新建一个Image(图片随意),命名...
2018-11-04 22:55:24 5502
原创 Unity实战篇:MOBA游戏小地图制作(三:实现点击小地图控制人物移动)
前言:在开始之前,建议大家先了解一下Unity的原生点击事件以及UGUI的基础知识(旁白:少废话,谢谢)我们知道,Game窗口左下角坐标为(0,0),右上角为自己设置分辨率的值,比如我分辨率是1920*1080,那么我Game窗口的右上角就是(1920,1080)然后我们注意到上篇的UI和实体地图都是正方形(这里可以根据需求自由变化,只需要注意比例即可),那么,我们就可以依据比例来反射...
2018-11-04 22:55:03 7250
原创 Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)
在许多游戏里,我看到都有小地图这个模块,对于玩家而言很友好,所以今天研究一下。本人能力有限,利用CustomRenderTexture实现。环境:Unity2018.2.13f1Demo下载:https://download.csdn.net/download/qq_15020543/10765062(如果没有积分就加我好友,我用QQ发你)先简单的说一下基本流程。创建一...
2018-11-04 20:04:46 11701 5
原创 数据结构篇:二叉树的基本应用(一)
二叉树递归算法,树中存放整型数①创建一棵树②构造递归算法,计算树中值大于x的结点的个数,int countx(Bitnode *t,int x) #include <iostream>using namespace std;typedef struct BiTree { int data; BiTree *lchild,*rchild;} Tree ;cl...
2018-11-04 14:47:10 2124
原创 数据结构篇:单链表基础操作(二)
已知带头结点的单链表,存放一组整型数①创建n个元素的单链表②计算链表中值大于x的结点的个数,int countx(lnode *head,int x)③两个链表ha,hb存放整型数,每个链表中无相同元素,hc=ha∩hb,即ha和hb中相同元素放入hc中,void intersection(lnode *ha,lnode *hb,lnode *&hc)#include <...
2018-11-04 14:09:56 936
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人