当我在回头看这笔记时,我只能目瞪口呆,我对它万分失落,原本想用它找回一些记忆,可是收获寥寥无几!
-------学习《学VC编游戏》教程的笔记-------
《学VC编游戏》教程中的程序流程:seven
---类的初始化:
设置小地图的属性(大小及位置)
创建小地图DC
创建小地图画笔
设置大地图及小地图的当前状态标志(是否移动......)
---初始化DirectX环境
创建DirectDraw对象,并且设置对象的状态(窗口模式,显示模式......)
设置主显主显页面参数,并且创建
设置地图缓寸页面参数,并且创建
设置地图移动缓寸页面参数,并且创建
设置主缓寸页面参数,并且创建//注意其大小要比游戏场景大小大的多
设置对象缓寸页面,并且创建,然后设置它的透明关键色
初始化其他Direct属性
---初始化DC对象及游戏其他参数或者标志
创建对象DC
创建若干个内寸DC
创建字体
设置目录,主对象的属性,对象数组总数,操作系统类型,大地图移动标志,资源指针,大地图默认倍数,是否使用搜索路径
---加载资源
打开不同类型的文件,将资源(图片,声音等)保存在资源指针中。(资源文件的组成:一个文件记录资源文件的属性,例如资源在文件中的偏移位置,大小,类型及其他属性。另一个文件保存实际的资源文件)资源指针指针指向实际的资源,可用数组记录各个资源的属性,数组的小标可以与资源文件名有一定关系,一便方便操作。//
游戏开始:
---选择游戏地图等玩家设置
---场景初始化
打开场景文件(场景文件的组成:地图名称,地图中对象的数量,各个对象的属性<类别,动作,坐标,编号,图片编号等>等)
用场景文件中的内容设置对象数组中各个对象的属性及其他(地图名称,对象数量等)对象
--如何设置活动对象的图片编号//
--如何设置对象(图片)的尺寸//
---加载障碍表
打开障碍表文件(障碍表文件的组成:尺寸,数据等)
用障碍表文件设置和障碍表关联的对象(障碍表尺寸,地图实际倍数<地图实际倍数等于障碍表尺寸除以每块地图的障碍表格数>)
---向对象数组中添加随机物品(金钱,血,事物等其他游戏中会出现的对象)
---生成小地图
将地图文件装入对象DC,然后装入DirectDraw对象//
把对象DC中的地图缩小生成在小地图DC中//
分别将对象数组中静止的对象装入小地图DC//
---加载背景音乐并且播放
---进入主循环
----------------------------------------------------------------------------------------------------------------------
---主循环
移动大地图,根据大地图的移动参数将地图移动到DirectDraw的对象中,然后将对象数组中的成员按照Y轴坐标进行排列,并且设置大地图的移动标志
活动对象碰撞检测,碰撞检测中需要调整对象的方位,坐标,状态并且修改对象的若干属性(生命值,经验值等),也有可能需要从对象数组中删除必要的对象,例如某些物品被捡起之后应当在地面消失//
对象显示,将对象数组中的对象分别显示在暂寸当中,并且处理半透明显示。
将后台缓寸中的内容翻转到屏幕
显示小地图,如果有必要更新小地图中的内容,应当重新显示小地图
---输入控制
--单击
搜索主角路径,并且终止当前主角动作,如果在游戏主屏幕中单击,搜索中需要主角的目标坐标,目标坐标是世界级的坐标,应当包含地图移动值//
修改大地图移动值,如果在小地图中单击,并且对小地图进行必要的重画