游戏设计手札

摘要: 开始着手用Flash AS3进行开发,好吧,感觉用“创作”这个词更贴切一些。最早尝试直接用GDI来做,因为图片刷新的时候屏幕闪动有些明显,加之技术太老跟不上时代,于是在入门,并了解了其中的一些运行机制之后丢弃了。一直到最后也只是把最重要的“人物行走”和“地图读取”的模块完成了,编程风格稀烂。之后接触了一段时间DirectX,但是DirectInput控制鼠标的时候,完全无法定位,有很大的误差(类似跑帧),所以无法处理按钮,但是如果直接用windows的API,那么DirectX就意义不大了。最后也暂时搁置DirectX的学习,等到准备做3D游戏的时候再说。于是乎,就转向Flash AS3.0了阅读全文
posted @ 2012-04-30 08:10 cybersword 阅读(5) | 评论 (0) 编辑
摘要: 今天遇到的问题:因为是全屏游戏,为了方便地图的显示,进入游戏时修改了系统分辨率,可是之后发现,这样一来第一个显示的页面闪一下后会被黑屏覆盖掉,之后要通过键盘触发相应的消息响应才能继续之后的显示。有时候按一下回车会产生连续按两下的效果。解决的方法是:修改系统分辨率的代码需要放在窗口注册以后,否则会编译出错;并且要放在窗口创建之前,否则会出现上面提到的问题。在消息响应时添加了一个定时器,添加了一个全局变量waittime,初始时waittime = 0,收到按键的消息时,判断waittime的值是否为0。如果是,就执行相应处理函数,并启动定时器,设waittime值为1;如果不为0,则直接brea阅读全文
posted @ 2012-01-29 00:22 cybersword 阅读(60) | 评论 (2) 编辑
摘要: 终于用GDI实现了人物在屏幕上行走的功能。成功后发现其实方法挺简单的,只是这个方法几乎没看到有人用,于是。。折磨初学者哎。。差点就摆弄DirectDraw了,幸好我多坚持了那么些。在屏幕上希望的位置显示硬盘上某个图片的某个希望的部分的方法: 1 { 2 HDC hDC = GetDC(hwnd); 3 HDC memDC = CreateCompatibleDC ( hDC );//创建兼容DC 4 HBITMAP hbmp = (HBITMAP)LoadImage(0,".\\PLAYER.BMP", IMAGE_BITMAP,0,0,LR_CREATEDIBSECT..阅读全文
posted @ 2012-01-28 00:46 cybersword 阅读(1362) | 评论 (5) 编辑
摘要: 自己摆弄着把GDI的位图显示的一些相关函数试出来了。可是始终无法达到想要的效果。希望实现的效果是:在文件夹中存一张图片,这个图片被分成4x3的12个小格,我希望在屏幕的任意位置显示该图片的任一小格的内容,不使用MFC。自己尝试的是用画刷填充矩形。HBITMAP hbmp = (HBITMAP)LoadImage(0,".\\PLAYER.BMP", IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE);HBRUSH hBrush = CreatePatternBrush(hbmp);FillRect(hDC, &阅读全文
posted @ 2012-01-27 01:06 cybersword 阅读(1129) | 评论 (1) 编辑
摘要: 游戏的基本思路设计好了,触发事件的时候就用SendMessage发送一个自定义消息(研究了一下系统已定义的WM_消息,发现只要大于0x0400基本就可以随意使用(不能是0xFFFF),于是选择0x1000开始作为自定义消息),然后根据msg的值和wParam的值来处理。我终于发现switch语句的好处,原来这个结构在做消息处理,菜单处理的时候是这么好用。v0.1版实现了游戏开始时的菜单界面,即“新的征程”(开始新游戏)、“重出江湖”(读取存档)、“游戏说明”、“封剑归隐”(退出游戏),用↑↓方向键可以来回选择菜单项并高亮显示。方向键的消息在回调函数中不能用WM_CHAR接收,要用WM_KEYD阅读全文
posted @ 2012-01-25 14:42 cybersword 阅读(1369) | 评论 (3) 编辑
摘要: 今天开始动手写代码了,工程名叫Dragon,因为今年龙年嘛。版本是v0.0,因为只是创建了一个窗口,里面一无所有。本来是想用MFC做的,可是一来没找到对话框全屏显示的方法,二来设置MFC的dll静态调用,编译链接总是通不过,好像是SDK的版本问题吧,最后仔细一想,反正整个游戏几乎没有需要MFC帮忙的地方,干脆自己写消息循环之类的东西算了,于是创建了一个win32的空工程。说起来还是第一次从头到尾都是自己写代码,以前要么是照着教程或者课本做的,要么是修改别人的代码。一开始好不容易窗口创建好了,半天显示不出来,后来又纠结全屏显示的参数设置。现在的功能是打开后是个全屏黑色,没有光标,ESC或ALT+阅读全文
posted @ 2012-01-24 00:50 cybersword 阅读(1283) | 评论 (0) 编辑
摘要: 玉兔辞岁寒风尽,祥龙迎春囍气来现在是龙年第一天,刚看完春晚,鞭炮声中写下这篇手札花了半年时间去考研,现在终于有时间,可以再向梦想迈一步了离开学校之前的几天在图书馆拿了一摞十几个代书板,把游戏开发、游戏设计相关的书全部找了出来,最后借了一本《Visual C++ 游戏开发经典案例详解》,又自己在网上下了随书的视频和源代码,虽然感觉书编写的不太给力,视频录的效果也很差,但是里面的案例确实很经典,如果仔细琢磨源代码,肯定获益匪浅。再加上原本对MFC就不太熟悉,这次刚好补补课。最后决定自己写一个RPG游戏出来(当然,美工要找同学帮忙),分析了一下Flash和VC的利弊,最后还是决定用VC来实现,原因如阅读全文
posted @ 2012-01-23 01:40 cybersword 阅读(145) | 评论 (1) 编辑