横版过关游戏开发-游戏流程
看到大家这么支持,十分开心。继续开讲!这次讲游戏流程。大学时,很多人都做过俄罗斯方块,我当时做出来,也很开心。关键看一下流程:游戏开始,游戏胜负(有的会加一个暂停功能)。这是最简单的。
过关游戏,可以划分成不同的运行阶段,比如:开始菜单,游戏运行中,游戏胜负。像超级玛丽,要在进入游戏时,有一个停顿(显示生命,地图),当玩家胜利或失败后,需要画面停顿一段时间(也可以弹出个提示)。程序中,根据不同的状态,处理不同的消息和数据。有这样一个框架,程序就会比较清晰。整个过程如下:
显示部分,一般是WM_PAINT消息:
游戏初始状态:显示菜单,操作提示信息。
游戏等待状态:显示生命,地图信息。
游戏运行中:显示背景,地图,敌人,玩家角色,子弹,动画效果。
游戏胜负:显示提示信息。
游戏通关:显示通关提示信息。
按键处理部分(KEYDOWN,KEYUP):根据键值,再根据当前状态,作出不同处理。程序结构和以上相对应。这样有个好处,PAINT时,只负责绘图。KEYDOWN处理,只负责处理逻辑,然后发送PAINT消息。
还有大量的实时判断,放在哪里呢?如:子弹击中敌人,人物掉到河里,时间用完。这些处理放在WM_TIMER定时器消息里面(也要按照不同状态来处理)。这样就构成了三个部分:
显示部分:绘图。
按键处理部分:处理逻辑。
定时器:各种实时判断。
至此,超级玛丽,所有图像处理、逻辑处理的程序框架已经完成。然后就是不断增加具体功能,以后再慢慢讲吧。
横版过关游戏开发-游戏流程相关推荐
- 用Direct3D设计二维横版过关动作类游戏的角色运动(双倍速、二段跳)
用Direct3D设计二维横版过关动作类游戏的角色运动 演示程序下载地址:http://download.csdn.net/detail/jiangcaiyang123/4278008 虽然大家使用D ...
- Unity3D横版过关游戏(一)
想用Unity3D做一个横版过关的游戏,类似Mario的. 发现国外有一个很好的教程网站: http://walkerboystudio.com/html/unity_training___free_ ...
- iOS开发视频教程《时空猎人横版过关》-任亮-专题视频课程
iOS开发视频教程<时空猎人横版过关>-28979人已学习 课程介绍 本专题主要以AngryBirds这个具体的项目来讲解如何用Cocos2D和Box2D开发一个商业性的游 ...
- erlang游戏开发基本流程
erlang游戏开发基本流程 本人入坑erlang也就1年多,希望大家一起学习,写得有不好,请多指教. 客户端和服务端的通讯 客户端和服务端的通讯是通过协议进行的,而协议的封包和解包格式可以参考该网址 ...
- 游戏开发制作流程与分工
游戏开发制作流程详细介绍 一.项目计划阶段 1.创意管理:第一步,是召开会议,在会议中最常见的方法就是采取"头脑风暴法".每个人都必须拿出自己的建议和想法,之后大家一起进行讨论.另 ...
- H5数独游戏开发——游戏通关及重玩
如何判断游戏是否通关?通关后如何重新开始游戏,让用户重玩?今天给大家详细介绍如何实现以上功能.先看一下数独游戏通关后的提示界面,截图如下: 首先,我们需要判断游戏是否通关,那么如何判断呢?有两个条件: ...
- 1.15 从0开始学习Unity游戏开发--游戏UI
上一章中,我们剩下最后一个任务,需要支持鼠标控制准心来进行设计,那么准心本质上就是一个始终呈现在屏幕上的一个图片,你当然可以用一个3D物体来制作,之前讲解渲染概念的时候也提到过,我们的屏幕就是相机的近 ...
- H5数独游戏开发——游戏中的事件处理
假设你正在玩一款角色扮演游戏(RPG),主角走进了一家店铺,你用鼠标点击店铺里管家,这时屏幕显示一个待售物品菜单,然后你可以选购你需要的物品.那么,你知道从你点击鼠标的那一刻起,游戏是怎样响应的吗?让 ...
- Android游戏开发–游戏循环
游戏循环是每个游戏的心跳. 到目前为止,我们仅使用了非常简单的一种(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是while循环,该循环一直执行 ...
- android_Android游戏开发–游戏循环
android 游戏循环是每个游戏的心跳. 到目前为止,我们使用的是非常简单的游戏(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是while循环 ...
最新文章
- 特征工程之离散变量处理
- 识别JVM –比预期的要复杂
- LeetCode 2103. 环和杆(位运算)
- XHTML 教程 续一
- OpenCV-离散傅里叶变换cv::dftcv::idft
- JAVA并发之多线程基础(3)
- tvs二极管5.0SMDJ24CA-H ISO7637 测试报告
- 点云的降采样:八叉树采样(Octree)
- Guided Anchoring 论文笔记
- 纵行科技联合Kinéis等欧洲企业,开发ZETA星地融合低功耗物联网芯片
- 中国这个研究所有多牛?2021年发表431篇SCI,平均影响因子超过9,年度品种推广面积600余万亩.........
- 【案例】别人卖1000刀!一套油管自动生产视频赚钱方法详解,FFMPEG高手看来
- Fiddler修改返回数据教程,亲测有效
- xp驱动和Win7驱动的区别
- 手机android系统问题怎么解决方案,4解决Android系统崩溃问题的解决方案
- 重启之后docker不能用了:Docker Error starting daemon: Devices cgroup isn‘t mounted;Got permission denied whil
- win7快速连接系统补丁服务器,Win7旗舰版运行优化设置——如何快速安装系统补丁...
- NC208246胖胖的牛牛(拆点建图)
- 树莓派学习笔记2——树莓派与电脑间的连接
- java买房子钓鱼,AcWing 1262. 鱼塘钓鱼(Java 贪心 Or 优先队列)