美文网首页
用键盘控制角色

用键盘控制角色

作者: 月明风晚 | 来源:发表于2018-04-02 20:19 被阅读0次

我们用 Scratch 设计的各种游戏,归结起来,基本有这么几类:

  1. 射击类的。飞机打飞机,坦克打坦克,战士打僵尸,好人打坏蛋;横着打,竖着打,转圈打,第一人称打,看你想怎么打。
640.jpeg
  1. 平台类的。超级玛丽横着跑,英雄塔楼竖着跳,大家都是在一个平台上跑来跳去,掉在平台外面就Game Over 了。
image.png
  1. 桌面类的。小猫走个迷宫,小鸟砸个猪头,球拍接个弹球,这些都是从桌面游戏的玩法发展出来的。
image.png
  1. 竞速类的。赛车,赛马,赛跑,有时候还需要躲避个障碍啥的。
image.png
  1. 角色扮演类的。勇者斗恶龙,林克救公主,到处打怪升级,翻箱倒柜……
image.png

当然还有塔防类啊,音乐类啊,体育类啊,等等,不一而足。
在我们设计这些游戏的时候,都有一个基本的功能要做,就是用键盘控制游戏里的角色。
今天我们就一起来学习一下,有哪些常用的控制方法。

第一种:最简单的控制
难度系数:★☆☆☆☆

IMG_2177.JPG

如上图。这是最简单的控制方式。按不同的方向键,就让角色朝向不同的方向,只要按键不松开,角色就一直前进。
你可能会碰到角色来回颠倒的情况,只要在角色列表里点击角色左上角的蓝色小 i ,将旋转模式由第一个转圈(任意模式)改为第二个(左右翻转)或第三个(不旋转)就可以了。

IMG_2178.JPG

但是实际上,这种控制方法在游戏设计当中几乎不可用,因为太不灵活,特别是当你需要角色斜着走的时候,这种方法让你想砸电脑。

IMG_2179.GIF

不过,这种控制方式也不是完全不可取,特别是当你不想让角色斜着走,就要横平竖直的移动的时候,它就排上用场了,但是要稍微改造一下,不然还是太不灵活。

第二种:贪食蛇控制法
难度系数:★☆☆☆☆

这种控制法最经典的一个应用场景就是《贪食蛇》游戏,Alex 老师管它叫贪食蛇控制法。在贪食蛇游戏里,我们只需要那条蛇横着走,或者竖着走,不能斜着走,但是要一直走。程序如下图。

IMG_2180.JPG

第一部分是给角色做初始化(确定游戏开始时角色的状态,包括位置、大小、显示与否等等。以后会有专门解释初始化的课);第二部分让角色在程序开始时就开始移动,不需要玩家控制。第三部分用键盘控制方向。

这个时候有些孩子要问了:第一部分和第二部分难道不能连在一起吗?

理论上当然可以,但是我们也要追求一种东西,叫做“程序的可读性”。
什么是“程序的可读性”?就是要让别人一看就能明白。我们把不同功能的代码分成不同的模块分开放置,最好再加上注释,这样我们把代码交给别人,即便别人没有参与代码编写,也很容易看懂。

那孩子又会问了:为什么要强调可读性?为什么要让别人看懂?我自己懂不就行了嘛?
并不是。现在我们编写的程序小,一个人就能搞定,确实自己看懂就行了。但是以后我们写的程序越来越复杂,越来越庞大,一个人根本搞不定,需要很多人来共同完成,“可读性”就特别重要了。所以我们要从现在就开始,养成良好的编程习惯。

第三种:坦克控制法
难度系数:★★☆☆☆

会了前两种控制法的基础,我们就可以玩坦克的控制方法了。(为了降低难度,这里忽略了坦克炮塔的独立控制。以后我们用专门一课做复杂的坦克控制)
坦克是个笨重的大家伙,运动迟缓,原地转圈。为了模拟这个特点,我们可以用左右方向键让坦克旋转,用前后方向键让坦克前进或后退。开做!
首先,我们需要一个坦克。

IMG_2183.JPG

“哎呦哪来的坦克?角色库里没有啊!”
“没错,这是 Alex 老师自己画的坦克。Scratch 的矢量绘图工具其实能画出挺不错的东西呢。以后开课教你。”

IMG_2186.JPG IMG_2187.JPG IMG_2190.JPG IMG_2191.JPG IMG_2192.JPG IMG_2193.JPG IMG_2194.JPG IMG_2195.JPG IMG_2196.JPG

相关文章

  • 用键盘控制角色

    我们用 Scratch 设计的各种游戏,归结起来,基本有这么几类: 射击类的。飞机打飞机,坦克打坦克,战士打僵尸,...

  • C++ opengl 绘制多个立方体,并且用键盘鼠标控制摄像

    用键盘鼠标控制摄像机移动 主要点有欧拉角控制俯仰,偏航角,键盘控制摄像机距离物体的远近。核心是控制viewMatr...

  • JS用键盘控制DIV移动

    键盘控制DIV移动需要用到onkeydown事件,当然也需要知道按键的键值keyCode,这样才能起效果。另外需要...

  • 键盘控制

    3年级的课程进入到第三单元了,可视化编程一直是信息技术课程中重要的板块之一。 本节课是让学生学会用键盘控制角色的移...

  • Spring Boot+Spring Security基于RBA

    一:RBAC:基于角色的权限访问控制,用5张表实现,用户、角色、权限、用户角色多对多关联表、角色权限多对多关联表。...

  • Mac常用快捷键

    如果是用 windows 键盘控制 Mac mini,则 Mac 的 command 相当于 windows 的 ...

  • 角色控制

    UE4初学笔记_06_获取玩家控制方法[https://blog.csdn.net/qq_41043982/art...

  • 记录14 用键盘控制动画

    使用jQuery $函数来选择HTML中的body元素, 然后,调用keydown 这个回调方法。keydown ...

  • 代理模式

    代理模式,是对一个对象提供代理,用代理对象控制对实际对象的访问。 静态代理,可以分为抽象角色,真实角色,代理角色三...

  • 用OpenGL绘制金字塔、圆环、扇形

    首页我们来看案例的效果图: 案例是这样的:用OpenGL几个图形,点击键盘进行切换,然后用键盘的上下左右按钮控制图...

网友评论

      本文标题:用键盘控制角色

      本文链接:https://www.haomeiwen.com/subject/qraxhftx.html