看到大家这么支持,十分开心。继续开讲!这次讲游戏流程。大学时,很多人都做过俄罗斯方块,我当时做出来,也很开心。关键看一下流程:游戏开始,游戏胜负(有的会加一个暂停功能)。这是最简单的。

过关游戏,可以划分成不同的运行阶段,比如:开始菜单,游戏运行中,游戏胜负。像超级玛丽,要在进入游戏时,有一个停顿(显示生命,地图),当玩家胜利或失败后,需要画面停顿一段时间(也可以弹出个提示)。程序中,根据不同的状态,处理不同的消息和数据。有这样一个框架,程序就会比较清晰。整个过程如下:

显示部分,一般是WM_PAINT消息:

游戏初始状态:显示菜单,操作提示信息。

游戏等待状态:显示生命,地图信息。

游戏运行中:显示背景,地图,敌人,玩家角色,子弹,动画效果。

游戏胜负:显示提示信息。

游戏通关:显示通关提示信息。

按键处理部分(KEYDOWN,KEYUP):根据键值,再根据当前状态,作出不同处理。程序结构和以上相对应。这样有个好处,PAINT时,只负责绘图。KEYDOWN处理,只负责处理逻辑,然后发送PAINT消息。

还有大量的实时判断,放在哪里呢?如:子弹击中敌人,人物掉到河里,时间用完。这些处理放在WM_TIMER定时器消息里面(也要按照不同状态来处理)。这样就构成了三个部分:

显示部分:绘图。

按键处理部分:处理逻辑。

定时器:各种实时判断。

至此,超级玛丽,所有图像处理、逻辑处理的程序框架已经完成。然后就是不断增加具体功能,以后再慢慢讲吧。

横版过关游戏开发-游戏流程相关推荐

  1. 用Direct3D设计二维横版过关动作类游戏的角色运动(双倍速、二段跳)

    用Direct3D设计二维横版过关动作类游戏的角色运动 演示程序下载地址:http://download.csdn.net/detail/jiangcaiyang123/4278008 虽然大家使用D ...

  2. Unity3D横版过关游戏(一)

    想用Unity3D做一个横版过关的游戏,类似Mario的. 发现国外有一个很好的教程网站: http://walkerboystudio.com/html/unity_training___free_ ...

  3. iOS开发视频教程《时空猎人横版过关》-任亮-专题视频课程

    iOS开发视频教程<时空猎人横版过关>-28979人已学习 课程介绍         本专题主要以AngryBirds这个具体的项目来讲解如何用Cocos2D和Box2D开发一个商业性的游 ...

  4. erlang游戏开发基本流程

    erlang游戏开发基本流程 本人入坑erlang也就1年多,希望大家一起学习,写得有不好,请多指教. 客户端和服务端的通讯 客户端和服务端的通讯是通过协议进行的,而协议的封包和解包格式可以参考该网址 ...

  5. 游戏开发制作流程与分工

    游戏开发制作流程详细介绍 一.项目计划阶段 1.创意管理:第一步,是召开会议,在会议中最常见的方法就是采取"头脑风暴法".每个人都必须拿出自己的建议和想法,之后大家一起进行讨论.另 ...

  6. H5数独游戏开发——游戏通关及重玩

    如何判断游戏是否通关?通关后如何重新开始游戏,让用户重玩?今天给大家详细介绍如何实现以上功能.先看一下数独游戏通关后的提示界面,截图如下: 首先,我们需要判断游戏是否通关,那么如何判断呢?有两个条件: ...

  7. 1.15 从0开始学习Unity游戏开发--游戏UI

    上一章中,我们剩下最后一个任务,需要支持鼠标控制准心来进行设计,那么准心本质上就是一个始终呈现在屏幕上的一个图片,你当然可以用一个3D物体来制作,之前讲解渲染概念的时候也提到过,我们的屏幕就是相机的近 ...

  8. H5数独游戏开发——游戏中的事件处理

    假设你正在玩一款角色扮演游戏(RPG),主角走进了一家店铺,你用鼠标点击店铺里管家,这时屏幕显示一个待售物品菜单,然后你可以选购你需要的物品.那么,你知道从你点击鼠标的那一刻起,游戏是怎样响应的吗?让 ...

  9. Android游戏开发–游戏循环

    游戏循环是每个游戏的心跳. 到目前为止,我们仅使用了非常简单的一种(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是while循环,该循环一直执行 ...

  10. android_Android游戏开发–游戏循环

    android 游戏循环是每个游戏的心跳. 到目前为止,我们使用的是非常简单的游戏(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是while循环 ...

最新文章

  1. 特征工程之离散变量处理
  2. 识别JVM –比预期的要复杂
  3. LeetCode 2103. 环和杆(位运算)
  4. XHTML 教程 续一
  5. OpenCV-离散傅里叶变换cv::dftcv::idft
  6. JAVA并发之多线程基础(3)
  7. tvs二极管5.0SMDJ24CA-H ISO7637 测试报告
  8. 点云的降采样:八叉树采样(Octree)
  9. Guided Anchoring 论文笔记
  10. 纵行科技联合Kinéis等欧洲企业,开发ZETA星地融合低功耗物联网芯片
  11. 中国这个研究所有多牛?2021年发表431篇SCI,平均影响因子超过9,年度品种推广面积600余万亩.........
  12. 【案例】别人卖1000刀!一套油管自动生产视频赚钱方法详解,FFMPEG高手看来
  13. Fiddler修改返回数据教程,亲测有效
  14. xp驱动和Win7驱动的区别
  15. 手机android系统问题怎么解决方案,4解决Android系统崩溃问题的解决方案
  16. 重启之后docker不能用了:Docker Error starting daemon: Devices cgroup isn‘t mounted;Got permission denied whil
  17. win7快速连接系统补丁服务器,Win7旗舰版运行优化设置——如何快速安装系统补丁...
  18. NC208246胖胖的牛牛(拆点建图)
  19. 树莓派学习笔记2——树莓派与电脑间的连接
  20. java买房子钓鱼,AcWing 1262. 鱼塘钓鱼(Java 贪心 Or 优先队列)

热门文章

  1. python三维曲面合并_绘制多面体的三维曲面
  2. Mysql主从备份数据库服务器搭建
  3. photoshop设计精讲精练 学习笔记(二)
  4. Mint-Ui安装及使用办法
  5. Linux常用指令(5)——20.4.25
  6. Android判断当前使用数据流量的是哪张卡
  7. Leetcode刷题114. 二叉树展开为链表
  8. Python招聘职位大体是两个方向
  9. 主板风扇转不开机是什么问题_电脑主板通电,风扇也转,怎么开不了机,显示屏也没反应...
  10. 程序员必备算法——排列组合