- 博客(141)
- 资源 (26)
- 收藏
- 关注
原创 C4748: /GS的处理记录
几天服务器工程的release版本编译不通过了。服务器exe工程在链接过程中产生了多个C4748。不过奇怪的是报告的文件都是依赖的lib工程非常正常的函数上报的内容。warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations
2012-11-02 11:09:29 4867
原创 有关各种嵌入式脚本
最近一直在慢慢了解各种脚本语言嵌入C++、相互调用的方式以及性能。一共涉及Python, Lua, Luaplus, LuaBind, Mono C#等几种方式。总结如下:1.先上脚本性能 C# vs Lua C# Mono used what fraction? used how many times more? BenchmarkTime
2012-10-26 18:35:52 4205
原创 多重继承问题总结
#include /*多重继承同名虚函数如果子类实现了父类的同名函数。则父类只有一个函数。无论使用哪个子类指针来调用父类函数,都是调用同一个子类实现的函数如果子类没有实现父类的同名函数。子类调用该函数会出错如果一个函数重载参数一个是父类1,一个是父类,但是传入子类时会编译报错但是对于多重继承的函数*/class Base1{public: virtual void pri
2012-10-25 16:12:52 755
原创 Physx使用的问题
1.提示NxUserAllocator::_malloc_dbg重声明,重定义了这种问题的发生是由于我们的工程使用了_CRTDBG_MAP_ALLOC用来进行内存溢出检测。该定义宏会导致在crtdbg.h中定义如下宏#define malloc(s)_malloc_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__)该宏会把malloc(size_
2012-10-24 16:11:46 914
原创 Luaplus的编译
这里是使用最新的luaplus代码 2011年12月的。发现已经差不多10个月没有更新了。下载地址:https://github.com/jjensen/luaplus51-all或者我使用地代码:之后下载生成sln需要的jamplus。可以下载: http://jamplus.org/attachments/download/169/jamplus-110621-bin.
2012-10-20 14:27:19 2512
原创 有关打洞方案
目前UDP打洞成功率达到了85%以上;但是TCP打洞得成功率仅仅65%左右,而且不稳定。不过该数据是我网上胡乱搜到的文章给出的数据,真实性不确认。不过现在很多游戏都已经使用UDP打洞技术并成功运行了。1.UDP打洞两种NAT:1.基本NAT: 只改变IP,不改变PORT2.NATP:IP和PORT都修改。方法:客户端A,B通过有公网IP的服务器S实现A,B通信。
2012-10-19 18:26:17 1712
原创 2012年热门mo game网络模块情况调查
游戏名称大厅连接方式游戏连接方式P2p支持 坦克世界UDPUDP否 街头篮球TCPUDP是 龙之谷TCPTCP+UDP否 洛奇英雄传TCPTCP+UDP是 地下城与勇士TCPTCP+UDP是 斗战神TCPTCP否
2012-10-09 14:13:09 1605
原创 Unity3D NGUI 2D背景图片的实现
使用GUI是只能对于GuiTexutre和GuiText之类的Gui画出来的地进行前后布局。所以不可能使用Gui实现与Camera进行显示先后的调整。达到2D背景的目的。使用NGUI的UISprite相关的控件,效果和GUI是一样的,虽然NGUI空间之间可以调节前后关系。但是相对于3D对象,都会显示在屏幕的最前方。使用NGUI的UITexture.配合Camera可以实现显示的先后。2D图
2012-09-28 14:45:18 8873 2
原创 Unity3d SVN管理
1. Edit->Project Setting->Editor->External Version Control -> enable这个操作会使得每个asset都产生.meta文件2.把Asset文件夹下面的所有文件都add到版本内我使用了NGUI插件,不会对插件进行管理,所以我没有NGUI.meta还有NGUI文件夹以及之内的所有文件加入到版本内。其他用户在checkout后,只
2012-09-28 07:26:57 1655
原创 Unity3D NGUI中文支持
中文显示支持NGUI添加制作字库,具体参考 http://1vr.cn/article.asp?id=607中文代码输入支持使用文本编辑器修改使用了中文的代码文件为utf8-bom格式。一定要加bom头。我使用的是notepad++ 格式->UTF8格式编码。不然输出是乱码。
2012-09-25 15:31:14 3641
原创 Physx Unity3D同步模拟
对于同步,碰撞等效果需要引入物理引擎进行模拟的。就涉及到服务器和客户端同时模拟同步的问题。经过一定时间的测试,已经能够在客户端使用Unity3D 3.4.2服务器使用Phyxs 2.8.1的情况下,实现直线运动和碰撞上的同步。但是由于客户端和服务器帧率上存在的差别,所以对于碰撞,无法很好的同步,只能在碰撞后,服务器进行微调。现在罗列细节如下:1.主意物理帧率。Unity3D使用Ti
2012-09-17 10:33:09 5562
原创 Unity3D WebPlayer 修改载入界面
打开Build出来的WebPlayer.html在 中间添加一下内容var params = { backgroundcolor: "A0A0A0", bordercolor: "000000", textcolor: "FFFFFF", logoimage: "MyLogo.png", progressb
2012-09-15 09:20:25 2857
原创 Unity3D NGUI ScrollView的学习
一.涉及的控件UIDraggablePanel: Scroll面板类。必须作为UIDragPanelContents的上级对象(不一定父对象)Scale: 对于x,y,z方向的拖动效果scale。如果不要y,z拖动,则设置该两属性为0Drag Effect: 内容点击拖动特效。Monentum:滚动操作结束后的缓冲滑动效果 Sprint:拖动到头拉过头弹回的弹簧效果。Horiz
2012-09-14 18:10:12 7796
原创 Unity3D NGUI 物品系统
InvGameItem 游戏物品mBaseItem: InvBaseItemQuality: 物品品质InvBaseItem 物品描述类Slot: 物品的部位stats: InvStat物品属性链表attachment: 物品对应的prefabiconAtlas: 物品使用的图集iconName: 物品使用图集中的具体图片名I
2012-09-14 12:12:57 3753
原创 Unity3D NGUI ATLAS制作
atlas是NGUI使用的图集。使用该内容可以实现图片显示还有通过切换实现动画效果。这里主要记录一下atlas的制作过程。首先了解atlas的参数内容。Material: 该内容包含了图籍的图片,还有Shade信息TP Import: 在使用TexturePacker到处类型为unity3d时。直接使用.txt数据即可。立即可以实现sprite的划分和实现。后续的参数都
2012-09-13 10:27:35 7876
原创 Unity3d UI NGUI对象、脚本、参数
Unity3D NGUI对象1.2D Root: UI的界面入口点。挂载相关控件2.Camera: 摄像机3.Anchor: 锚点4.Panel: 面板,用来放置控件5.atlas: 图像集。可以自己编辑6.Font: 字体7.sprite: a.Depth 深度,显示先后顺序设定用的(对于Texture无效哦)Script:UISpriteAn
2012-09-12 15:14:26 6023
原创 有关7z的代码阅读
原因:由于服务器存在大数据量日志.日志使用tgz格式压缩的。数据量降低到了原来的1/20差不多。如果处理需要进行解压,查询就太麻烦了。而且需要的空间一下子增加了好多。然后就想要做一个小程序,支持对压缩文件直接进行处理。首先就想到了对现有的开源压缩解压库。没找到线程的,就用7z把。反正也比较容易转成库。代码的编译:我用的是vs2008 sp1。 在通过取消7zCrcOpt.a
2012-09-08 10:28:06 1806 2
原创 游戏服务器脚本功能总结
目前游戏使用脚本的内容如下:1.副本:独立存在,只允许目前几个玩家访问的空间。这个空间可能存在多个地图。包含如下的固定流程:副本初始化Initialize;初始化后可能存在玩家进入PlayerEnter Tick;之后是副本正常运行的Tick; 玩家退出,副本销毁。OnInitialize 用来加载动态的NPC,宝箱。因为该内容是一个逻辑流程,所以不用配置而用脚本。GetEntryPo
2012-08-09 17:31:53 2208
原创 PhysX性能测试
PhysX 2.8.1 测试报告 一测试环境:CPU:Intel Xeon W3565 3.20G*4 Mem:4096M GraphicsCard:GeForce GTX 560 Drive:8.17.12.8562 CPU模拟OS:Win7 x64 PhysXSystem:9.11.0621测试描述:从后续的游戏开发考虑,使用PhysX影响最大的两个参数,子弹数量和车辆数量
2012-08-01 16:33:13 2428
原创 PhysX学习记录 九 Shape参数说明
由于形体创建时,使用的Actor坐标系。所以要注意Shape相对Actor中心的位置。正确的决定Actor Frame原点的位置对于形体的正确控制是非常必要的。Box Shape:dimensions: 参数给出的是1/2边长。(1/2 x, 1/2 y, 1/2 z)shape frame point: 在长方体中心Capsule Shape:Height
2012-07-28 19:57:51 1160
原创 PhysX学习记录 八 Spherical Joint
swingLimit:该参数可以产生。是以Pi为单位的,以localAxis[0]为中心的锥形限制区域。不要以为是swingAxis为中心哦。我为这个误会苦恼了好久,最后看官方实例才发现这个问题。
2012-07-27 19:43:04 1043
原创 PhysX学习记录 七 冲突检测
冲突碰撞是针对Shape的碰撞。Shape之间可能存在默认不碰撞检测的情况。相互碰撞检测方式如下图:Shape免冲突设置只要设置ShapeDesc.shapeFlags |= NX_TRIGGER_ENABLE就可以使得该Shape免予冲突检测。冲突检测优化冲突检测是很耗性能的。每次的遍历是很难实现的。所以有一些性能上的优化。首先能够冲突检测的pair是在一定的距离
2012-07-26 19:19:20 2780
原创 PhysX学习记录 六 Joint
如果没有joint,所有actor都只能进行简单易懂操作。有了joint才有了丰富多彩的关联移动方式。joint和contract(碰撞检测时产生的碰撞点)是physX系统两种约束之一。所有约束都是面对一个pair对象。两个actor称为一个pair。可以通过设置一个actor为NULL来与世界进行Joint。名次解释DOF degree of free: 自由度。最多6个自由度。3个
2012-07-26 18:38:01 1873
原创 PhysX学习记录 五 Actor对象
PhysX主要学习内容,当然是了解模拟对象Actor了。先上框架图。这个是SDK文档上面的。NxJoint组合NxActor。NxActor包含NxShape用来进行碰撞。NxShape由NxMaterial、Mesh组成。Actor有Static,dynamic的区别。一个可动,一个不动。在创建时,没有NxBodyDesc就是stati
2012-07-21 14:49:42 2412
原创 PhysX学习记录 四 参数杂记
这里记录了在文档阅读过程中对于SDK得参数的理解。先给一份全的参数表,后续慢慢追加ParameterDefault ValueDescriptionNX_PENALTY_FORCE DEPRECATEDNX_SKIN_WIDTH:皮肤宽度。主要是刚体堆叠计算的问题。如果没有皮肤,
2012-07-21 14:31:03 2136
原创 PhysX学习记录 三
写完第一个Demo,心里有了一个直观的感受。现在需要通过阅读来深入了解一些内部细节了。1.对于NxCreatePhysicsSDK函数a.PhysX支持玩家自定义的内存分配方式。只要在NxCreatePhysicsSDK函数的第二个参数里面传入内存分配类指针即可。 class MyAllocator : public NxUserAllocator {
2012-07-20 17:55:19 1895
原创 PhysX学习记录 二
首先是2.8.1 SDK下载,最近NVidia Develop官网发生了账号丢失问题。不能访问了,使用如下链接吧:http://download.csdn.net/detail/heartrude/4441402安装方面,一键安装即可,没有什么需要注意的。参考/SampleBoxes/src/NxBoxes.cpp和官方文档,就可以直接完成一个简单的,有着完整逻辑的PhysX案例了
2012-07-20 17:06:00 2034
原创 PhysX学习记录 一
制作一个需要进行大量物理运算的战斗类游戏,所以需要在服务器加入物理引擎。三大物理引擎Havok、PhysX、Bullet。由于我们客户端使用了UnReal,所以服务器默认选用了PhysX。PhysX从3.0开始大量优化CPU运算性能,构架规模变化,支持多线程。2.8.1之前支持物理加速卡。由于目前UnReal使用的时2.8版本的PhysX。所以先从2.8.1入手开始学习。后续就是主要的
2012-07-20 16:35:36 2087 2
原创 应答式TCP服务器的幽灵连接
产生方式:服务器提供应答式服务,没有应用层心跳。客户端连接后,客户段产生异常(异常关机,异常断网)。 服务器的客户端连接状态仍然是Enstablish状态。这个主要是因为TCP代码的Keep alive周期很长导致。所以这种应答式TCP服务器,最好提供心跳。不然会很快发现服务器都是幽灵连接,导致资源耗尽。
2012-04-24 13:43:10 1293
原创 cocos2d-x的action
Action可以说是cocos2d一个精华设计。下面从整体上说明一下我的学习心得。在cocos2d-x中,node的很多变化都可以作为action(指令)来执行。action可以帮助我们控制执行时间,执行过程调整以及执行完毕通知。从而通过异步完整的封闭了执行过程,通过通知又可以提供同步手段。很好使用。所有的Action类图如下:从类图上可以看出,Action主要是3大块,CCF
2012-04-09 07:57:54 1557
原创 Cocos2d-x CCTMXTiledMap类
CCTMXTiledMap信息罗列:m_tMapSize 地图的宽、高格子数m_tTileSize 每个格子的宽高m_nMapOrientation地图类型 0:直角 1:六角形 2:等量(45度角)m_pObjectGroupsobject groups m_pProperties 地图属性m_pTileProperties地图元素属性,可以通过T
2012-04-04 13:46:33 2539
翻译 TMX地图格式
TMX Map FormatPage HistoryThe TMX (Tile Map XML) map format used by Tiled is a flexible way to describe a tile based map. It can describe maps with any tile size, any amount of l
2012-04-04 13:16:37 5168 1
原创 IOS开发基本概念
分辨率:iphone、iPod:320*480ipad:1024*768兼容性:IOS下是snprintf、Window下是_snprintf这个需要注意一下
2012-04-03 20:31:13 996
原创 免证书xcode环境提示证书过期
参考:http://kqwd.blog.163.com/blog/static/4122344820117191351263/真机调试提示如下:The identity used to sign the executable is no longer valid.Please verify that your device’s clock is properly
2012-04-03 20:20:04 19992 2
原创 Cocos2d-x坐标系
cocos2d支持以下几种坐标系:1.屏幕坐标系 原点在左上角,X轴向右,Y轴向下。CCTouch对象中的坐标2.GL坐标系 原点在左下角,X轴向右,Y轴向上。如果地图固定不移动,就是和本地坐标一样的。3.世界坐标系 指相对于整个屏幕的坐标系,原点在左下角,X轴向右,Y轴向上。4.本地坐标系 相对于父对象的坐标,原点在左下角,X轴向右,Y轴向上。比如
2012-04-02 22:55:16 2411
原创 Cocos2D-x学习起步
学习起步在于寻找资料。目前Cocos2d-x的学习资料还比较分散所以罗列一下学习资料。入门Blog:1.http://4137613.blog.51cto.com/4127613/d-1 这个初步入门还比较全,还有一个是男人就坚持20秒的案例,还不错。2.http://blog.csdn.net/xiaominghimi/article/category/921752 这个内容
2012-04-02 12:16:12 1007
原创 Sql Server存储过程防注入攻击
所谓Sql注入,就是利用动态构建Sql语句的操作,在输入参中增加额外sql信息从而在执行该操作时顺带进行额外的地数据库操作的攻击方式。使用存储过程可以很大程度上避免Sql注入攻击,但是并不能避免Sql注入功能。只要存在Sql语句动态生成,而传入参包括字符串,就可以产生Sql注入。目前在存储过程中需要进行Sql语句动态生成的基本是因为条件语句的动态形成
2012-04-02 07:18:18 4690
转载 大数库比较GMP、MPFP、MPIR、MPC
GMP 是GNU组织的主力库,也推广捆绑到多门语言、各种linux上。MPFP、MPIR都是基于GMP上分别对浮点和整型的进一步专门化的库。MPC是算“复数”的库,并非一般大数。一般的大数运算,用GMP足够了。GMP支持win下的mingw编译。但如果要在vc下用就要改代码,或者找些别人改过的补丁。vc本身也可以操作.net框架的decimal大数模块。
2012-03-30 16:53:37 3021
原创 计划任务0x80070005
Administrator直接运行User组用户的计划任务(启动时执行),结果显示任务未启动,日志错误0x80070005。(计划任务运行时用户没有登录)80070005是权限问题。尝试修改启动对象,原来是bat修改为.txt则能正常运行。所以怀疑是CMD 权限问题。由于用户没有登录导致该用户没有cmd执行,读取权限。修改%system%\system32\cmd.exe给与运
2012-03-19 11:01:43 2101
计算机数学教材合集
2012-12-13
Luaplus 51 2012.10.17
2012-10-20
大师谈游戏设计(3/3)
2012-03-15
大师谈游戏设计(2/3)
2012-03-15
大师谈游戏设计(1/3)
2012-03-15
WinGnuRegex2.7 window工程版
2011-01-13
COM原理、入门、精通
2009-09-16
计算机编程艺术(The Art of Computer Programming)四卷全.part1
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part7
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part6
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part5
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part4
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part3
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part2
2009-05-13
计算机编程艺术(The Art of Computer Programming)四卷全.part1
2009-05-13
大教堂与市集 (开源开发模式)
2008-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人