摘要: 好像每一年的这个时候我都会写点什么。回过头翻看以前写的日志和博客。一年前的这段时间,我在家制作C的教程,那个时候还没打算考研,也没那么排斥机械,不过那个时候已经打算考软件设计师,尝试向IT领域靠拢。那个时候还不知道未来的一年里,会过的这么累。两年前的这段时间,我大概在折腾Flash,尝试做点什么出来,可是最后什么也没做出来。那个时候的我,渐渐不再有天马行空的想象,慢慢的开始想从一些实际的地方入手。三年前的这段时间,我刚上大学没多久,悠闲的不得了,那个时候对待大学还是很积极的态度。三年多过去了,似乎提高了很多,学会了很多,可是细细想来,又什么也没做过。只是那个心中的梦想,却依然在那里徘徊,从未消 阅读全文
posted @ 2012-02-26 00:49 cybersword 阅读(162) 评论(1) 推荐(0) 编辑
摘要: 近期三件事:学习,实践,找工作。很想豪迈地说一句什么话然后热血地向梦想出发。可是不行。我需要耐下心来,沉静下来,认真地去学习一些技术,学习那些以前想学但是因为贪玩和懒惰而没学的技术。我需要做的就是沉静下来,抓住光阴的尾巴,保持对梦想的憧憬,去一步步实现。我不是一个有信仰的人,但至少还不愿人生虚度。灵感、沉静、睿智。 阅读全文
posted @ 2012-02-15 00:06 cybersword 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 今天在用VC做一个读取文本文件中的大量数据,然后进行科学计算的时候,遇到一个不解的问题。因为是用MFC做的,所以很直接的定义了一个CFile myFile; 然后MyFile.Open(xxxx); MyFile.Read(xxxx);诸如此类,按字节的读取内容。由于数据是不定长度的浮点数,所以在判断哪一部分是数据的时候还需要判断是否遇到制表符等等,然后在循环连接字符串,把每次读取的字符连在后面,写的十分啰嗦。后来想想,以前用C的库文件中的函数处理文件读取的时候,貌似直接FILE * file ,然后 fscanf(file,"%lf,"%lf,"%lf" 阅读全文
posted @ 2012-02-09 21:21 cybersword 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 今天遇到的问题:因为是全屏游戏,为了方便地图的显示,进入游戏时修改了系统分辨率,可是之后发现,这样一来第一个显示的页面闪一下后会被黑屏覆盖掉,之后要通过键盘触发相应的消息响应才能继续之后的显示。有时候按一下回车会产生连续按两下的效果。解决的方法是:修改系统分辨率的代码需要放在窗口注册以后,否则会编译出错;并且要放在窗口创建之前,否则会出现上面提到的问题。在消息响应时添加了一个定时器,添加了一个全局变量waittime,初始时waittime = 0,收到按键的消息时,判断waittime的值是否为0。如果是,就执行相应处理函数,并启动定时器,设waittime值为1;如果不为0,则直接brea 阅读全文
posted @ 2012-01-29 00:22 cybersword 阅读(233) 评论(2) 推荐(0) 编辑
摘要: 终于用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 阅读(1604) 评论(5) 推荐(0) 编辑
摘要: 自己摆弄着把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 阅读(1272) 评论(1) 推荐(0) 编辑
摘要: 游戏的基本思路设计好了,触发事件的时候就用SendMessage发送一个自定义消息(研究了一下系统已定义的WM_消息,发现只要大于0x0400基本就可以随意使用(不能是0xFFFF),于是选择0x1000开始作为自定义消息),然后根据msg的值和wParam的值来处理。我终于发现switch语句的好处,原来这个结构在做消息处理,菜单处理的时候是这么好用。v0.1版实现了游戏开始时的菜单界面,即“新的征程”(开始新游戏)、“重出江湖”(读取存档)、“游戏说明”、“封剑归隐”(退出游戏),用↑↓方向键可以来回选择菜单项并高亮显示。方向键的消息在回调函数中不能用WM_CHAR接收,要用WM_KEYD 阅读全文
posted @ 2012-01-25 14:42 cybersword 阅读(1607) 评论(4) 推荐(0) 编辑
摘要: 今天开始动手写代码了,工程名叫Dragon,因为今年龙年嘛。版本是v0.0,因为只是创建了一个窗口,里面一无所有。本来是想用MFC做的,可是一来没找到对话框全屏显示的方法,二来设置MFC的dll静态调用,编译链接总是通不过,好像是SDK的版本问题吧,最后仔细一想,反正整个游戏几乎没有需要MFC帮忙的地方,干脆自己写消息循环之类的东西算了,于是创建了一个win32的空工程。说起来还是第一次从头到尾都是自己写代码,以前要么是照着教程或者课本做的,要么是修改别人的代码。一开始好不容易窗口创建好了,半天显示不出来,后来又纠结全屏显示的参数设置。现在的功能是打开后是个全屏黑色,没有光标,ESC或ALT+ 阅读全文
posted @ 2012-01-24 00:50 cybersword 阅读(1527) 评论(0) 推荐(1) 编辑
摘要: 玉兔辞岁寒风尽,祥龙迎春囍气来现在是龙年第一天,刚看完春晚,鞭炮声中写下这篇手札花了半年时间去考研,现在终于有时间,可以再向梦想迈一步了离开学校之前的几天在图书馆拿了一摞十几个代书板,把游戏开发、游戏设计相关的书全部找了出来,最后借了一本《Visual C++ 游戏开发经典案例详解》,又自己在网上下了随书的视频和源代码,虽然感觉书编写的不太给力,视频录的效果也很差,但是里面的案例确实很经典,如果仔细琢磨源代码,肯定获益匪浅。再加上原本对MFC就不太熟悉,这次刚好补补课。最后决定自己写一个RPG游戏出来(当然,美工要找同学帮忙),分析了一下Flash和VC的利弊,最后还是决定用VC来实现,原因如 阅读全文
posted @ 2012-01-23 01:40 cybersword 阅读(363) 评论(1) 推荐(0) 编辑
摘要: 原来char *s="123456";与char s[]="123456";是不一样的,在于s所代表的含义不同,前者是一个指向字符串常量的字符指针,后者是数组。虽然大多数时候可以交叉使用,但是今天遇到一个例子: 1 #include <stdio.h> 2 #include <string.h> 3 main() 4 { 5 char *s = "\ta\017bc"; 6 char ss[] = "\ta\017bc"; 7 8 printf("%d\n",sizeof 阅读全文
posted @ 2012-01-05 02:59 cybersword 阅读(301) 评论(2) 推荐(0) 编辑