- 博客(96)
- 资源 (7)
- 收藏
- 关注
原创 unity3d 换装笔记
首先理清CharacterCustomization例子里面的换装基本思路:1. 对characters 目录下各个角色进行 打包.2. 在读取的时候动态将里面的数据 读取出来即可.这是最基本的, 但是中间有几部很重要的。1. characters 目录下的资源是不能直接使用的.2. 模型,材质,骨骼都是有一定关系。3. 很多时候这种关系是通过文件名来组织在一起的。
2013-10-14 01:01:43 1520
原创 unity3d 换装
为了学习unity3d 里面的换装, 将unity3d 里面的例子改了下, 把资源加载功能剔除, 仅仅保留最基本的换装。原例子名字叫 CharacterCustomization。
2013-10-07 00:53:20 1423
原创 STL学习笔记,关于iterator的实现细节
为什么stl 中的 forward_iterator_tag 是这样定义?1>struct forward_iterator_tag : public input_iterator_tag而不是2>struct forward_iterator_tag : public output_iterator_tag或者3>struct forward_iterator_tag : public inpu
2008-03-26 11:28:00 1176 1
原创 炸弹人日志更新
20:13 2008-3-231.在尽量不改变原有的结构下,完成在单机版的人物选单更新 已解决2.在尽量不改变原有的结构下,完成在网络版中人物选单的更新3.解决在新的人物选单下MessageBox显视异常的问题. 已解决 1>会不会是默认按钮的原因呢?--是的
2008-03-23 20:58:00 1314 2
原创 在ClanLib中自定义按钮的几种方法
在最近的介面修改中,总结一下在ClanLib中如何去修改介面的一些方法:1>新建一个控件类型. 有时现有的控件类型并不能满足我的需要,比如要做一组控件.它们之间需要互传一些自定义的数据类型. 下面主要记下几个需要修改的地方: 1>添加控件,继承自CL_Component. 2>由于我的控件不需要别人使用,因此控件的显视方法等操作也可以写在控件本身的代码中.因此不需要在 CL
2007-12-13 23:04:00 1231
原创 2007-12-04炸弹人开发日志
1>防泡泡堂人物选择控件 ok2>防泡泡堂按钮 write3>防泡泡堂的地图选单窗口 wait4>地图中加入背景音乐信息 wait5>把地图选单窗口设定在人物选单中 wait 6>加入圣诞主题元素 wait
2007-12-04 22:20:00 995
原创 2007_09_16炸弹人开发日志
冷静下来,仔细思考:对于在Internet上不稳定的情况,在某些版本会特别明显,而在另外一些版本则不这么明显。经过两个版本的原代码比较,发现改动的代码是一些无关紧要的部分。现象可表示为:1>错误是随机出现.2>任意的代码改动都会影响整个程序的稳定。猜测可能出现的地方为:1>缓冲区中的指针没有使用线程保护.2>使用不同的线程同时对一个socket进行读写操作会不会出现问题?接下来要做的事
2007-09-16 20:04:00 1450 3
原创 2007_09_03游戏开发日志
我不是太会写文档,具体文档稍后与整理后的游戏源代码一起发放:游戏的组成部分:1> 游戏核心部分游戏对象游戏对象Hander游戏世界游戏对象管理器游戏地图移动控制器 2> 通用支持部分RTTI动态识别动态创建对象的序例化Switch封装随机函数读写缓冲IO流 3> 网络部分服务器客户机通用SOCKET 包装专
2007-09-03 20:55:00 1369
原创 2007_09_02炸弹人开发日志
修改BUG用了太多时间了,连练琴的时间都没了!唉!BUG现象:主机断开的时候,客户机在显视主机断开后必定产生socket无创建的断言。报告人 :Hunter_xiao原因 : 因为网络断开的时候,流程写错了.本来应该写switch_to("menu_main")却写成 switch_to("menu_game")。原本因该回选单状态的流程错误的没有该变. 由于所
2007-09-02 17:07:00 1350
原创 2007_09_01炸弹人开发日志
目前以知的重要BUG:1>断言GameMove : 109行左右. 这是人物在移动调整时出现了预料以外的情况。 (由于该错误出现的次数较少,因此只能等到录象功能出来的时候再解决)2>网络错误,还没有根本解决,但并不会频繁出错.大多是出在网络不稳定的环境中。 (该问题在代码结构调整之后解决)3>单机退出时有可能出现,CL_Error 地图创建错误。该错误有望近期解决。 (由于该错误出现的次数较
2007-09-01 10:43:00 1505 3
原创 2007_08_30炸弹人游戏开发日志
1.先有人物选单再有地图的游戏流程,就好象泡泡堂那样选地图的流程*2.一盘结束后可以允许自动重新连接,不用再进行连接设置. 3.游戏开始有信息提示*4.游戏结束有信息提示 +计分牌,统计信息.*5.设置本机玩家的个数*6.网络中的错误处理,常见的错误用输出提示框或写日志,不要老是使用断言。 毕竟是一个玩的版本。 7.完善地图验正功能,目前还不提供地图下载.只提示缺少哪张地图.x8.在游戏
2007-08-30 16:10:00 967
原创 最近学习总结
1> 所谓的STL,是通过 迭代器(Iterator) 这个接口把一些常用的数据结构如(vector,list,dquee,map) 与一些常用的算法如(for_each,qshort,copy) 组织起来形成的一个整体。 假如我们想做出的新的数据结构要能够使用原有的算法,则需要提供相应的Iterator接口即可。 同理,假如想我们的新算法应用于旧有的数据结构,则只要把对数据结
2007-08-30 16:08:00 968
原创 如何在ExampleGUIStyle中使用CL_InputDialog?
如何在ExampleGUIStyle中使用CL_InputDialog?在这里首先要说说CL_InputDialog用的是Window的style,而Window主要有两部分组成:1>title bar :是存在于window pos中的子控件,位置可以设置,一般放在与Window控件(0,0)的位置2>client window :是用于放置其它控件的子控件,一般不显视.假如你的介面
2007-08-22 10:15:00 1030
原创 2007_08_17(2)炸弹人开发日志
经测试,目前游戏在高速的网络中运行速度还算可以。在低速网游戏中可能会出错.网络部分算是可以运行了,但是因为游戏流程不清晰的关系,因此最近目标,实现朋友之间可以简单的玩的游戏。网络速度主要以局域网为主,Internet相对要卡很多.下面是具体步骤:1.先有人物选单再有地图的游戏流程,就好象泡泡堂那样选地图的流程2.一盘结束后不必重新连接,在新的连接状态可以让新的玩家加入3.游戏开始有信息提示4.
2007-08-17 16:48:00 1050
原创 2007_08_17炸弹人开发日志
服务器使用虚拟机,客户机使用宿主机.虽然在本地机器勉强可以流畅运行.但是一但真正的IP建立起来.还是会很卡,下面有必要对服务器进行调整.客户端的代码应该就不用改了,因为使用一个线程拼命往缓冲里写数据.而服务端可能要改成非阻塞模式,不然在内部网都这么卡.到了外面就没法玩了.
2007-08-17 09:44:00 1021
原创 2007_08_14炸弹人开发日志
方案2还是不行!方案二不管怎样做,所有客户端还是不能完美的进行同步.另外,游戏太卡已经通过两个方面得到了一定程度的缓解.1.游戏中的socket设还默认的delay,即数据包在系统中有缓冲. 之前没用的时候因为游戏本来都不能正常运行,所以就看不出.总之设置了delay就改善了一些.2.客户端不再频繁调用::ioctlsocket等socket函数来检查网络数据,而是直接检测程序中的缓冲区. 而
2007-08-14 17:55:00 988
原创 2007_08_13炸弹人开发日志
先说说这个游戏网络模块的实现原理:简单的说就是把玩家的输入信号发送到服务器,再由服务器来统一更改所有玩家的虚拟输入设备。为了保证游戏运行不受输入的具体数据的影响,因此服务器在每间隔一段时间就会发送时间驱动包.而输入数据就在这驱动包中.客户端的游戏时间也是由服务器来驱动的。Q1:服务端更新时间应该设多大?A1:我在本机分别设置了200ms,100ms,60ms,50ms,40ms,30ms,20ms
2007-08-13 10:14:00 947
原创 从阅读理论作品与想象文学之间的差异,联想到生活中事业与爱情的方法差异
我们阅读理论作品与想象文学中最重要的差别在于其目的性。阅读理论作品的目地在于传递知识,帮助我们理解这个真实世界。阅读小说、诗歌等的目的是让我们拥有一种经验。而获得这种经验本身能让我们愉悦。 理解是通过逻辑,推论这类理性思考达到的。而经验的则主要是通过想象与感官获得的。并不是说阅读理论作品就不会有想象,阅读想象文学就不会有理性思考。区别在于强调哪一方面罢了。理解这个真实世界能让我们感到满足,但是我
2007-08-04 23:37:00 1158
原创 2007_07_31炸弹人开发日志
真是苦死了,昨天突然死机. 最近写的.cpp文件变成了 00 00 00 00 ...由于是新加的代码,又来不及写入SVN。 T ^ T.不过之前写的代码总算基本完成,与之前相比要少了不少注释.其实就是为socket加上个缓冲然后再简单封装一下常用操作而已。接下来,今天要把游戏中与该网络模块相关旧的代码替换成新代码.下面是新模式的BUG统计信息:模块 : SLK_
2007-07-31 16:43:00 899
原创 2007_07_29炸弹人开发日志
最终,我还是认为不要用ClanLib中的socket包装类CL_Socket为好.本来以为它还可以撑多一下,在游戏的网络功能实现才差不多再来改.主要由3个方面考虑.1>为每个socket加入缓冲以降底对recv函数的调用次数,另外如果使用CL_Socket中的信号通知.则有可能会漏掉一些数据包.我昨天就碰到这个情况.当发送两次的数据包,而这边可能只会有一次信号通知,假如没有在这一次内接收完.将不会
2007-07-29 07:18:00 997
原创 2007_07_21炸弹人开发日志
1.完成由于网络模式的添加,相应的单人模式 的修改。2.解决了一个在内存越介的BUG,表现形式为使用DEBUG模式就会在系统内部断言。3.已经把工程完全转向SVN了,CVS的软件也删除掉了。明日计划:实现网络模式的人物选单等预备功能。
2007-07-21 22:26:00 1050
原创 2007_07_17炸弹人开发日志
*完成+正在处理-不处理炸弹人游戏开发目前修改计划重新分为5个里程碑:1>游戏中能使用网络对战以及录象功能2>重构游戏代码 1)改进ID管理器 2)加入内存管理器 3)统一游戏对象管理器 4)统一资源管理器的使用方法 5)加入日志 6)调整游戏对象中的代码3>包装游戏 1)游戏GUI的调整 2)游戏声音的调整 3)游戏画面的调整 4)游戏资源使用压缩包4>游戏周边功能 1)控
2007-07-17 14:40:00 883 1
原创 FPS概念的理解
最近才明白FPS的作用,以及为什么需要FPS的概念,真是笨得可以了!之前虽然知道FPS就是每秒游戏刷新的次数,可能由于早期游戏的设计思想,一直想不明白为什么同一个游戏FPS不一样,但是出来的效果却一样!因为如果FPS不一样的话,那么调用游戏主循环的次数不就不一样了吗.既然运算的次数不一样,那么运算的结果为什么会一样呢?大多数的游戏通常有个叫游戏循环的东东.而在这里面:float pass_time
2007-07-14 21:04:00 1586
原创 向左向右?
炸弹人游戏的网络功能,有两套方案,但都是用的TCP:1>类似于棋牌游戏中的网络,简单,正确,但对网络要求较高。 不考虑延时问题, 服务器直接转换所有的客户数据就行了,没有数据就发送心跳。 游戏中的最小时间单位是帧,而每帧的驱动都是倚赖于服务器发送的数据. 因此回放其它玩家的数据的时候不会有任何问题. 2>类似于一般网游方式,复杂,有误差,但对网络要求较底。 游戏中的时间是人类时
2007-07-14 16:24:00 864
原创 在VC6。0中可能会碰到ClanLib的编译错误及解决办法
1:在richedit_paragragh.h中的 error C2258: illegal pure syntax, must be = 0 把相应的代码改为: //richedit_paragragh.h class CL_API_GUI CL_RichEdit_Paragraph{public: const static int SPACE_BETWEEN_ITEMS;//
2007-07-11 13:32:00 1146
原创 炸弹人开发日志2007_04_29
今天测试结果:已认可可以使用CL_Socket来完成网络收发数据的功能。(基本上我还是倾向于能用ClanLib本身的功能来完成,因为这样就可以在linux下玩)CL_Socket中的get_read_trigger之类,应该用的是socket的select方法吧.因为在CL_EventTrigger_Socket中能够找到select的函数.另外:get_exception_trigg
2007-04-29 22:13:00 936
原创 2007_02_13炸弹人开发日志
before*XML文件读写*手柄*声音管理* 1.可以不要声音* 2.声音读取错误不影响游戏运行。 the next1.第一个炸弹人图片有些问题2.游戏的玩法 人物选单 结束画面 计分牌3.更多音效4.制做人信息5.日志6.游戏状态这种用法的封装
2007-02-13 16:54:00 945
原创 2007_02_04炸弹人开发日志
17:23 2007-2-4今天终于把宠物奖品写好了,宠物有4种(慢龟、快龟、UFO、猫头鹰)就只有个UFO有穿墙的特殊能力。感觉现在写代码有点靠蛮力,嗯 嗯 嗯。接下来的任务有:BUG显视层次问题阴影,因为之前阴影做得不好,在加入宠物功能代码结构问题功能1.把所有与时间有关的地方全部统一用游戏时间。2.提供新有随机数函数(可重复的)3.加入中毒奖品4.改进输入控制,并加入手柄,使用配
2007-02-04 17:37:00 940 1
原创 2007_01_24炸弹人开发日志
解决了两个关于移动与碰撞的BUG:1>BUG描述:当炸弹在接近墙的时候,人就不能从接近墙的那一边把炸弹踢走 原因 :人物在产生碰撞的时候,没有移动到整数格子内 在炸弹碰撞检测的时候加了边介审查,导致直接在边介附近停止,因为移动的碰撞检测 是一但发现则立即停止的严格检查。2>BUG描述:人物在产生平移效果时,可能会产生连续的平移 原因 :人物在
2007-01-24 17:44:00 1122
原创 2007_01_22炸弹人开发日志
目前已经把不需要的资源清理出去了:现在看看游戏中的主要功能:与泡泡堂的差距:1>投弹2>推箱子3>有变化的道路4>中毒5>帐篷6>穿墙7>坐骑8>网络与炸弹人的差距:1>投弹2>中毒3>穿墙4>坐骑6>必杀技7>方向标8>心灵感应9>关卡也就是说炸弹人除了基本规则之外就加了一个 踢弹的功能,并且还有一个BUG!当炸弹在接近墙的时候,人就不能从接近墙的那一边把炸弹踢走。这个应该是当时
2007-01-22 23:59:00 1060
原创 2007_01_13炸弹人开发日志
游戏特性增加:加入踢弹功能,功能描述:当人物"碰到"炸弹时,炸弹能被"踢开",被踢开的炸弹向人物移动的方向"移动", 移动中的炸弹碰到碰撞物或人物时会"停下来"。功能分析/详细功能描述: 1.当人物碰到移动中的炸弹立即停止移动。 2.炸弹停止的位置必须是在整数的坐标内。 3.炸弹在移动的时候,属于"移动中的碰撞物","移动中的碰撞物"需要精确的碰撞检测 4.人物必须在正对着炸
2007-01-14 00:12:00 1060
原创 在ClanLib中使用blend func
本文是对Blend Func完全没有认识的人写的,就好象一天前的我一样。 废话我就留到后面才说吧。在ClanLib库中的CL_Surface与CL_Sprite中都会有这个函数:void set_blend_func(CL_BlendFunc src, CL_BlendFunc dest);其CL_BlendFun可以在源代码是看到定义,如下:enum CL_Blen
2007-01-04 15:56:00 1302
原创 2006_12_19炸弹人开发日志
新的任务列表:1.地图选单,要有地图的预浏览2.人物选单3.游戏运行时介面的美化 对玩家信息,游戏时间进行布局 4.增加以圣诞为主题的地图5.增加游戏声音 1.加入声音资源 2.为炸弹加入声音(爆炸时的声音,炸弹运行时的声音) 3.为人物加入声音(移动时的声音,放炸弹时的声音) 4.地图背景音乐6.游戏图片更新 1.人物 2.圣诞主题相关图片 3.游戏地
2006-12-19 18:19:00 1228
原创 2006_12_18开发日志(任务列表更新)
*1.支持物品组,以实现一个物品能够占用多个方格 *2.读写地图 *3.设置玩家起始位置 *4.放置奖品*5.地图编辑器*6.资源定义文件中加入物品信息的资源定义*7.次源定义文件中加入奖品信息的资源定义*8.物品资源,奖品资源,精灵资源都存放在一个XML数据文件中。下面回到C++(游戏主程序的任务中来)9. 物品资源的加载与该类型对象的生成10. 奖品资源的加载与该类型对象
2006-12-18 11:57:00 1346
原创 206_12_15炸弹人开发日志
目前的正在执行的计划*1.支持物品组,以实现一个物品能够占用多个方格2.精灵编辑3.物品编辑*4.读写地图*5.设置玩家起始位置 *矩形边框颜色 *字体颜色 *字体大小*6.设置背景与碰撞物 7.设置奖品 数据 放弃精灵编辑器,与物品编辑器是因为这两样东西虽然是小东西,却占用了将近一个星期时间。而我发现可能是我对自已需要什么并不是太清楚。工作变成经常翻阅WIN32
2006-12-15 22:13:00 1297
原创 春运将至,各位小心财物
在公交上这么近距离 碰到了抢劫的还是第一次。与事发地点不过两三个身位。整个过程前后不过三分钟,一开始始看到公交上有打斗,我下意识的捂住钱包。我开始还以为是打架,然后一条金链掉在了垃圾桶内。其中有一人快速的从后面挤出来,拣起就跑了。这时我才意识到是抢劫啊。从事发到那人逃跑不到十五秒钟。本来我以为事件完了,那人逃跑之后。司机才把车门关上,这时刚才那几人开始叫嚣:"快把车门打开....."; 正当我
2006-12-08 10:56:00 1679
原创 在Delphi中生成带透明的光标
//默认颜色贱值是粉红色//color_key,用于生成mask的,因为只有bitmap才能生成mask,color_key表示透明部分以什么颜色代替function CreateCursorByGraphic(bm:TGraphic ; const hotx,hoty : Integer; const color_key : TColo
2006-12-05 11:17:00 1481
原创 2006_12_01炸弹人开发日志
决定了,不使用色块来做为判断是否为一整体对象。而使用空白的阻碍物来代替。空白的阻碍物没有任何图形,仅仅是在地图上有阻碍而已,而在游戏数据中这种物体则与真正的阻碍物生死相关,以此来实现它们看起来是一整体。因为:1.虽在物体着色我地确是找到方法,也经由我亲自试验是可行的, 但问题是该算法本身与我实际要求有差距,需要对其算法进行更改,可我对这方面的知识非常匮乏,并不能保证我修正后的算法的
2006-12-02 10:21:00 1135
unity3d 换装学习代码
2013-10-07
bomman v1.2 beta2 网络测试版(这个有些BUG,应该删了!)
2007-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人