小游戏 打砖块
打砖块小游戏

打砖块小游戏打砖块小游戏是一款经典的街机游戏,目标是消除屏幕上的所有砖块,通过控制球的运动方向和速度,使其反弹并击中砖块。
游戏有一定的规则和技巧,下面我们来详细介绍。
规则:1.游戏开始时,有一个球和一些砖块,球会从挡板上方弹出,玩家需要控制挡板让球不掉落,同时用球击中砖块。
2.每个砖块都有一个生命值,当球撞击砖块时,砖块生命值会减少,当生命值为0时,砖块被消除。
3.游戏结束的条件是球掉落到底部,玩家需要尽可能消除更多的砖块,以获得更高的得分。
4.在游戏过程中,玩家可以通过消除特殊的砖块或者收集道具来获得额外的分数或者增加生命值。
玩法:1.控制挡板的移动:玩家需要通过控制挡板的左右移动,来让球反弹并击中砖块。
通常使用键盘的左右箭头或者鼠标来控制挡板的移动。
2.控制球的运动:玩家需要通过控制球的运动方向和速度,来让其反弹并击中砖块。
通常使用键盘的上下箭头或者鼠标来控制球的运动。
3.消除砖块:玩家需要通过控制球的运动,让其撞击砖块并消除它们。
不同颜色的砖块有不同的生命值,有些砖块需要多次撞击才能消除。
4.收集道具:在游戏过程中,会出现一些道具,例如增加生命值、加速球的速度、扩大挡板等等,玩家需要尽可能收集这些道具,以获得额外的分数或者增加游戏时间。
术语和技巧:1.反弹角度:球撞击挡板或者砖块时,会以一定的角度反弹,玩家需要根据反弹角度来控制球的运动。
2.速度控制:玩家需要根据游戏情况来控制球的速度,有时需要加速球的速度来消除砖块,有时需要减慢球的速度来避免球掉落。
3.砖块布局:不同的砖块布局会影响游戏的难度,有些布局会让玩家更容易消除砖块,有些布局则会让游戏更具挑战性。
总结:打砖块小游戏是一款经典的街机游戏,玩家需要通过控制挡板和球的运动,消除屏幕上的所有砖块。
游戏有一定的规则和技巧,玩家需要根据游戏情况来控制球的速度和运动方向,来消除更多的砖块。
同时,玩家需要注意收集道具,以获得额外的分数或者增加生命值。
用Lua编写一个简易的打砖块游戏

