现在位置: 首页 > 游戏开发 > 文章
2016年05月22日 游戏开发 ⁄ 共 138字 评论关闭
图上3类C3中继承关系,内存布局都有影响     多继承可导致子类有多个虚表指针,导致了成员变量排列在n*sizeof (void*) 字节之后, 这回导致很多问题,比如重构的时候,   单继承的好处是如果有继承体系 那么成员变量的地址永远是 sizeof(void*)之后 ,问题就简单多了    
阅读全文

2016年05月22日 游戏开发 ⁄ 共 312字 评论关闭
1. 必备工具:     翻墙:lantern,     信用卡:visa或者mastercard(如果都没有可以去全球付申请一张虚拟信用卡 亲测可用) ,     网银:余额大于200 2.注册gmail邮箱(这点还是google好,不用输入手机号什么的.国内那些邮箱 全部都给你弄成要手机号的) 3.登陆网址 https://play.google.com/apps/publish/signup/       登陆gmail账号出现 4.选择继...
阅读全文
2016年05月22日 游戏开发 ⁄ 共 335字 评论关闭
Curiously Recurring Template Pattern (CRTP手法) 原理很简单 通过模板函数 的强制转换调用子类同名函数,来模拟多态的动态绑定,实现和虚函数一样的功能,并且避免了动态绑定所带来的性能开销 template <class T> class A { public: void func(){ ((T*)this)->funcImpl(); }; void funcImpl(){} }; class B:public A<B> { public: void funcImpl(){ cout << __FUNCTION__ << endl; } }; ...
阅读全文
2016年05月22日 游戏开发 ⁄ 共 26字 评论关闭
Use travel sanctuary command  
阅读全文
2016年05月22日 游戏开发 ⁄ 共 228字 评论关闭
2者都相当于传地址 ref 传递引用,ref 要求在传入之前初始化 void Start () { string str="11111"; func(ref str); print(str); } void func(ref string str) { str = "2222"; }   out,传递引用,要求在  被调用函数 内完成初始化 void Start () { string str; func(out str); print(str); } void func(out string str) ...
阅读全文
2016年05月22日 游戏开发 ⁄ 共 366字 评论关闭
遊戲服務器在windows上開發和調試,但是生產需要到linux下.出現的情況是在windows下一切正常.但是部署到linux下各種表找不到. 問題查找:1. 是否是hibernate映射文件寫錯(排除) 2.是否是表名字寫錯(排除) 3.測試linux下鏈接windos數據庫->測試正常(確定原因) 原因:linux下mysql區分大小寫(大小寫敏感) 因此會出現各種表找不到. 解決辦法: MySQL在Linux下采用 rpm方式安装后默认是:数据库名与表名\表的别名\变量名是严格区分大...
阅读全文
2016年05月22日 游戏开发 ⁄ 共 0字 评论关闭
阅读全文
2016年05月22日 游戏开发 ⁄ 共 385字 评论关闭
  方法1:通过unityeditor提供的方法 从 路径加载(必须带扩展名) void Start() { GameObject obj = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/haha.prefab",typeof(GameObject)) as GameObject; Instantiate(obj, Vector3.zero, transform.rotation); }   方法2: 吧资源放在 Assets/Resources  文件夹下 ,通过Resources类提供的方法加载(不能带扩展名) GameObject...
阅读全文
2016年05月22日 游戏开发 ⁄ 共 489字 评论关闭
1.如果绑定在同一个游戏对象上,那么可以用GameObject.SendMessage 来通信(效率更高点的方式是用GetComponent) C#: public void OnRecv() { print("C# Recv"); } JS: function Start () { gameObject.SendMessage("OnRecv"); } function OnRecv() { Debug.Log("js recv"); } 2.如果C# 没有继承自Monobehaviour 那么 吧C#代码放置到Plugins文件夹下,(Plugins是类似于Resources的特殊文件夹 里...
阅读全文
2016年05月22日 游戏开发 ⁄ 共 136字 评论关闭
特殊文件夹:原文    http://docs.unity3d.com/Manual/SpecialFolders.html 脚本编译顺序:原文    http://docs.unity3d.com/Manual/ScriptCompileOrderFolders.html      
阅读全文
2016年05月16日 游戏开发 ⁄ 共 6211字 评论关闭
apiserver是整个kubernetes的核心模块,做的事情多,代码量也较大。市面上已经有不少apiserver代码解读的文章了,但问题在于,由于k8s的代码变化很快,想写一篇长久能用的未必能做到。所以,我参照了《Kubernetes权威指南》和浙大SEL实验室的一些文章,先把我看到的东西记下来,待后观是否有用。 kubernetes源代码版本1.2.0 ## 代码阅读方法 先简单讲讲整个代码的目录结构 | 目录 | 说明 ...
阅读全文
2016年05月15日 游戏开发 ⁄ 共 1377字 评论关闭
代码坏的味道:(以下这些现象意味着你该重构了)         1.Duplicated Code(重复代码)(提炼出公共代码)         2.Long Method(函数过长)         3.Large Class(过大的类)         4.Long Parameter List(过长的参数列表)(可通过ADT来简化参数) &nb...
阅读全文
2016年05月15日 游戏开发 ⁄ 共 4285字 评论关闭
1. 首先,本文只是针对有比较熟练C++技能的程序员,他可以没有任何图形学或游戏引擎方面的经验知识。 2. 其次,本文只是偏重工程方面的介绍,没多少理论知识的介绍,目的纯粹就是让一个完全没有接触过UE4的C++程序员能够很快着手开发UE程序。 3. 再次,本文只是个人的经验之谈,甚至有可能有理解错误的地方,因为我也只是学了UE4一个多月,但是确实能够让我很短时间就能从事UE4的开发了。 4. 最后,源于以上几点,高手勿喷,如...
阅读全文
2016年05月10日 游戏开发 ⁄ 共 793字 评论关闭
###网络游戏中传递的报文,主要分为两种: 事件报文 状态报文 ###报文的实现 事件需要保证顺序,可靠,例如玩家使用某个技能,而事件通常可以采用类似 RPC的方式来实现,事件报文的传递,采用类似于TCP的协议来进行。 状态报文只需要保证最终的状态一致,例如玩家的HP,位置等数据,因此可以采用UDP传输,只需要保证最终状态被同步一致即可。 通常某个事件发生,会影响状态,例如玩家命中目标这个事件,会影响目标HP状态的变化...
阅读全文
2016年05月10日 游戏开发 ⁄ 共 195字 评论关闭
###相关工具: https://jagt.github.io/clumsy/ ###原理 使用上述工具,模拟网络有一定丢包率,接着就可以对应用程序进行测试; 通过该方式测试 Unity中使用 c# 的 BeginSend 异步接口,在 drop 丢包率10%的情况下,unity4.7 会发生阻塞现象,导致游戏卡顿; 不得已,使用多线程编程模式,发送客户端报文,避免TCP 丢包情况下,BeginSend 阻塞主线程。
阅读全文
2016年05月09日 游戏开发 ⁄ 共 1257字 评论关闭
###游戏服务器代码: http://git.oschina.net/liyonghelpme/GameServerCsharp ###游戏服务器优化主要考虑以下几个问题: CPU 运算; 水平扩展能力; 内存使用; 网络IO数据流量; 硬盘使用; ###性能分析 任何性能优化之前需要首先对性能进行分析,通常使用Profile 工具,对于C#来讲通常Profile 可以使用: VS 自带有性能分析工具;也可以使用 redgate ant 或者 和resharper 结合紧密的 dottrace; VS自带性能分析工具可以分析程...
阅读全文
2016年05月09日 游戏开发 ⁄ 共 10077字 评论关闭
Bag是一个java集合存储元素无需关心顺序,但允许列表中的重复元素。Bag是在列表中的对象的随机分组。 Collection集合被映射在该映射表中的<bag>元件和与java.util.ArrayList中初始化。 定义RDBMS表: 考虑一个情况,我们需要员工记录存储在EMPLOYEE表,将有以下结构: create table EMPLOYEE (    id INT NOT NULL auto_increment,    first_name&nbs...
阅读全文
2016年05月08日 游戏开发 ⁄ 共 1021字 评论关闭
1.关于游戏中剧情动画CG的实现,有多种方式实现,这里我指出在之前的项目中我实现CG的一种方法。 2.多种实现方式的简述: a.使用预先制作好的动画Video文件,通过引擎接口,以流媒体的方式播放,就好比是内置电影一样。 比如:有story1.rmvb格式的动画文件,通过接口engine.playCG("story1", onStop)播放,其中onStop函数为播放结束时回调函数。 这种做法的优势是可以事先离屏渲染出及其精美的CG动画,劣势是玩家看...
阅读全文
2016年05月08日 游戏开发 ⁄ 共 745字 评论关闭
var mysql = require('mysql'); var conn = mysql.createConnection({   host: 'localhost',   user: 'root',   password: '123456',   database:'mysql',   port: 3306 }); var tempArr = new Array();  conn.connect(); conn.query("show tables",function(err,results) {  if(err...
阅读全文
2016年05月07日 游戏开发 ⁄ 共 2字 评论关闭
11
阅读全文
×