- 博客(43)
- 资源 (10)
- 收藏
- 关注
原创 UGUI ScrollRect 翻页模块
基于UGUI制作ScrollRect原生的插件往往都是面向大众需求,并不能完全的满足我们游戏的各种各样的需求,于是只能基于原有的逻辑增加自己的需求,在游戏中,滑动列表是最常见的,原生的滑动只是可以滑动,但是我们需要增加一个功能,整页整页的滑动。 我是.基于NGUI UIGrid 布局排列,基于NGUI UIWarpContent的ScrollRect内的item进行优化,实现IBeginDragHandler, IEndDragHandler, IDragHandler接口实现思路,通过滑动前,和滑动
2021-03-09 17:57:17
502
原创 Unity Mash实现战斗飘血
什么是MashMesh是指的模型的网格,3D模型是由多边形拼接而成,而多边形实际上又是由多个三角形拼接而成的。即一个3D模型的表面其实是由多个彼此相连的三角面构成。三维空间中,构成这些三角形的点和边的集合就是Mesh为什么要用Mash实现战斗飘血我们都做游戏的时候,都是知道一个很熟悉的词汇“预设体”,它在游戏开发过程中有这举足轻重的地位,时刻时刻都能见到他的身影。我们可以通过预设体的特征克隆出大量的具有相同性质的游戏物体,我上一个项目的的飘血实现就是用不断的克隆预设体实现的。由于战斗的节奏很快,所以会
2021-02-08 11:36:32
957
原创 游戏开发— excel一键转换csv文件
xls文件一键转csv都忘记了有多久没有更新了,时间过得好快,难忘的2020已经过去了5天了。2021从新开始这类型的插件之前就写过的,当时没有保留,突然项目需要。就回去从新找,找不到了。只能从新写 了,害怕以后需要又找不到,于是就记录在这里吧 。using Newtonsoft.Json;using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using System;using System.
2021-01-05 20:12:29
258
原创 Unity游戏后期制作 — 主角焦点
闲着没事就更新一下经过我们两年的不断修改,游戏终于快上线了。现在的环境和以前大不一样了。换做三年前,游戏估计能提前半年。(过审是真的很难)。好像有点扯远了。今天和大家分享什么功能呢?unity游戏后期制作什么是游戏后期制作?一开始我也不知道,只是策划说。我们需要做一个类型相机聚焦的效果。要突出主角,其他的游戏资源淡化掉。从来没有接触过这些,只能问度娘了。问了才知道原来策划的这个需求叫做:游戏后期制作。废话有点多了。我们还是进入正题吧。相机的一些基本属性这里需要你了解相机的三个属性 1:ClearF
2020-11-13 15:41:15
2503
原创 Unity根据XMl配置一键生成UI预设
目标其实我也不知道是为什么了,老板觉得很多问题不需要程序员也能解决问题,于是希望我们能实现一个通过XMl配置就实现UI界面的部分功能,(ps;凡是能用xml解决的问题就用xml解决)高度模板化。加快项目的进度。制定XMl规则xml中的“controller” 的 name 代表着 预设的的名字和深度:<controller name="TextView" viewDepth = "20"/>xml中的“displayList”代表UI预设所以孩子的集合每个孩子都有最基本的属性,名字,
2020-06-08 11:59:23
1235
原创 Unity表情聊天(NGUI图文混排)
图文混排从字面意思来理解:就是图片和文字混合在一起。不知道这样的的定义是否正确,起码我是这样理解的,在游戏开发过程中,如果单单从业务逻辑去看的话,图文混排算是比较复杂的。个人感觉也是必须会的技能。原理我们期待在文本的合适地方插入我们需要显示的表情。所以我们要取插入表情的位置,但是一条聊天的信息是一段文本的字符串,是一个整体,每一个字符都不是单个对象,所以要在文本字符串中取合适的位置就不能用平...
2020-04-13 14:55:25
1339
2
原创 Unity 广告牌技术
广告牌技术简单说一下什么是广告牌技术,在游戏场景中,场景物体无论何时何地都会面向我们的视角,也就是相机。using UnityEngine;using System.Collections;public class NcBillboard : NcEffectBehaviour{ // Attribute ---------------------------------------...
2020-01-13 11:26:36
2353
4
原创 Unity 场景中不同分辨率下相机可滑动边界问题
场景相机可滑动的边界如图,我希望把相机左右移动来查看全部场景的内容,但是在移动过程中又不能超过场景的边界,这个时候我们需要设置相机的边界值,我一开始想到的方式是给定两边一个一值,移动的时候判断相机的X坐标在不在设定的范围之内。这样做法是有问题的,比如我当前的设置的分辨是19201080相机移动的边界刚刚好,当我的分辨率和我的标准分辨不一样的时候问题就出现了比如这样的情况:分辨率 :2160...
2020-01-09 11:34:14
1382
原创 unity - 图片内切割成正多边形
把图片内切割成正多边形/圆形(边数多)/圆环using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.Sprites;/// <summary>/// 把图片内切割成正多边形/圆形(边数多)/圆环/// </summary>[AddCo...
2019-10-09 18:33:59
761
原创 框架简介及UI制作流程
一.数据流程逻辑:[外链图片转存失败(img-y5ptQT8g-1569488864655)(/.attachments/图片-5a3bf91d-99bd-4a3f-83ad-678ba05bd5df.png)]红色:网络响应数据流。紫色:配置数据流。蓝色:网络请求数据流。绿色:通知事件流。1. 收到网络数据后,数据通过NetHandleManager分发到各NetHandle。2....
2019-09-26 17:33:31
883
原创 Unity — Gif播放错误
unity Gif播放最近在做聊天功能,聊天中有一些表情动画,美术给你的资源不是序列帧动画,而是GIF资源,因为之前没有搞过百度查了一些资料。大致原理是:将gif图拆分成多个单个图片,用Texture2D存放,然后逐个替换Texture2D达到动态效果。但是由于unit并不支持gif播放,所以需要应用C#提供的System.Drawing,这个文件在我们unity的安装目录下 C:\Progra...
2019-08-30 13:05:33
708
原创 Unity获取GPS地理位置信息
unity获取地理位置因为项目功能需要,需要获取用户当前的位置信息,百度了一下,很多资料,发现都不能满足直自己的需求。于是整合了网上的资料,才满足自己的需求,说说需求吧:需要定位到玩家具体位置,具体到街道信息。获取经纬度获取经纬的方式我使用自带API, 官方说明;http://docs.unity3d.com/Documentation/ScriptReference/LocationSer...
2019-08-21 23:10:27
3819
7
原创 Unity — ShareSDK 获取微信头像
ShareSDK获取微信头像导入ShareSDK 的unity插件包,新建一个游戏对象并挂起 ShareSDK这个组件,填写好你申请的游戏参数,写好登陆授权的回调函数 private void InitShareSDK() { Mir.Instance.cData.playerData.shareSDK = gameObject.GetComponent<S...
2019-08-01 19:01:41
1041
原创 Unity — ShareSDK 游戏分享图片
ShareSDK 分享游戏截图准备好工作:接入ShareSDK,并且接好微信授权,SDK 接入查看官方网站,教程很详细,有什么问题中客服,客服是小兄die还是还有耐心的,折腾了四天,直接上代码: private void OnClickSendFriend() { //点击分享的事件 StartCoroutine(CaptureCoroutine()...
2019-08-01 18:46:23
594
原创 Unity2018安卓打包报错搜集一
CommandInvokationFailure: Failed to create a assets.ap_ package 报错最近使用unity 2018版本开放,在打包安卓平台报了一个莫名的错误,之前都是那么用的,也不会出现什么问题,搞得我都烦死了!!!CommandInvokationFailure: Failed to create a assets.ap_ packageD:\...
2019-07-31 18:03:09
1387
原创 Unity —TCP网络协议
Unity —TCP网络协议命令格式客户端和服务器的通讯协议都我们自己定义的,项目开始的时候客户端和服务器都是定义好了命令格式的。之后的所有协议格式都根据我们定义好的来做。我这里约定 :Tcp的网络传输主要分Protobuf和Json,我目前用的是:...
2019-07-07 01:24:28
1396
原创 插入排序算法
插入排序算法插入排序算法是通过对未排序的数据执行逐个插入至合适的位置而完成排序工作,思路比较简单,应用比较多。首先对数据的前两个进行从小到大的排序.接着将第三个数据与前面的排序好的数据比较,将第三个数据插入合适的位置。然后,将第四个数据和前面排序好的数据比较,插入合适的位置中。不断的重复上面的步骤,直到把最后的数据插入合适的位置,最后,便完成了对数据的排序。 publ...
2019-05-26 22:17:29
117
原创 选择排序算法
选择排序算法选择排序算法算是比较简单的排序算法,其思路比较直观,选择排序算法在没一步中选取最小值重新排列,到达排序的目的。基本流程:首先从原始数组中选择最小的一个数据,将其和位于第1个位置的数据交换。接着从剩下的(n-1)个数据中选择次小的一个数据,将其个第2个位置的数据交换。然后重复以上的操作,直到最后的两个数据完成交换。 public void SelectSort(int[...
2019-05-25 21:51:15
131
原创 冒泡排序算法
冒泡算法冒泡算法是所有排序算法中最简单,最基本的一种,冒泡排序算法的思路是交换排序,通过相邻数据的交换达到排序的目的。基本流程如下:对数组中各数据,依次比较相邻的两个元素大小。如果前面的数据大于后面的数据,就交换这两个数据。经过第一轮的多次比较之后,便可将最小的数据排好。在用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数据。 public void Bubbl...
2019-05-25 21:29:35
122
原创 分治算法
分治算法思想分治算法的基本思想将一个计算复杂的问题分为规模较小,计算简单的小问题,通过将问题简化而逐渐得到问题的结果。对一个规模为N的问题,若该问题比较容易解决(比如规模N比较小),则直接解决。否则执行下面的步骤。将该问题分解为M个规模比较小的子问题,这些子问题是相互独立,并且与原问题形式相同递归地解决这些子问题。然后,将各子问题的接合并得到原问题的解。分治算法解决假币问题问题:...
2019-05-25 20:26:51
162
原创 Unity AssetBundle 学习
AssetBundleAssetBundle是Unity用户存储资源的一种压缩格式的打包集合,他可以存任意一种Unity引擎可以识别的资源: 模型,音频,纹理图,动画, 开发者自定义的二进制文件; 安装包小,更新资源;AssetBundle开发步骤(1): 创建AssetBundle: 项目的资源打包AssetBundle的集合里面;(2): 部署到web服务器, 让客户端下载我们的Ass...
2019-05-15 18:55:50
222
原创 Unity 第三方SDK框架接入 (Android Studio)一 Unity
Unity 第三方SDK框架接入 (Android Studio)一 Unity在上一篇中,我实现Android项目的实现,现在我们来完善Unity端的封装IPlatformSdkHelper 接口public interface IPlatformSdkHelper{ /// <summary> /// 通知 SDK 初始化 /// </sum...
2019-05-14 11:18:37
1696
原创 Unity 第三方SDK框架接入 (Android Studio)
第三方SDK框架接入 (Android Studio)一 AndroidAndroid 与 Unity 交互: UnityPlayer.UnitySendMessage("string","string", var2); UnitySendMessage(“string”,“string”, ***),这是方法,我们至少需要传入两个参数,第一个参数为unity中的一个gameobjec...
2019-05-14 10:58:09
5076
原创 Android Studio 常用的菜单功能
一、File 文件菜单:文件相关的操作,如创建或打开一个文件,项目设置New: 新建,用于新建立工程,项目,文件,类,资源配置文件等Open… 打开一个文件或一个工程Profile or Debug APK :性能分析或调试某个APKOpen Recent :重新打开最近时间打开过的的项目Close Project:关闭项目Link C++ Project Gradle 使用G...
2019-05-06 22:51:25
4884
1
原创 Android Studio 基本知识
第一个Android工程:创建工程向导:注意Application Name 程序名称;Package name 包名(App的唯一标识)设备类类型,和版本号,这里只选择手机和平台选择界面模板界面类Activity的名称,是否产生XML布局文件(Android中使用xml布局文件进行界面的设计)Activity Name: 界面类的名称 Layout Name:布局名称创建完成,耐...
2019-05-06 22:34:02
1240
原创 设计模式之外观模式
Facase(外观模式)在Gof解释:为子系统定义统一接口,这个高级的接口会让子系统更容易被调用。以驾驶汽车为例,当驾驶者开一辆汽车在路边行驶时,汽车内部右许多的系统一起配合才能完成汽车的行走功能,这些系统可能包含:引擎系统,传动系统,电装系统…,但是,对于驾驶员来说,并不需要了解这些系统时如何协调工作的,他只需要通过高级接口(方向盘,踏板,仪表器)就可以让汽车跑起来。所以,外观模式的重点就是...
2019-03-19 20:46:57
203
原创 数据结构 — 树结构
什么是数结构树结构是一种非线性层次关系的数据结构,其中重要的是树的概念,树是n个结点的集合,在该结构中包含一个根节点,根节点之下有一些交叉的子集合,这些集合是根节点的子树,几个特性:在树结构中,有且只有一个跟结点没有直接前驱,这个结点就是树的根节点。除了根节点外,其他结点都有一个直接前驱。每个结点可以有任意多个后驱结点。树的基本概念父节点和子节点,每个结点子树的跟称为该结点的子...
2019-03-19 17:40:43
851
原创 Unity —有限状态机FSM系统(2)
FSM状态机接上篇PatrolState (巡逻状态)PatrolState巡逻状态类,继承与FSMState(状态类),在巡逻状态时,当与主角距离比较近时,触发跟随状态,敌人进入跟随状态。using System.Collections;using System.Collections.Generic;using UnityEngine;public class PatrolSt...
2019-03-11 23:20:04
278
原创 Unity —有限状态机FSM系统(一)
什么是FSM状态机总的来说,有限状态机系统,是指不同的阶段呈现出不同的运行状态系统,这些状态是有限的,不重叠,这样的系统在某一时刻一定会处于其所有状态中的一个状态,此时他接受一部分允许的输入,产生一部分可能的响应,并且迁移到一部分可能的状态。五大要素状态事件条件动作迁移游戏运用案例演示说明:Enemy 是游戏中的一个敌人脚本类,持有FSMSystem(状态管理类),通过改...
2019-03-11 22:59:34
2975
原创 数据结构 —栈结构
什么是栈在程序设计中,我们都会接触过“堆栈”的概念,其实堆栈是两个不同的概念,栈是一种特殊的数据结构,在处理重要数据的现场保护有着重要的意义。栈结构是从数据的运算分类的,塔也是一种线性结构。如图。举个例子,栈好比如我们生活的堆箱子,先来的货物放在下面,后来的方正上面,这是栈的特性,先进后出。在栈结构中只有栈顶的元素可以访问,这样栈结构的数据运行非常简单,一般栈结构的基本操作有两个:入栈...
2019-03-11 19:40:43
2664
原创 数据结构 — 链表结构
什么是链表图中每个结点都包括两个内容:数据部分,保存的是该结点的实际数据,地址部分,保存的是下一个结点的地址,链表结构就是由许多的结点构成的。在进行链表操作时,首先定义一个“头引用“变量,该引用变量指向指向链表结构的第一个结点,第一个结点地址部分又指向第二个结点…直到最后一个结点。一般在表尾的结点地址部分放一个空地址null。由于采用引用来指示下一个数据地址,因此在链表结构中,逻辑...
2019-03-09 21:12:42
183
原创 数据结构 —顺序表结构
什么是线性表从逻辑定义,线性表是由n(n>=0)个数据元素 a1, a2, …, an组成的有限序列.对于一个非空的线性表,其逻辑结构特征如下:有且只有一个开始结点,没有直接前趋结点,有且只有一个直接前趋的后续结点。有且只有一个终结点,没有直接后续结点,有且只有一个直接前趋结点;其余的内部结点都有仅有一个直接前趋结点和后趋结点;对于同一线性表,个元素必须具有相同的数据类型,即同一...
2019-03-08 18:02:58
301
原创 python 因特网客户端编程——NNTP
网络新闻什么是Usenet 与新闻组usenet新闻系统是一个全球存档的‘’电子公告版”。各种主题新闻组一应俱全,从诗歌到政治,从自然语言学到计算机语言,从软件到硬件,从种植到烹饪、招聘/应聘、音乐、 魔术、相亲等。新闻组可以面向全球,也可以只面向某个特定区域。每个系统是一个由大量计算机组成的全球网络,计算机之间共享Usenet上的帖子,如果某个用户发了一个帖子到本地的 Usenet 计算机...
2018-12-29 10:18:09
807
原创 C++指针地址和指针的值
C++指针学过C++ 都知道,指针是一个很重要的概念,他是C++的灵魂,在上学的时候从书山了解到,指针就是指向内存的地址,然,今天和同事讨论指针传递和引用传递的时候,我说:指针传递其实就是引用传递。打脸了。虽然他们都是对地址的操作,但是本质还是有区别的。也就是说引用传递就是变量的地址,指针传递的时候,是指针的值。但是指针的值和指针的地址是不同的。。。突然感觉自己好菜哦!!!...
2018-12-28 19:57:49
8503
4
原创 因特网客户端编程
什么是因特网客户端因特网客户端可以简单的理解为用来传输数据的地方,数据在服务提供者和服务使用者之间传输。在某些情况下称为‘’生产者 = 消费者“。服务器就是生产者,提供服务,而客户端是使用服务,一般只有一个服务器(即进程 或主机等),但有多个消费者。文件传输因特网协议因特网最常见的事情就是传输文件,文件传输每时每刻都在发生。有很多协议可以用于因特网上传输文件。最流行的包括文件传输协议(FTP...
2018-12-28 16:00:48
221
原创 Python中的网络编程
客户端和服务端的网络编程在服务器相应客户端的请求之前,必须进行一些初步的设置流程来为之后的的工作做准备。首先会创建一个通信端点,他能够使服务器监听请求。可以把服务器比作公司主线呼叫的总机接线员,一旦设备安装成功且接线员到达时,服务就可以开始了。套接字套接字是计算机网络数据结构,他体现了“通信端点”的概念,在任何类型通信开始之前,网络运用程序必须创建套接字,就好比电话的插孔。套接字地址:主机...
2018-12-27 20:43:52
155
2
原创 C# 简单的数组实现
C#实现简单的数组最近学习了泛型,突然奇想,好像数组的实现也可以用到,就简单的写了一下。public class MyArray<T> { private T[] myArray; //数组体 private int _size; //长度 public int Count { get { ...
2018-12-27 17:18:00
2718
原创 C# Json文件批量转成Excel文件
Json文件批量转Excel文件都是策划自己的锅,为了大家的工作进度,还是帮他们吧。毕竟大家都挺不容易的。不说废话了。 static void Main(string[] args) { string path_newJson = System.Environment.CurrentDirectory + "\\JosnNew"; ...
2018-12-26 16:43:21
5139
5
原创 Python学习—— 正则表达式
python 正则表达式最近开始学习python,一些基本的学习笔记,直接上代码吧!!!`import reprint(“正则表达式”)match方法从字符串的起上位置=开始匹配m = re.match(“foo”,“foo”)if m is not None:m.group()print( m.group())pass##search() 在一个字符串中查找模式(搜索与匹配的对...
2018-12-24 22:54:14
214
原创 Unity场景Mesh网格合并
Unity场景Mesh网格合并今天突然被美术问傻了,就是在游戏场景中Mesh找不到了源文件,就是这个查了一下,原来是之前项目在做场景的时候把一些mesh合并了。到底怎么实现的呢?为什么要合并Meshunity引擎中渲染代价的指标是场景中网格(Mesh)的数量,对显卡来说渲染一个100面的物体和渲染一个1500面的物体几乎是等价的,于是当多个物体的材质(Shader)相同时,可以把他们的网格...
2018-12-17 19:04:49
1751
1
ChatDemo.unitypackage
2020-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人