用Lua编写一个简易的打砖块游戏Lua是一种轻量级的脚本语言,被广泛应用于游戏开发领域。
本文将介绍如何使用Lua编写一个简易的打砖块游戏。
首先,我们需要了解游戏的基本规则和元素。
然后,我们将逐步实现游戏的各个功能,包括游戏场景的绘制、球和挡板的移动、碰撞检测以及游戏结束的判断。
最后,我们将通过一个完整的示例代码来演示游戏的实现过程。
1. 游戏规则和元素打砖块游戏是一款经典的街机游戏,玩家需要控制挡板反弹球,并击碎屏幕上的砖块。
游戏的基本元素包括挡板、球和砖块。
2. 游戏场景的绘制在Lua中,我们可以使用一些图形库或游戏引擎来绘制游戏场景。
这里我们以Love2D游戏引擎为例,它提供了简单且强大的绘图功能。
首先,我们需要创建一个窗口,并设置窗口的宽度和高度。
然后,我们可以使用Love2D提供的函数来绘制各个游戏元素,如挡板、球和砖块。
3. 球和挡板的移动玩家可以使用键盘或触摸屏来控制挡板的移动。
在Lua中,我们可以监听键盘事件或触摸事件,并根据事件的类型和参数来更新挡板的位置。
球的移动可以通过更新球的坐标实现,同时需要考虑球的速度和方向。
4. 碰撞检测球和挡板之间的碰撞检测可以通过判断球的位置和挡板的位置来实现。
如果球和挡板的位置有重叠,则表示碰撞发生,需要改变球的方向。
砖块和球之间的碰撞检测也类似,需要根据砖块的位置和球的位置来判断是否发生碰撞,并更新砖块的状态。
5. 游戏结束的判断游戏的结束可以通过判断砖块是否全部被打碎或球是否跌落出界来实现。
如果砖块全部被打碎,则游戏胜利;如果球跌落出界,则游戏失败。
下面是使用Lua和Love2D实现的一个简易的打砖块游戏的示例代码:```lua-- 导入Love2D模块love = require("love")-- 游戏初始化function love.load()-- 窗口设置love.window.setMode(800, 600)-- 初始化挡板位置paddle = {x = 350, y = 500, width = 100, height = 20}-- 初始化球的位置和速度ball = {x = 400, y = 300, dx = 5, dy = -5, radius = 10}-- 初始化砖块bricks = {}for i = 1, 8 dofor j = 1, 5 dotable.insert(bricks, {x = 70 * i, y = 40 * j + 50, width = 60, height = 30})endendend-- 触摸事件处理函数function love.touchpressed(id, x, y, dx, dy, pressure)paddle.x = x - paddle.width / 2end-- 键盘事件处理函数function love.keypressed(key)if key == "left" thenpaddle.x = paddle.x - 10 elseif key == "right" then paddle.x = paddle.y + 10 endend-- 碰撞检测函数function checkCollision(a, b) if a.x < b.x + b.width and a.x + a.width > b.x and a.y < b.y + b.height and a.y + a.height > b.y then return trueendreturn falseend-- 更新函数function love.update(dt)-- 更新球的位置ball.x = ball.x + ball.dxball.y = ball.y + ball.dy-- 检测球和挡板之间的碰撞if checkCollision(paddle, ball) thenball.dy = -ball.dyend-- 检测球和砖块之间的碰撞for _, brick in ipairs(bricks) doif checkCollision(brick, ball) thentable.remove(bricks, _)ball.dy = -ball.dyendend-- 检测球是否跌落出界if ball.y > love.window.getHeight() then love.load()endend-- 绘制函数function love.draw()-- 绘制挡板love.graphics.rectangle("fill", paddle.x, paddle.y, paddle.width, paddle.height)-- 绘制球love.graphics.circle("fill", ball.x, ball.y, ball.radius)-- 绘制砖块for _, brick in ipairs(bricks) dolove.graphics.rectangle("fill", brick.x, brick.y, brick.width, brick.height)endend```通过以上代码,我们可以在Love2D游戏引擎中运行一个简易的打砖块游戏。
打砖块代码课程设计

打砖块代码课程设计一、课程目标知识目标:1. 让学生掌握编程语言的基本语法和结构,理解打砖块游戏的逻辑和规则。
2. 学习运用循环、条件语句和函数等编程概念,实现打砖块游戏的基本功能。
3. 了解游戏开发中的坐标系和碰撞检测原理。
技能目标:1. 培养学生独立编写代码、调试程序和解决问题的能力。
2. 提高学生在团队协作中沟通、分享和共同解决问题的能力。
3. 培养学生的创新思维和审美意识,能够设计美观、有趣的游戏界面。
情感态度价值观目标:1. 激发学生对编程和计算机科学的兴趣,树立学习自信心。
2. 培养学生面对困难和挑战时,保持积极、主动、坚持的态度。
3. 培养学生的团队精神和责任感,学会尊重和欣赏他人的成果。
课程性质:本课程为实践性强的编程课程,结合具体案例,让学生在动手实践中掌握编程知识和技能。
学生特点:学生处于好奇心强、求知欲旺盛的年级,喜欢探索新事物,有一定的逻辑思维能力。
教学要求:注重理论与实践相结合,关注学生个体差异,提供个性化指导,鼓励学生发挥创意,培养解决问题和团队协作能力。
通过本课程的学习,使学生达到预定的学习成果。
二、教学内容1. 编程语言基础:回顾变量、数据类型、运算符等基本概念,确保学生能够熟练运用。
2. 控制结构:讲解循环结构(for、while)、条件语句(if-else)的使用,为游戏逻辑提供支持。
3. 函数与模块:介绍函数的定义、调用和返回值,使学生能够模块化编程,提高代码可读性。
4. 游戏设计原理:学习坐标系、运动和碰撞检测等游戏开发基本原理。
5. 打砖块游戏实现:根据教材相关章节,分解游戏开发步骤,包括:- 游戏界面的设计和绘制- 砖块和球拍对象的创建与控制- 球的运动和碰撞处理- 游戏逻辑和得分系统6. 调试与优化:教授学生如何调试程序、查找和修复错误,以及优化代码性能。
7. 项目实践:安排课时让学生团队协作,完成打砖块游戏的开发,鼓励创新和美化界面。
教学进度安排:- 第一周:复习编程语言基础,讲解控制结构。
打砖块小游戏

