- 博客(79)
- 资源 (35)
- 收藏
- 关注
转载 Unity资源加载路径及加载方式小结
Unity3D中的资源路径Application.dataPath 此属性用于返回程序的数据文件所在文件夹的路径。例如在Editor中就是Assets了。Application.streamingAssetsPath 此属性用于返回流数据的缓存目录,返回路径为相对路径,适合设置一些外部数据文件的路径。放在Unity工程StreamingA...
2019-11-20 11:15:04 334
转载 C# Socket 长连接设置Keepalive
首先TCP 底层自带KeepAlive 连接监测机制,通常在指定时间:keepalivetime(毫秒)内没有数据交互,则按keepaliveinterval(毫秒)设定重复发送keep-alive包,并且重复次数达到设置值或系统默认值,例如win10系统为10次,如果都没有回应,则视为客户端异常或网络中断,表现为TCP底层发送Reset 指令,连接断开。实验如下:首先更改开启KeepAl...
2019-11-13 16:56:10 658
转载 wireshark怎么抓包、wireshark抓包详细图文教程
wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HT...
2019-11-13 16:27:08 251
转载 TCP协议的通讯流程
基于TCP/IP协议的服务器和客户端程序的一般流程,如下图所示:1、服务器初始化——LISTEN(1)调用socket函数创建文件描述符。(2)调用bind函数将当前的文件描述符和ip/port绑定在一起。如果这个端口已经被其他进程占用了,就会bind失败。(3)调用listen函数声明当前这个文件描述符作为一个服务器的文件描述符,为accept做好准备。(4)调用accept函数阻塞...
2019-11-12 11:15:04 160
转载 在C#中如何判断线程当前所处的状态
在C#中,线程对象Thread使用ThreadState属性指示线程状态,它是带Flags特性的枚举类型对象。ThreadState 为线程定义了一组所有可能的执行状态。一旦线程被创建,它就至少处于其中一个状态中,直到终止。在公共语言运行时中创建的线程最初处于Unstarted状态中,而进入运行时的外部线程则已经处于Running状态中。通过调用 Start可以将Unstarted线程转...
2019-11-07 10:39:51 315
转载 C# Socket网络编程精华篇
我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念:TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用。http协议在应用层运行。 02,传输层(Tanspot):传输层包括UDP和TCP...
2019-11-06 09:53:18 148
转载 unity3d中协程的用法
使用StartCoroutine方法开始一段协程在协程内部使用yield return表示将该协程在当前位置挂起,等待下一次调用时直接从当前位置执行yield return的值决定下一次调用的时机例如 :yield return null是最简单的协程类型,即在每一帧Update之后恢复。yield return new WaitForSeconds(1.5f);,表示在1....
2019-11-05 12:18:22 295
转载 Unity StartCoroutine 和 yield return 深入研究
StartCoroutine和yield return表面意思很好理解,StartCoroutine就是开启一个协程,yield return 是迭代器块返回调用迭代的地方。是吧?不知道你什么感觉,反正我觉得,还是需要深入研究一下的。OK,here we go!首先,先看一下StartCoroutine在Unity官方的解释。意思是:一个协程的执行可以在任何地方用yield语...
2019-11-05 11:46:10 206
转载 Unity Plugins的使用方法
一、为插件设置平台的方法 unity5之前,是通过把插件搞到对应目录进行区分平台的(比如在build target是ios平台时只把IOS目录的插件build进去),unity5之后提供了设置平台/cpu架构的方式,插件位置就随意了; 在unity5中点击插件文件,那些后缀为dll,so,jar,cpp,a,mm等文件和后缀是“ .plugin, .bundle and .framewo...
2019-11-03 10:58:16 516
转载 关于LUA+Unity开发_toLua篇【一】
网上有许多的LUA与Unity插件,如toLua,uLua, sLua, xLua。 uniLua由于其复杂的集成使用过程,已经被主流所抛弃了。在对各个插件使用过之后,出此系列博客与大家分享一下心得。前面两篇计划说说toLua的那些事。toLua自己集成到项目里,下载地址:https://github.com/topameng/tolua步骤如下:1.复制assets目录到项目里...
2019-11-03 08:39:50 245
转载 TOLUA的文件结构
ToLua插件文件结构1、BaseType:存放一些基础类型的绑定代码。2、Core:提供的一些核心功能。包括封装的LuaFunction、LuaTable等等。3、Editor:Extend文件夹里是扩展一些类的方法。ToLuaExport(真正生成lua绑定的代码)、ToLuaMenu(菜单功能对应的代码)、ToLuaTree(辅助树结构)。4、Misc:杂项,目前有LuaCl...
2019-11-02 14:23:22 177
转载 升级到游戏设计师攻略之—— 用游戏编辑器制作MOD脱颖而出
【导读】立志成为游戏策划的你,和千千万万的游戏玩家的不同之处在哪? 是你玩过很多的游戏?别人也玩过 是你游戏打得比别人好?也许电子竞技更适合你 是你对游戏的理解比别人深,知道如何设计出更好玩的游戏?嗯,是的,可是怎么证明呢? Action speaks louder than words! 最好的证明就是拿出你自己制作的游戏MOD,这胜过一万字的文字简历。可做mod难吗?不难,需要的只是你的一
2016-08-22 10:58:38 4384
转载 为什么很多有钱人的妻子不漂亮?
本文转自微信公众号: 钱生钱发现一个奇怪的现象,现在有钱人大多偏爱娶样貌平平的女人做老婆,对年龄、学历、是否有共同语言和爱好没有太多的要求,反而是那些收入越低的男士,偏爱娶年轻貌美、有共同爱好语言的女孩,那么是收入决定他们的选择,还是什么原因呢?1有时候,你会听到一种令人啼笑皆非的话。一受尽情伤的姑娘,自恃年轻美貌,在万念俱灰时,说:“我对帅哥已经死心了,以后还是嫁个有钱人算了!”
2016-08-18 23:55:07 951
转载 八年开心网,它的是非功过都在这里了
虎嗅程明霞2016年07月21日09:12我要分享腾讯微博 QQ空间 QQ好友 新浪微博 微信好友转播到腾讯微博“人生最大的痛苦不是我输了,而是我差点赢了。”——题记7月20号的北京,一整天的大雨滂沱。中午1点多,中关村一位健身教练在朋友圈发了一条大雨滂沱的街景小视频,配文:这天儿还来了个健身的,我必须奖励他100个俯
2016-07-21 22:39:34 2412
转载 大热页游《烈焰》单日流水突破千万的背后
摘要:页游圈的“黑马”《烈焰》首次被曝光日流水收入过千万,在其主运平台9377单服过2500服;自上线以来捷报不断、惊喜连连,成为页游圈首款日流水过千万的产品。 一、烈焰简介《烈焰》单日流水突破千万的背后 烈焰 2013年度网页游戏国内市场的NO1 游戏模式:角色扮演 开发公司:广州创思 截止2014年3月18日优质开服总数累积12062组。 截止2014年
2016-05-20 07:13:04 610
转载 日本房地产泡沫破裂后的平民生活
本文转载自微信公众号:地产邦 作者:仲道泡沫时期的所有逻辑都会在泡沫破灭后被证伪,几十年后回过头来看会觉得自己是多么的愚蠢和无知。不过,相对其他国家而言,日本的结局虽然苦涩,但还不算是灾难,因为在1990年的时候,日本已经在海外再建了一个海外日本为自己供血。我们有这么好的运气吗?96初,到日本的第一天,住在一栋楼里的邻居须藤用茶盘端着沏好的抹茶来到我的房间,这可能是他独有的“初次见面、彼此
2016-03-06 13:23:39 1752
转载 老马失足 波音KC-46加油机为何如此拖拉?
原标题:老马失足—波音的KC-46加油机项目为何如此拖拉? 即使不算规模和盈利,单就历史而言,波音也是航空业界的老马了。这个从西雅图南郊“大红屋”起家的航空工业巨无霸有很多业界第一,其中有第一架喷气式加油机KC-135。转播到腾讯微博B-52可算邪恶轰炸机的典范了,滚滚黑烟有不怒自威的邪恶气势,但换一个角度思考,这都是挥洒在天空的燃油啊转播到腾讯微博KC-135
2016-01-29 10:27:46 1221
转载 运-20设计初析 水平超过伊尔-76接近C-17
资料图:各国运输机同比例侧视图。 运-20是中国自行研制的第一种大型运输机,也是当今世界上最重要的大型运输机之一。一般认为,运-20的机长47米,翼展45米,机高15米来 自 西 陆 军 事 http://www.xilu.com资料图:各国运输机同比例侧视图。 运-20是中国自行研制的第一种大型运输机,也是当今世界上最重要的大型运输机之一。一般认为,运
2016-01-29 08:04:42 789
转载 CentOS下MySQL数据库的安装
由于本人要在CentOS上部署一个Java项目,这个项目里面要对数据库进行操作,所以第一件事情就是安装数据库啦!现在本人将来带领你们一步一步实现MySQL数据库的安装。首先,在CentOS下,我们可以直接通过yum命令来安装数据库。在安装数据库之前,我们应该先查看自己的CentOS上是否已经安装了MySQL数据库,如果安装了就先卸载掉。(1)查看自己是否安装了MySQL数据库[root
2015-11-26 18:35:04 299
转载 Makefile经典教程(掌握这些足够)
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make
2015-11-04 08:13:16 414
转载 Mangos源码分析(15):游戏对象的实现
狭义的游戏对象是指游戏世界中所能看到及可交互的对象,如玩家、怪物、物品等,我们这里也主要讨论这类对象在服务器上的组织及实现。 在大部分的MMOG中,游戏对象的类型都大同小异,主要有物品、生物、玩家等。比如在wow中,通过服务器发下来的GUID我们可以了解到,游戏中有9大类对象,包括物品(Item)、背包(Container)、生物(Unit)、玩家(Player)、游戏对象(GameOb
2015-11-01 21:11:41 465
转载 Mangos源码分析(14):Mangos预编译头文件及模块划分随想
其中game工程生成的库文件game.lib居然有近四百兆之巨,mangosd和realmd在连接这个库的时候也要花上好长一段时间。当然,mangos现在的代码量也确实不少了,这也就要考虑到大的工程项目的源代码管理及模块工程划分,至少,像mangos现在这样,代码全部放入game目录中,并且就做为一个大的工程的方式,其弊端是已经显现了。另外还有功能模块划分的问题,需要找一个功能的实现时,不知道该到
2015-11-01 21:10:15 359
转载 Mangos源码分析(13):再谈登录服的实现
关于登录服、大区服及游戏世界服的结构之前已做过探讨,这里再把各自的职责和关系列一下。 GateWay/WorldServer GateWay/WodlServer LoginServer LoginServer DNSServer WorldServerMgr | |
2015-11-01 21:06:50 255
转载 Mangos源码分析(12):服务器公共组件实现之事件与信号
有些类似于QT中的event与signal,我将一些动作请求消息定义为事件,而将状态改变消息定义为信号。比如在QT应用程序中,用户的一次鼠标点击会产生一个鼠标点击事件加入到事件队列中,当处理此事件时可能会导致某个按钮控件产生一个clicked()信号。对应到我们的服务器上的一个例子,玩家登录时会发给服务器一个请求登录的数据包,服务器可将其当作一个用户登录事件,该事件处理完后可能会产生一个用
2015-11-01 21:05:47 63
转载 Mangos源码分析(11):服务器公共组件实现之状态机
有关State模式的设计意图及实现就不从设计模式中摘抄了,我们只来看看游戏服务器编程中如何使用State设计模式。 首先还是从mangos的代码开始看起,我们注意到登录服在处理客户端发来的消息时用到了这样一个结构体: struct AuthHandler { eAuthCmd cmd; uint32 status; bool (AuthSoc
2015-11-01 21:02:55 277
转载 Mangos源码分析(10):服务器公共组件实现之发包的方式
前面一直都在说接收数据时的处理方法,我们应该用专门的IO线程,接收到完整的消息包后加入到主线程的消息队列,但是主线程如何发送数据还没有探讨过。 一般来说最直接的方法就是逻辑线程什么时候想发数据了就直接调用相关的socket API发送,这要求服务器的玩家对象中保存其连接的socket句柄。但是直接send调用有时候有会存在一些问题,比如遇到系统的发送缓冲区满而阻塞住的情况,或者只发送了一
2015-11-01 21:01:56 271
转载 Mangos源码分析(9):服务器公共组件实现之环形缓冲区
消息队列锁调用太频繁的问题算是解决了,另一个让人有些苦恼的大概是这太多的内存分配和释放操作了。频繁的内存分配不但增加了系统开销,更使得内存碎片不断增多,非常不利于我们的服务器长期稳定运行。也许我们可以使用内存池,比如SGI STL中附带的小内存分配器。但是对于这种按照严格的先进先出顺序处理的,块大小并不算小的,而且块大小也并不统一的内存分配情况来说,更多使用的是一种叫做环形缓冲区的方案,mango
2015-11-01 21:00:00 330
转载 Mangos源码分析(8):服务器公共组件实现之消息队列
既然说到了消息队列,那我们继续来稍微多聊一点吧。 我们所能想到的最简单的消息队列可能就是使用stl的list来实现了,即消息队列内部维护一个list和一个互斥锁,putMessage时将message加入到队列尾,getMessage时从队列头取一个message返回,同时在getMessage和putMessage之前都要求先获取锁资源。 实现虽然简单,但功能是绝对满足需求的
2015-11-01 20:58:00 256
转载 Mangos源码分析(7):服务器公共组件实现之游戏主循环
当阅读一项工程的源码时,我们大概会选择从main函数开始,而当开始一项新的工程时,第一个写下的函数大多也是main。那我们就先来看看,游戏服务器代码实现中,main函数都做了些什么。 由于我在读技术文章时最不喜看到的就是大段大段的代码,特别是那些直接Ctrl+C再Ctrl+V后未做任何修改的代码,用句时髦的话说,一点技术含量都没有!所以在我们今后所要讨论的内容中,尽量会避免出现直接的代码
2015-11-01 20:54:28 884
转载 Mangos源码分析(6):登录服的设计之功能需求
正如我们在前面曾讨论过的,登录服要实现的功能相当简单,就是帐号验证。为了便于描述,我们暂不引入那些讨论过的优化手段,先以最简单的方式实现,另外也将基本以mangos的代码作为参考来进行描述。 想象一下帐号验证的实现方法,最容易的那就是把用户输入的明文用帐号和密码直接发给登录服务器,服务器根据帐号从数据库中取出密码,与用户输入的密码相比较。 这个方法存在的安全隐患实在太大,明文的
2015-11-01 20:53:04 289
转载 服务器结构探讨(5) -- 最终的结构
如果我们就此打住,可能马上就会有人要嗤之以鼻了,就这点古董级的技术也敢出来现。好吧,我们还是把之前留下的问题拿出来解决掉吧。 一般来说,当某一部分能力达不到我们的要求时,最简单的解决方法就是在此多投入一点资源。既然想要更多的连接数,那就再加一台网关服务器吧。新增加了网关服后需要在大区服上做相应的支持,或者再简单点,有一台主要的网关服,当其负载较高时,主动将新到达的连接重定向到其他网关服上
2015-11-01 20:52:17 251
转载 Mangos源码分析(4):服务器结构探讨之继续世界服
都已经看出来了,这种每切换一次地图就要重新连接服务器的方式实在是不够优雅,而且在实际游戏运营中也发现,地图切换导致的卡号,复制装备等问题非常多,这里完全就是一个事故多发地段,如何避免这种频繁的连接操作呢? 最直接的方法就是把那个图倒转过来就行了。客户端只需要连接到中心服上,所有到地图服务器的数据都由中心服来转发。很完美的解决方案,不是吗? 这种结构在实际的部署中也遇到了一些挑战
2015-11-01 20:49:59 319
转载 Mangos源码分析(3):简单的世界服实现
讨论了这么久我们一直都还没有进入游戏世界服务器内部,现在就让我们来窥探一下里面的结构吧。 对于现在大多数MMORPG来说,游戏服务器要处理的基本逻辑有移动、聊天、技能、物品、任务和生物等,另外还有地图管理与消息广播来对其他高级功能做支撑。如纵队、好友、公会、战场和副本等,这些都是通过基本逻辑功能组合或扩展而成。 在所有这些基础逻辑中,与我们要讨论的服务器结构关系最紧密的当属地图
2015-11-01 20:45:33 354
转载 Mangos源码分析(2):服务器结构探讨之登录服的负载均衡
回想一下我们在玩wow时的操作流程:运行wow.exe进入游戏后,首先就会要求我们输入用户名和密码进行验证,验证成功后才会出来游戏世界列表,之后是排队进入游戏世界,开始游戏... 可以看到跟前面的描述有个很明显的不同,那就是要先验证帐号再选择游戏世界。这种结构也就使得登录服不是固定配备给个游戏世界,而是全区共有的。 我们可以试着从实际需求的角度来考虑一下这个问题。正如我们之前所
2015-11-01 20:43:51 348
转载 Mangos源码分析(1):服务器结构探讨之最简单的结构
好的结构不是一蹴而就的,而且每个设计者心中的那把尺都不相同,所以这个优秀结构的定义也就没有定论。在这里,我们不打算对现有游戏结构做评价,而是试着从头开始搭建一个我们需要的MMOG结构。 对于一个最简单的游戏服务器来说,它只需要能够接受来自客户端的连接请求,然后处理客户端在游戏世界中的移动及交互,也即游戏逻辑处理即可。如果我们把这两项功能集成到一个服务进程中,则最终的结构很简单:
2015-11-01 20:37:26 312
转载 网页游戏研发巨头墨麟集团为什么会衰败的这么快?
王耀威,CTO与制作人的结合体拿传奇源代码换皮了数十款的游戏,什么秦美人,大闹天宫各种换皮,也想超过暴雪,真是醉了。。。有什么积累啊。1.CP注定还是产品为王,而墨麟全集团2014年总共开了30几个项目,流水过了5kw的只有8个,过亿的有5个,什么意思,就是按现在做页游的成本,墨麟2014年勉强收支平衡。从绝对数量上流水过亿的有5个相当牛逼,早知道当年的第七大道不过才只
2015-11-01 09:49:05 1739
转载 如何在AS3中引用swf中的元件、图片等资源以及布局信息
凡是要被AS3引用的外部swf中的图片或者元件等资源都必须要在FLash编辑器中给它们一个“AS链接”,如: “AS链接”的实质就是相当于在新建元件时的“导出成ActionScript”选项,只是“AS链接”的方式比较方便快捷。在给定“AS链接”之后,相应的元件或图片就会对应于一个类定义,如按钮继承SimpleButton类,影片剪辑继承MovieClip,图形继承Shape类,位
2015-10-29 20:06:43 1801
转载 Unity3D之如何将包大小减少到极致
Unity3D之如何将包大小减少到极致,图片是游戏app里最最占空间的资源,所以请各位还没有理解u3d对图片文件存储方式理解的请看《unity3d-texture图片空间和内存占用分析》。因为u3d对资源的压缩并不阐述的十分详细,所以很多项目在遇到包大小瓶颈时非常头疼。我也不是神仙,也同样痛苦过,但经历几个项目的折腾,最终能梳理出一套能将u3d包大小减少到合理范围的方法。首先来展示下,官方如何
2015-10-27 19:25:27 522
转载 UnityVS(Visual Studio Tools For Unity)的安装与使用
Unity 的开发者们,尤其是微软系的Unity开发者们,用Mono是不是烦死了?你是不是跟我一样,用vs来写代码,用Mono来跟踪调试?好麻烦啊好麻烦。也许你会说,傻逼你不会用UnityVS插件么?我会说,我擦那不是收费的么?你会说,傻逼你不知道世界上有个东西叫盗版么?我说,嗯,但是还是觉得不好用啊……其实在那个时代,微软大力引导Unity开发者发布WP游戏的时候,我就猜微软肯定会添加V
2015-10-24 11:45:39 452
转载 unity5.0正式发布了,看看带来哪些重要的新特性!
Unity 5.0Unity 5.0 is our biggest and boldest release ever. Powerful new features in Unity 5 include:The Physically-based Standard Shader to make your materials look consistent in any lighting e
2015-10-22 16:34:19 3854
ActionScript 3 设计模式 code
2011-04-13
android login example
2011-01-30
地理信息系统算法基础
2009-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人