作品介绍
今天为大家分享的Scratch作品是《逃出圆圈》,这是一款100%基于画笔艺术的躲避类游戏,游戏的目标就是通过鼠标控制白色小球躲避红色小球并逃出圆圈。
点击绿旗,运行程序,在短暂的显示一张图片之后,立刻进入游戏封面,点击Play按钮,就可以开启游戏。在黑色的舞台中央,是一个红色的小圆球,有两个大小不一的两个圆圈将小红球包围起来,其中蓝色的圆圈较小,红色的圆圈较大,在小圆圈上有一个白色的小球,小球随着鼠标的移动而移动,但始终都处于圆圈之上。随着游戏的进行,从红色的外圈位置随机出现一些小红球,向着舞台中心移动,同时蓝色的内圈也在慢慢的变大,如果白色小球碰到红色小球,则内圈又恢复到初始大小。玩家需要控制白色小球的位置,避免碰到红球,当内圈逐渐增大,白色小球离外圈越来越近,当白色小球到达外圈位置时,则游戏胜利。
本作品有两大亮点,首先是整个的游戏效果是通过Scratch代码结合画笔指令绘制而成的,其次这里的文字显示效果是通过字符的组合得到的。
作品效果
Scratch逃出圆圈作品的预览效果如视频所示:
作品解读
Scratch逃出圆圈完全是基于画笔功能实现的,因此角色比较少,如图所示:
这里的重点角色是game和text,其中game角色负责游戏的主要逻辑,而text则是一个文本引擎,用于输出指定字符串。
对于game角色而言,它其实就是一支画笔,游戏中的各种小球和圆圈都是通过画笔模块相关指令绘制出来的,其中绘制小球比较容易,它其实就是一个点,只需要设置好画笔的大小、颜色及位置即可,其代码如下:
而绘制圆环稍微麻烦一点,本作品采取的方式是和三角函数相结合来绘制,其核心代码也是利用函数的编程思想,如图所示:
在自制积木中,参数a表示角度,r表示半径,一般来说a的范围为0~360,刚好绘制一个圆周。比如,这里绘制外圈圆环的代码如下:
另外一个关键点是需要计算出白色小球的位置,它受鼠标的影响,但是有必须停留在内圈的圆环上,因此需要计算出它的x和y坐标,计算的原理很简单,就是鼠标和白色小球和x轴以及y轴形成的夹角是相等的,因此我们需要算出原点(0,0)到鼠标的距离,然后根据比例进行计算即可,其核心代码所示:
解决了这几个核心点,基本上就可以实现游戏逻辑了。
暂无评论内容