打砖块小游戏打砖块是一种经典的街机游戏,目标是用球击碎所有的砖块。
玩家通过控制一条挡板,尽可能让球在屏幕上反弹,以击中砖块并消除它们。
游戏规则如下:1. 游戏开始时,屏幕上有一排或多排的砖块,玩家需要尽可能快地击碎它们。
2. 玩家通过控制挡板的移动来控制球的方向。
挡板通常位于屏幕底部,可以水平移动。
3. 球从挡板上方发射,一旦发射,玩家无法改变球的方向。
4. 球与砖块碰撞时,砖块会消失,并且玩家得分增加。
有些砖块可能需要多次击中才能消除。
5. 如果球未能被挡板接住并反弹,玩家失去一条生命。
当玩家失去所有生命时,游戏结束。
6. 游戏中还可能会出现一些特殊的道具,例如增加挡板长度、增加球的数量或速度等,这些道具可以帮助玩家更好地击碎砖块。
玩法如下:1. 玩家通过键盘、鼠标或触摸屏控制挡板的移动,以使球在屏幕上反弹。
2. 玩家需要预判球的运动轨迹,并及时移动挡板来接住球并改变它的方向。
3. 玩家可以尝试不同的角度和力度来发射球,以改变球的反弹轨迹,从而更好地击中砖块。
4. 玩家可以利用砖块的排列和布局,选择最佳的击球策略。
有时需要先击碎一些特定的砖块,才能打开通往其他砖块的路径。
5. 玩家需要时刻注意球的位置和速度,以便及时移动挡板来避免球掉落。
术语和技巧:1. 反弹角度:球与挡板或砖块碰撞时,会改变方向。
玩家可以通过改变球与挡板碰撞的位置来改变反弹角度。
2. 砖块类型:不同的砖块可能具有不同的耐久度,需要多次击中才能消除。
玩家可以优先击碎耐久度较低的砖块,以加快得分速度。
3. 多球:有些游戏中,玩家可以获得额外的球,使游戏更具挑战性和乐趣。
玩家需要同时控制多个球的运动轨迹,增加游戏的难度。
4. 道具:游戏中的道具可以帮助玩家更好地击碎砖块。
玩家需要及时捕捉这些道具,并合理利用它们。
通过理解游戏的目标、规则和玩法,玩家可以尝试不同的策略和方法,以提高得分和游戏体验。
挑战自己的反应速度和手眼协调能力,尝试击碎所有的砖块,成为打砖块游戏的高手!。
打砖块小游戏

打砖块小游戏
打砖块是一款经典的街机游戏,目标是用一个移动的板子反弹一个小球,将砖块全部打碎。
下面是游戏的规则和玩法:
1. 游戏目标:将屏幕上的所有砖块都打碎。
2. 游戏规则:
- 游戏开始时,屏幕上会有一些砖块,小球会从板子上弹出。
- 玩家需要控制板子的移动,使小球不会掉落到屏幕底部。
- 小球每次碰撞到砖块时,砖块会消失,并且小球会反弹。
- 玩家需要利用板子的移动,使小球不断反弹,击中屏幕上的砖块,直到所有砖块都被打碎。
- 如果小球掉落到屏幕底部,游戏结束。
3. 游戏术语:
- 砖块:屏幕上的目标,需要用小球击碎的方块。
- 小球:游戏中的主要元素,需要用板子反弹,击碎砖块。
- 板子:玩家控制的移动平台,用于反弹小球。
4. 游戏技巧:
- 玩家可以通过控制板子的移动来改变小球的方向,以便击中更多的砖块。
- 不同的砖块可能有不同的特性,比如一次击碎多个砖块、增加分数等,玩家可以根据需要选择击碎哪些砖块。
- 玩家需要时刻留意小球的位置和速度,以便及时做出反应,避免小球掉落到屏幕底部。
- 玩家可以利用板子的边缘来改变小球的反弹角度,以更好地击中砖块。
通过以上规则和技巧,玩家可以尝试不同的策略和方法,提高自己的分数和游戏乐趣。
挑战自己的反应速度和眼手协调能力,看看能否在打砖块游戏中取得高分!。
打破砖块小游戏

