全国服务热线:400-6263-721

位置:西安少儿编程信息学培训学院 > 学校动态 > 少儿编程从超级玛丽看游戏制作基本要素

少儿编程从超级玛丽看游戏制作基本要素

来源:西安少儿编程信息学培训学院时间:2023/5/22 17:39:44

  今天我们将以一个大家小时候都非常熟悉的游戏(暴露年龄的时候到了)--超级玛丽为例,分析一下制作一个简单小游戏所用到的基本概念 。

少儿编程从超级玛丽看游戏制作基本要素

  一款游戏涉及到的概念有:

  场景

  精灵

  动画

  关卡

  事件

  碰撞检测

  胜利失败条件

  记分系统

  下面我们一一来分析

  场景

  游戏的场景指的是游戏里人物所处的环境,包括了天空,海洋,云朵,树木等等,它会随着主角的位置不同而变化,比如超级玛丽里面,就有不同的场景,有白天,有黑夜,有海洋,这些不同的场景形成了不同的视觉效果,同时也带来了不同的玩法,比如在白天的场景里,主角可以奔跑跳跃,而到了海洋里,主角就可以游来游去。

  后面移动的蓝天白云,小山坡共同构成了游戏 场景。

  精灵

  精灵是游戏里面的重要元素,我们可以把它理解为一个可以进行操作的图片,它可以移动,可以变形,可以有各种各样的属性,比如超级玛丽里面的主角就是一个精灵,可以奔跑跳跃游泳踩乌龟吃蘑菇顶金币钻管道,除了主角之外,路上爬的乌龟蘑菇,天上飞的炮弹,水里游的章鱼,甚至一个砖块,钱币箱子,水管都可以看作是一个精灵,每个精灵都有自己不同的属性,属性也分为很多种。

  对于主角来说,属性是当前的位置,是大人还是小人还是子弹人,是否存活等

  对于敌人(乌龟蘑菇)来说,属性是当前的位置,有没有被主角踩到,龟壳是否翻转,是否存活等

  对于一块砖头来说,属性是有没有被主角顶到

  对于钱币箱子来说,属性是有没有被主角顶空,还有多少钱币可以顶

  对于旗子来说,属性是有没有被主角踩到

  可以发现,除了主角以外的精灵,基本上都是为了主角而存在的,或者给主角提供增益属性,或者为了阻碍主角让它死翘翘。

  动画

  这个很好理解,游戏里必不可少的就是动画了,它是让游戏变得形象生动的根本原因,从一个砖块被顶掉,到主角跑动,到主角碰到乌龟死亡,都少不了动画的存在

  关卡

  小时候较高兴的就是把一个游戏打了,而这个的关,就指的是关卡,超级玛丽是一个典型的游戏,一共有8关,每个大关有4个小关,每个关卡由不同的场景构成,有白天黑夜大海洋,还有隐藏关卡,可以上天入地跳关,但是现在的很多游戏越来越弱化关卡的概念了,比如很多的沙盒游戏都是开放世界,基本不存在关卡让你去一个个突破。

  事件

  事件我们前面的教程里已经涉及到了,事件代表一件事情发生了,比如按下手柄上的左键,主角就向左移动,按下B键,主角就跳跃,事件是玩家和主角交互的纽带,玩家通过手柄发出各种各样的事件来控制主角进行游戏,同时游戏里也有各种各样的事件,比如主角头顶了一块砖头,那这块砖头就掉落,或者长出一颗升天树,主角跳起来踩死了一只乌龟,那么乌龟就变成龟壳翻过来等等,正是因为各种各样事件,连接起了主角和各种敌人或道具之间的互动。

  碰撞检测(选择了解)

  这部分作为选择了解的内容,如果不是很理解可以跳过,制作 micro:bit 小游戏这点不是必须的,micro:bit 提供了现成的碰撞检测模块,我们之间用就可以了。碰撞检测是游戏实现里一个非常重要的部分,它是许多事件的基础,比如主角头顶砖块这个事件,我们怎么判断主角的头碰到了砖块呢?或者怎么判断主角踩到了乌龟呢?这就需要用到碰撞检测了。

  为了方便解释,我们可以把主角和蘑菇都想像成两个矩形,屏幕左上方为 坐标原点,水平方向为 x 轴,垂直方向为 y 轴,x 轴向右为正,即越往右 x 的值越大,y 轴往下为正,即越往下 y 值越大,主角的矩形宽为 w1,高为 h1,主角所在的矩形(称为 主角矩形,下同) 左上角坐标为 (x1, y1),蘑菇所在的矩形(称为 蘑菇矩形,下同)宽为 w1,高为 h2,左上角坐标为 (x2,y2)

  矩形

  那么怎么计算两个矩形碰撞了呢?原理就是看两个矩形有没有重叠的部分,两个矩形可能出现以下几种情况(只考虑碰撞的情况):

  具体算法如下:

  x1 < x2 + w2 && x1 + w1 > x2

  && y1 < y2 + h2 && y1 + h1 > y2

  解释一下: 我们可以把 x1 看作 主角矩形 的左边线,把 x1 + w1 看作 主角矩形 的右边线,x2 看作 蘑菇矩形 的左边线,x2 + w2 看作 蘑菇矩形 的右边线,y1 看作 主角矩形 的 上边线,y1 + h1 看作 主角矩形 的下边线,y2 看作 蘑菇矩形 的上边线,y2 + h2 看作蘑菇矩形 的下边线,因此得到:

  x1

  x1+w1>x2 的意思就是 主角矩形 的 右边线 在 蘑菇矩形 左边线 的 右边

  y1

  y1+h1>y2 的意思就是 主角矩形 的 下边线 在 蘑菇矩形 上边线 的 下边

  注意这 4 个条件是并列关系,即需要同时满足,不满足其中的任何一条都不能表明两个矩形碰撞,不管主角矩形在蘑菇矩形的上下左右哪个方向,这个条件都适用,大家可以对照上面的图案里所示的 8 种情况自己体会一下。

  胜利失败条件

  胜利失败条件决定了游戏何时结束,游戏胜利结束,意味着啦,游戏失败结束,意味着 Game Over,对于超级玛丽来说,每一关的胜利条件基本一致,都是到达大本营升起小旗旗(关底是打倒大魔王),

  而失败条件有许多种,比如碰到乌龟蘑菇炮弹章鱼等死亡,或者掉到坑里摔死,或者未在倒计时结束前到达大本营也会失败。

  记分系统

  较后来说说记分系统,它是游戏过程的一种统计手段,玩家进行不同的操作,可以获得不同的分数,比如顶金币可以加分,可以加分,踩死敌人可以加分,胜利剩余的时间也会换算成分数,记分系统是一种反馈系统,可以让玩家直观的看到自己在游戏里的表现,分数越高代表在游戏里的表现越好,并且能够激励玩家追求更高的分数,像很多街机游戏都有分数排行榜,包括现在很多网游里面的名人榜等,都是类似的设计,为的就是激发玩家心中的那一点点虚荣心理,为了追求更高的分数(排名)而在游戏里花费更多的时间。

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/972/news/624893/违者必究! 以上就是西安少儿编程信息学培训学院 小编为您整理 少儿编程从超级玛丽看游戏制作基本要素的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721