old times
文章平均质量分 72
kevinlynx
走在深化技术的路上,准备重新带好一个团队,做好一个产品
展开
-
C++类对象的复制-拷贝构造函数(深拷贝,浅拷贝)
以前我们的教程中讨论过函数返回对象产生临时变量的问题,接下来我们来看一下在函数中返回自定义类型对象是否也遵循此规则产生临时对象! 先运行下列代码: //程序作者:管宁 //站点:www.cndev-lab.com //所有稿件均有版权,如要转载,请务必著名出处和作者 #include iostream>usingnamespacestd; classInternet { public: Int转载 2006-03-02 23:24:00 · 1528 阅读 · 0 评论 -
关于友员函数的低级错误
“类的友员函数可以直接访问该类的所有成员,但它不是成员函数,可以象普通函数一样在任何地方被调用” 这样看上去,友员函数与成员函数的区别就仅仅在于友员函数可以在任何地方被调用,于是我写了下面的代码:class CDemo{ private: int m_a; public: friend void ShowMsg(void); int Get_m_a() const;原创 2006-03-07 10:26:00 · 1729 阅读 · 0 评论 -
MFC学习之初体验
学习MFC是从昨天晚上开始的,刚开始时我读的是《深入浅出MFC》,读了几篇,感觉上它讲的有那么一点太本质了。但是我还是从它那里获得了一个总体的认识。 当我看到了更多的MFC文章时,我真的想很轻蔑地说一句:切,不就是一个封装了WINDOWS API的类库嘛!----事实上这句话没有错误,但是客观地说,MFC其实拥有更为深刻的内涵。 不要被表面现象所蒙蔽了!我用VC6自动生成了一原创 2006-03-08 13:04:00 · 1594 阅读 · 0 评论 -
MFC学习之模式对话框设计
从昨天晚上就开始学习MFC的模式对话框设计,模式对话框在我以前学习WINDOWS API编程的时候就接触过---后来学习32位汇编也接触过。 先来看一下用API怎样来创建对话框。首先的有对话框资源,得到对话框资源名IDC_MYDLG,然后在程序里得有个对话框过程处理函数----不是消息函数,最后执行DialogBox,执行到此函数时,只有等到对话框关闭EndDialog后,该函数才会返原创 2006-03-09 21:47:00 · 4051 阅读 · 0 评论 -
游戏中同一帧下的多次按键检测
游戏中同一帧下的多次按键检测 现在我们有个飞机射击类游戏,我们需要给这个游戏加进这样的功能:当玩家按下方向键时,玩家飞机会根据这个输入来移动,在移动过程中---即玩家一直按住方向键不放-----突然玩家按下了FIRE键来发射子弹,甚至玩家一直按住一个方向键和FIRE键,这个时候要求我们的玩家飞原创 2006-04-04 16:27:00 · 2081 阅读 · 0 评论 -
实现简单的 std::cout
实现简单的 std::cout 其实在我做的程序里很少用到这些IO操作的东西,但是最近在培训班里要弄比赛,所以也就趁这个机会去学习一下C++里的IO操作。看了点书,有了点心得,遂决定自己来做这件有点本质的东西。 cout 是类 ostre原创 2006-03-28 21:08:00 · 2074 阅读 · 0 评论 -
雷电Kevin Lynx版--我的新作品~含原代码~
我用了一个星期完成了它。只做了一关。很累。后期尤其累,纯岁地赶进度,真正体会到什么是压榨模式。这个博客不支持上传文件,所以我把它放在了www.21disk.net的空间上。大家可以通过这个地址去下载---最好用下载工具下。 下载地址:http://www.21disk.net/UU/getfile/download.php?downurl=/upload/2/1/21disknet原创 2006-03-28 01:23:00 · 2045 阅读 · 0 评论 -
第一次纯OO感受
首先我得先说明:我这里所谓的OO感受是很肤浅的,我没有做过大的项目,更没有过软件维护的感受。事实上我比较期待我能有一次做大项目的经历,也许那对于面向对象思维方式的建立会更为有利! 2月份底的时候我开始做一个自己认为比较完整的游戏,它是一个类似《雷电》的游戏,我会往里面加入尽可能多的元素。可是后来当游戏里的对象越来越多的时候,整个工程开始变的举步唯艰。我立刻意识到,越来原创 2006-03-16 22:10:00 · 10768 阅读 · 3 评论 -
如何定义一个类成员的指针(成员变量或成员函数)
首先看我从网上引用的东西:“指向数据成员的指针格式如下: 类型说明符>类名>::*指针名> 指向成员函数的指针格式如下: 类型说明符>(类名>::*指针名>)(参数表>)例如,设有如下一个类A: class A { public: int fun (int原创 2006-03-10 01:52:00 · 3577 阅读 · 0 评论 -
体会到软件测试的重要性
事实上,基于这个大环境的影响,对于软件的测试工作其实我也知道. 软件测试作为整个软件开发的一个阶段,这个我也知道. 在这次的游戏软件中,恩,我算是有个深入的体会了.当我把它的第一个说的上完整的版本写出来后,我就自己那么简单的测试了一下----这不能算做测试,只能算做自己玩玩,想看效果而已. 就这样的BUG很未知的东西,我胡乱地发布到了网上. 结果原创 2006-04-07 11:05:00 · 2131 阅读 · 0 评论 -
如何让精灵在不同的帧率下运动速度不变--Frame Rate Independent Movement
本文性质:翻译加原创,转载请保留原作者和译者信息!行文安排:前不份是翻译,后部分是自己的原创。Frame Rate Independent Movement by Ben Dilts 翻译Kevin Lynx 2006-5-21 第一部分:I have seen countless posts on原创 2006-05-22 00:45:00 · 2230 阅读 · 0 评论 -
The Game will be distributed
〈是男人就下一百层〉,是我们工作室组建以来的第一个作品。由于时间原因,当时开发的时候我都是拼了命地赶进度。有几天晚上我都累得眼睛都睁不开了。而对于美工,我要求也不是很严格。 游戏提交给欢熊公司后,我们都轻松了。 这都快一个月了,可是依然没被发布。昨天问了一下,还好还好,今天就要在官网上发布了。发布地址为:http://www.ca8.com.cn/Download/Do原创 2006-06-29 15:27:00 · 1040 阅读 · 1 评论 -
HGE 的Resource Manager
以下资料翻译自:http://gpwiki.org/index.php/HGE:Tutorials:Resource_Manager Resource Manager The resource manager is a way of defining textures, sprites, sounds, and other items that your application mak原创 2006-08-30 13:19:00 · 2939 阅读 · 0 评论 -
以下语句居然是正确的
以下的语句居然是正确的: char *p ; p = "abcd"; p = "abcdef"; 就因为这几句代码,让我丢大了脸。不过静下心来想想,其正确性也不是没理由的: 对于代码里的字符串,例如上面的"abcd","abcdef",编译器在编译时就会开辟内存来保存这些字符串----事实上它们是属于const string。你可以写个简单的程序,然后让编译器输出汇编代码看看。原创 2006-08-30 21:25:00 · 957 阅读 · 0 评论 -
dev-c++4.9.6.0问题
今天写了个关于 const实验的程序,在Dev-C++4。9。6。0下调试了很久,又在群里和别人讨论了很久~本来我应该到VC下去试试---我以前经常这么做,但是不知道为什么,我一直没有去试~~最后群里那小子实在让我郁闷了----开始和他讨论了半天,他都在自己猜测----最后我自己在VC下试了试---我靠~~居然正确了! int CDemo::Get_m_a() const{原创 2006-03-07 02:03:00 · 1113 阅读 · 0 评论 -
const传奇--转载
const传奇 xlander译转载 2006-03-06 22:23:00 · 839 阅读 · 0 评论 -
我的DirectDraw7学习之旅
我的DirectDraw7学习之旅 学习DirectDraw大概两个月,这两个月也是我系统地学习游戏编程的两个月。所以在这个时间段里,我还学习了其他的东西,例如C++----当然,C++不是容易学的,我只学了点皮毛-----后来看《C++编程经典》,看到满世界的对象,顿时觉得自己的程序中的那些“面向对象”是多么粗糙!我的整个学习过程都是以渐进式做东西而推进的,即是学到一个阶段了就原创 2006-03-06 00:13:00 · 1678 阅读 · 0 评论 -
About Pointers and Array
1. #include 2. int main(int argc, char* argv[])3. {4. char str[10];5. char *pStr = str;6. cout 7. cout 8. return 0;9. }1。char str[10];后,我们应该把 str 看作一个类型为 char[10] 的变量。 struct char[10] {原创 2006-06-15 17:04:00 · 1049 阅读 · 0 评论 -
软件开发与文档
在学校里加入的那个项目差不多也进行了有半个月时间了。 这半个月时间体会到最为深刻的,便是软件文档的重要性。在项目开始前,我们就被要求用一个月时间熟悉自己负责的模块-----整个软件分成了很多模块,当然我个人觉得我们这个项目很容易模块化---客户端和服务器端不可能在同一模块---熟悉过后,需要每个人写一分概要设计的文档。这分文档需要描述模块大致的功能。项目开始时原创 2006-08-07 16:42:00 · 1074 阅读 · 0 评论 -
关于游戏中的调度器
关于游戏中的调度器原文(译):1.1 调度游戏中的事件 一个调度其可以有效帮助以下游戏技术的实现,他们包括物理仿真,人物运动,碰撞检测,游戏中的人工智能,渲染。在所有这些技术中有一个关键问题就是时间。在不同的时间里,当数百个不同的物体和过程都需要更新时,这些仿真技术的很多种东西变得非常复杂原创 2006-09-05 11:36:00 · 1705 阅读 · 0 评论 -
Brick Shooter Jr 完成!
Brick Shooter Jr在忍受了一些随机BUG--目前随机性已被我到最低限度--以及旋转和撤消功能后,终于完成了! 差不多用了6天时间哪!!前两天真的是超级痛苦的!累!昨天晚上8点过特别不在状态,后来放重金属,居然咬着手写!!这次第,怎一个惨字了得!还好,我还算是超越了自己的极限!最终完成代码4500行,跟Feeding Frenzy Demo差不多了!但是整个游戏打包后才3M多,原创 2006-10-03 15:39:00 · 1343 阅读 · 1 评论 -
工作日志1(2006.8.15--8.31
/*******************************************************************************************************************************************************/1.嵌入式项目无线客户端,使用Qt开发包。2.MFC,没事写窗口软件玩玩。3.软件架构。原创 2006-10-08 13:15:00 · 1971 阅读 · 3 评论 -
工作日志3(2006.9.4--9.15)
/********************************************************************************************************************************************************************************* File: Nothing for a原创 2006-10-08 13:29:00 · 1623 阅读 · 1 评论 -
工作日志(2007.9.27)
Kevin Lynx2007.9.27Mainly about recent work.从PacShooter开发完成后,我的学习进度明显慢了下来。可能自己真的懂得爱惜自己的身体,所以即使慢了下来,心里也不至于很内疚。最近慢慢恢复了一些,只是突然间觉得需要做的事情又多了起来。习惯问题,我需要对过去一段时间,以及将来一段时间做出总结以及计划。从PacShooter开发完成,到现在差不多接原创 2007-09-27 22:32:00 · 2428 阅读 · 0 评论 -
绑定HGE到AngelScript脚本系统
关于脚本系统,以前接触过GameMonkey,当时的感觉就是要结合进C++,处理类方面比较麻烦。事实上大部分脚本语言要结合进C++,都存在这个问题。后来知道了Angel Script,稍微看了下文档,发现其与C++结合比较容易。 最近都在休息,前天休息疯了,就决定玩玩angel script。后来突然就产生了把HGE和angel scrip结合起来的想法。也就是很多游戏引擎原创 2007-08-26 14:17:00 · 3504 阅读 · 1 评论 -
HGE使用free type实现中文输出
HGE使用free type实现中文输出 之前在irrlicht论坛看到有日本人把free type字体库用在irrlicht引擎里,使该引擎支持多字节文字输出。但是他修改了引擎,后来我把他的代码修改了下,使其不用修改引擎代码就可以直接使用。 考虑到过段时间可能会用HGE做些外包,就把这分代码进行了大幅度修改,将其结合进了HGE。也就原创 2007-08-18 13:20:00 · 3688 阅读 · 3 评论 -
PacShooter完成
Kevin Lynx2007-8-5 PacShooter终于完成了,从7月29号到8月4号,今天收了下尾。感觉整个开发过程还是比较顺利的。这算是我第一次做3D,也是我第一次用irrlicht。 其实当初学3D本打算用OGRE的,可是后来想找个游戏做时,却发现很难找到资源。OGRE本身只支持自己的模型格式,虽然可以把其他格式转换过来,不过感觉上限制还是很原创 2007-08-05 20:15:00 · 1536 阅读 · 0 评论 -
关于对游戏帧率的学习
先看传统的游戏消息主循环:while(1) { if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { if(msg.message==WM_QUIT) break; TranslateMessage(&msg); DispatchMessage(&msg); } else { //there is no message a原创 2006-02-21 23:17:00 · 1573 阅读 · 1 评论 -
容易看懂的贪食蛇--偶04年6月在cstudyhome发表的文章
这个东西作的还不怎么完善,主要是时间上的不足 不完善的地方希望得到高手的指教,另外我有个QQ群可供大家交流,群号码:3228111 我的邮箱是:zmhn320@163.com#include #include #include #include #define ESC 27#define TO_UP 72#define TO_DOWN 80#define TO_原创 2006-01-11 01:47:00 · 1453 阅读 · 0 评论 -
在BASIC下实现递归
很久以前我在CSDN上看到一篇文章,是讲在C下实现面向对象的,写的很经典,但是当时我还没有能力看懂那篇文章。但是它依然给了我很多启发-----真正的高手是不会也不应该受一门语言的限制的!高手可以在C下实现类,当然也应该在BASIC下实现递归----(是在夸我自己呢)。这个程序是在GVBASIC下运行的。这是我最开始学习的一门编程语言--在这之前学校里教过QBASIC,可惜我没有认真学---后来突原创 2006-01-06 20:59:00 · 1715 阅读 · 0 评论 -
C++类对象的复制-拷贝构造函数()
//程序作者:管宁 //站点:www.cndev-lab.com //所有稿件均有版权,如要转载,请务必著名出处和作者 #include iostream>usingnamespacestd; classInternet { public: Internet(char*name,char*address) { cout} Internet转载 2006-03-03 01:15:00 · 1145 阅读 · 0 评论 -
HGE中的游戏GUI代码阅读
第一部分: HGE helper类中的GUI:引擎版本:1.60release。 文件:hgegui.h , hgegui.cpp, hgeguictrls.h , hgeguictrls.cpp 大致类图:其中,hgeGUIObject是抽象基类,具体的控件类如按钮,文本标签,都是从它派生而来。HgeGUI属于整个GUI系原创 2006-09-08 00:39:00 · 3574 阅读 · 0 评论 -
HGE扩展库Qaf教程粗略翻译
教程不难,所以我翻译的很粗略:Basic Qaf ApplicationIt is assumed that you have some experience with the HGE library, and this tutorial will skip some of the more basic stuff. 这里假设你有使用HGE库的一些经验,这个教程会忽略一些基本的HGE技原创 2006-09-08 23:29:00 · 5112 阅读 · 0 评论 -
dirty code
/*in a game , I always restore some enemies in a container ---it may be a linked list or a ordered-list ,and then I get all the element in the container and check them with the player object ---collis原创 2006-09-15 09:43:00 · 1448 阅读 · 0 评论 -
linux使用日志
2007-6-27 useradd 命令需要以root的身份执行,只需要useradd useName 即可添加新的用户。添加了新用户后,可以passwd useName来设置该用户的密码。如果用户名已经存在,useadd会添加失败。 set 命令可以在终端显示所有的系统环境变量。 SHELL 环境变量表示系统有哪些SHELL程序类型。原创 2007-07-19 08:42:00 · 1238 阅读 · 0 评论 -
Edge2d简介
Edge2d version 0.1.0Copyright © 2007-2008, Kevin Lynx. All rights reserved. 概述(Overview) Edge2d是一个非常面向对象并且插件化的2D游戏引擎。得益于良好的软件架构,Edge2d将是一个容易被扩展的,跨平台,且不依赖于任何底层库的引擎。Edge2d是彻底插件化的,这里所谓的插件化是原创 2007-11-04 18:53:00 · 2040 阅读 · 0 评论 -
HGE使用GDI绘制中文字体
其实这个没什么技术含量。这个技术在我自己的引擎Edge2d中被实现了,这里把其核心部分迁移到HGE中。 大致原理就是:利用GDI将文字信息写到HGE的纹理上(本质也就是DX8纹理),然后再绘制HGE纹理到屏幕上。关键效率的处理在于,使用一个缓存保存这些纹理。每次绘制一个文字时,就查询该文字对应的纹理是否被创建,是的话就直接从缓存中取出纹理然后绘制,否的话就立即创建该纹理并保存纹理到缓存中。原创 2007-11-19 20:52:00 · 2878 阅读 · 2 评论 -
试用Ubuntu
最近利用闲暇的时间翻,在软件设计哲学上很多地方都和作者产生了共鸣。或者有时候被作者说中了自己的感觉,才发现原来自己也是这样想的。编程感悟确实是一种经验主义,说不清道不明只是有那么一种感觉。 关于KISS原则,keep it simple and stupid,但是如同大部分经验原则一样,即使是unix奉行的简约规则,也不可滥用。所以在软件复杂性一节中作者就谈到了“别简单过头“。原创 2008-01-11 01:23:00 · 2113 阅读 · 0 评论 -
理解完成端口(IO completion port)
关于完成端口网上有很多文章,不过我个人觉得大多都讲得不够清楚。给的例子要不就是给一个复杂的封装,要不就是给一个简单的收发数据。注意,完成端口不仅仅用于网络数据的收发,它可以用于windows 平台的各种IO操作。不过我这里只关注在winsock编程中的应用。 要写出一篇真的让人能够明白的文章,不那么容易。这里我只暂时贴些我的理解。迟些时候如果有空的话,我倒有兴趣写个详细的入原创 2008-01-27 19:54:00 · 3250 阅读 · 1 评论 -
似乎是新的开始
很早前就有整理CSDN这个博客的想法,可是觉得工作量巨大且CSDN这个博客系统似乎对分类支持不是很好,总之最终还是因为自己的懒而被搁浅。 这个博客我估计申请了差不多有3年多了吧。因为我发现很早前还有我写的关于gvbasic的东西,很汗颜。我写技术博客从来都不规范,基本属于自己作笔记性质。这两三年来全部精力都拿去关注程序技术了,文笔也变弱了,写的东西前言不搭后语,连思维都不连原创 2008-03-07 22:00:00 · 1309 阅读 · 1 评论