打破砖块小游戏
打破砖块是一款经典的小游戏,目标是通过控制一个挡板将球击打到砖块上,
将所有砖块打破。
游戏规则:
1. 游戏开始时,会有一堵砖墙出现在屏幕的顶部,砖墙由多行多列的砖块组成。
2. 在屏幕底部有一个水平移动的挡板,玩家可以通过控制挡板的左右移动来控
制球的方向。
3. 球会从挡板上方的某个位置开始向上弹射,玩家需要用挡板接住球并将其击
打到砖块上。
4. 当球击中砖块时,砖块会消失,并且球会反弹,继续向上移动。
5. 玩家需要用球不断击打砖块,直到将所有砖块都打破为止。
6. 如果球没有被挡板接住,而是落到了屏幕底部,那么玩家就会失去一条生命。
7. 玩家初始有三条生命,如果失去所有生命,游戏结束。
术语和技巧:
1. 砖块的颜色可能不同,不同颜色的砖块可能需要多次击打才能破坏。
2. 有些砖块可能有特殊的功能,比如增加球的速度、扩大挡板的宽度等。
3. 玩家可以利用挡板的移动来改变球的反弹角度,从而更好地击打砖块。
4. 玩家可以尝试不同的击打策略,比如先击破底部的砖块,以防止球掉落。
创造性和想象力:
1. 玩家可以尝试不同的挡板移动方式,比如快速移动、慢速移动、左右摇摆等,以找到最佳的击打角度。
2. 玩家可以通过改变球的速度和角度来调整游戏的难度,使游戏更具挑战性。
3. 玩家可以设定不同的砖块布局,甚至可以设计自己的关卡,以增加游戏的乐趣和挑战性。
通过以上的规则和技巧,玩家可以充分享受打破砖块小游戏带来的乐趣。
不断尝试不同的策略和方法,挑战自己的反应速度和技巧,将所有砖块打破,成为打破砖块的王者!。
用C和SFML编程实现打砖块小游戏

用C和SFML编程实现打砖块小游戏使用C和SFML编程实现打砖块小游戏近年来,打砖块小游戏因其简单而富有趣味的玩法方式而备受广大玩家的喜爱。
在本文中,我们将学习如何使用C语言和SFML库来开发一个简单的打砖块小游戏。
通过本文的学习,读者将了解到游戏开发的基本思路和常用技术,为以后的游戏开发之路打下坚实的基础。
1. 游戏背景和规则简介打砖块小游戏是一款基于物理碰撞的街机游戏。
在游戏中,玩家需要控制一个滑块,通过反弹一个小球,将屏幕上的砖块全部消除。
玩家可以移动滑块来改变小球的弹射角度,以便将其引导到合适的位置。
每次小球击中砖块,砖块会消失,并且玩家得分会增加。
玩家需要尽可能地消除更多的砖块,以获取更高的分数。
2. 开发环境准备在开始编写代码之前,我们需要准备好开发环境。
首先,确保您的计算机已经安装了C语言开发环境和SFML库。
您可以从官方网站上下载并安装相应的软件包。
安装完成后,您可以打开一个代码编辑器,以便我们编写游戏代码。
3. 游戏窗口和基本元素的创建在代码中,我们首先需要创建一个游戏窗口,以便用户可以看到游戏界面。
我们可以使用SFML库提供的窗口创建函数来实现这一点。
同时,我们还需要创建滑块、小球和砖块等游戏元素,以便它们可以在游戏界面中进行交互。
通过使用SFML库提供的图形绘制函数,我们可以很容易地在窗口中绘制这些元素。
4. 游戏逻辑和交互实现一旦游戏窗口和基本元素创建完毕,我们就可以开始实现游戏的逻辑和交互了。
首先,我们需要为玩家的滑块添加控制逻辑,以使其能够响应用户的输入。
通过使用SFML库提供的键盘事件监测函数,我们可以轻松实现这一点。
然后,我们需要为小球添加运动和碰撞检测逻辑,以便它能够在游戏界面中自由移动,并与其他元素进行交互。
最后,我们还需要为砖块添加消除和得分计算逻辑,以使游戏具有一定的挑战性和可玩性。
5. 游戏界面的美化和音效的添加为了提升游戏的可玩性和娱乐性,我们可以对游戏界面进行美化和优化。
打砖块小游戏

打砖块小游戏打砖块小游戏是一款经典的街机游戏,玩家需要控制一个挡板,通过反弹一个小球,将砖块全部消除。
游戏的目标是尽可能地消除更多的砖块,获得高分。
游戏规则:1. 游戏开始时,屏幕上会有一堵砖墙,挡板位于屏幕底部。
小球会从挡板上弹射出去,玩家需要控制挡板来回移动,使小球不会掉落到底部。
2. 小球会不断地反弹,当它碰到砖块时,砖块会消失。
玩家需要利用挡板的移动,控制小球的方向,使其能够击中更多的砖块。
3. 当小球碰到砖块时,砖块会消失,并且玩家会得到相应的分数奖励。
不同的砖块可能有不同的分值,一些砖块可能需要多次击中才能消失。
4. 游戏中还会出现一些特殊的道具,如增加挡板长度、加快小球速度等,玩家需要尽量接触这些道具,以增加游戏的优势。
5. 如果玩家没有及时控制挡板,使小球回弹,小球会掉落到底部,游戏结束。
术语和技巧:1. 挡板:玩家控制的移动物体,用来反弹小球。
挡板的移动速度和位置决定了小球的弹射方向。
2. 小球:游戏中的主要角色,通过反弹来消除砖块。
小球的速度和方向会随着游戏的进行而改变。
3. 砖块:游戏中的目标,玩家需要通过击中砖块来获得分数。
不同的砖块可能有不同的分值和耐久度。
4. 道具:游戏中的额外奖励,可以增加挡板长度、加快小球速度等,玩家需要尽量接触这些道具,以增加游戏的优势。
5. 反弹角度:小球碰撞挡板时的角度决定了小球的弹射方向,玩家可以通过调整挡板的位置和移动速度来控制反弹角度。
技巧:1. 尽量保持小球在游戏区域内,避免小球掉落到底部。
及时移动挡板,确保小球能够持续地反弹。
2. 观察砖块的排列和布局,选择最佳的击打策略。
有时需要先消除一些特定的砖块,以便打开更多的空间。
3. 尝试不同的反弹角度和力度,以找到最适合的击打方式。
有时候需要用挡板来改变小球的方向,使其能够击中更多的砖块。
4. 注意接触道具,尽量获得额外的奖励。
道具可以帮助玩家更好地控制游戏进程,增加分数和生存时间。
通过以上的规则、术语和技巧,读者应该能够充分享受打砖块小游戏的乐趣,并尝试不同的策略和方法,使游戏更具挑战性和乐趣。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
小游戏打砖块
制作人:
步宇星20062366 信息学院06计算机系
开发平台:
Visual C++6.0
软件介绍:
模拟红白机小游戏,打砖块。
如果你是80年代出生或者孩子是80年代出生的话,或者你是一个心理年龄
比较中,家里一定会有任天堂出品的红白机,或者小霸王。
那些怀旧的经典游
戏中有一款叫做打砖块的小游戏。
本作品就是我在PC上仿真它做出来的。
游戏开始时的截图。
这是一个用DirectDraw做图形处理的全屏幕游戏。
操作在屏幕下方。
玩过的人都知道游戏规则,很简单,控制球棒接住球并把所有的方块打掉,就
可以进入下一关。
屏幕上方又显示level,level越高球速越快,另外每关背景
和音乐也不一样。
这是第二关背景改变了
下面的卡就不在给图了
主要程序框架:
本游戏是在win32平台下用开发的,所以跟每个win32程序一样
都是以WinMain为程序入口,用WindowProc来处理消息(WM_CREATE、
WM_ACTIVATE、WM_PAINT、WM_DESTROY)。
1、主消息循环
// 游戏初始化
Game_Init();
// 进入事件循环
while(true)
{
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
// 如果是WM_QUIT退出事件循环
if (msg.message == WM_QUIT)
break;
// 翻译消息
TranslateMessage(&msg);
// 把消息送给回调函数
DispatchMessage(&msg);
} // end if
// 进入游戏主程序在这里进行每一帧的绘制
if(!Game_Main())
return (0);
} // end while
// 做游戏结束工作
Game_Shutdown();
为了保证响应windows,Game_Main()采用状态机的方式工作,每次操作完返回给windows下次再进入Game_Main()时根据所在状态工作,
// 游戏状态
#define GAME_STATE_INIT 0
#define GAME_STATE_START_LEVEL 1
#define GAME_STATE_RUN 2
#define GAME_STATE_PAUSE 3
#define GAME_STATE_OVER 4
#define GAME_STATE_SHUTDOWN 5
#define GAME_STATE_EXIT 6
游戏先进入 GAME_STATE_INIT 状态做好初始化工作
进入 GAME_STATE_START_LEVEL 状态重置每关的初始数据
进入 GAME_STATE_RUN 循环在这里执行游戏逻辑、输入检测,并绘制每一帧并返
回windows
重复第三步
第三步中按下Enter键进入GAME_STATE_PAUSE 状态游戏将暂停,直到按下space键回到第三步
第三步中将生命用完(life值小于0)进入GAME_STATE_OVER状态,直到按下R键回到第二步
上述步骤中如按下Esc键则进入GAME_STATE_SHUTDOWN状态此时做结束工作并发送WM_DESTROY消息
进入GAME_STATE_EXIT状态此时Game_Main()不做任何操作就返回
2、图像处理部分
考虑到游戏对速度的要求,图像处理主要利用比GDI快得多的DirectDraw完成(文字显示用了GDI)。
所有Direct的相关代码都在被我封装在ddrawlib.cpp中,其中的全局变量和函数原型以及宏和定义都在ddrawlib.h申明。
我这么做的目的是让自己习惯于利用引擎的API来编程。
实际上ddrawlib就是一个基于Direct的简单2D游戏引擎。
关于该引擎的函数库说明,源代码中有详细的注释,这里不多讲了。
3、声音处理部分
声音处理部分并没有像图像一样用Direct去写。
因为它对速度不的影响并不大。
而DirectSound或者DirectMusic(或者2者的结合DirectAudio)过于复杂了。
所以音效我只用了WIN API PlaySound函数。
而背景音乐用了MCI设备的API。
音效:
这部分没什么好说的。
我只在需要有声音的时候调用了PlaySound。
背景音乐:
为了让用户能够改变背景音乐,我在MP3文件夹下留了一个playlist.txt文件。
修改音乐方法如下
1、先将音乐文件放到mp3文件夹下。
2、修改playlist.txt中的文件名。
注:每行一首,并且行数对应在哪一关播放。
例如在第三行写:she-找不到.mp3
那么第3关就会循环播放这首歌。
我检测了支持wma和mp3置两种格式,
其他支不支持我也不知道。
不过我想这已经足够了。
另外最多只能50首。
播放函数如下:
// 播放音乐该函数在GAME_STATE_START_LEVEL中调用使每关开始重置音乐
// 在GAME_STATE_RUN中如检测到还未过关就停止了也调用此函数重放
int Play_Music()
{
if(list_num)
{
int index = (level-1)%list_num;
// 创建MCI设备句柄
// 如果句柄不为空先关闭设备
if(m_Audio!=NULL)
{
MCIWndStop(m_Audio);
MCIWndClose(m_Audio);
}
//创建
m_Audio = MCIWndCreate(main_window_handle,
main_instance,
WS_CHILD | MCIWNDF_NOMENU,
(char*)playlist[index]);
//播放
MCIWndPlay(m_Audio);
}
return (1);
}
//检测音乐使否已放完是就重播,不是就返回0,是就返回1
int Music_Is_Stop()
{
if(MCIWndGetPosition(m_Audio) == MCIWndGetLength(m_Audio))
{
return (1);
}
return (0);
}
个人小结:
我通过这个编写过程获得了不少的经验,练习了怎么编写WIN32程序,知道了怎么规划游戏过程的框架,知道了怎么锁定帧率,知道了怎么处理音乐(现在我可能都可以一个简单的播放器了),知道了怎么进行物理建模和碰撞检测,知道了切换程序后在切回去该怎么处理等等等等。
这些东西光看书是根本没办法完全掌握的。
总的来说呢,虽然这个不是什么成功的作品,但是我还是收获不少的,离我的梦想又近了一步了呢。