
Scratch学习课件-16_滚屏游戏.ppt
16页16滚屏游戏 程序设计基础 本节目标 滚屏游戏分类和鉴赏实现原理动态障碍物实现 滚屏游戏2 1 滚屏游戏是二维平面游戏的一个类型是非常常见的一类游戏 在电脑桌面游戏 Flash小游戏 游戏中非常常见常见的冒险类 射击类小游戏大都属于这一类滚屏按照方向 可分为水平滚屏和垂直滚屏 滚屏游戏2 2 特点是 为了保持人物在屏幕中始终处于中心位置 一般不移动人物 而是往相反的方向移动背景 这样利用人物和背景的相对运动 产生动画的效果 ScrollingDemo分析8 1 该游戏只是实现了人物的运动控制和背景移动 没有设置危险物 奖品等 如果感兴趣 你可以尝试自己添加 完整游戏的案例 以及障碍物的添加 可参考CubeScroller sb 该游戏的舞台是蓝天白云的一张图片 没有代码 因此是静态不动的 该游戏有5个角色 player代表人物 terrain0 terrain3代表四个屏幕的背景 当人物自左向右运动时 四个屏幕的背景依次显示出来 ScrollingDemo分析8 2 player角色的代码第一个脚本将程序唯一的变量scrollX初始化为0 scrollX表示人物在水平方向移动的距离 起点处 scrollX为0 从起点向右 变为负数 绝对值不断增加 从起点向左 变为正数 绝对值不断增加 ScrollingDemo分析8 3 第二个脚本检测左移键按下则scrollX加5 控制人物左移 第三个脚本检测右移键按下则scrollX减5 控制人物右移 ScrollingDemo分析8 4 第四个脚本检测上移键按下 实现人物重复上移10步20次 模拟人物跳起的效果 ScrollingDemo分析8 5 第五个脚本检测人物是否在地面上 碰到绿色 如果不在地面上 重复下降5步 如果碰到地面 上移5步 模拟人物降落到地面并稍稍弹起的效果 ScrollingDemo分析8 6 角色terrain0的脚本 作用是将角色terrain0设置为第一屏的背景 ScrollingDemo分析8 7 角色terrain1的脚本 作用是将角色terrain1设置为第二屏的背景 Terrain2 terrain3角色代码和这个类似 唯一的区别是480后面所乘的数字 因为屏幕宽为480像素 所以将角色设置为间隔480整数倍的位置 就相当于将角色自左向右连成一长串 从而拼接成一个长条的屏幕 ScrollingDemo分析8 8 随着scrollX不断变化 比如绝对值增加的负数 角色terrain0 terrain3的x坐标减小相同的数值 实现向左移动相同的步数 角色terrain0 terrain3向左移动5步 模拟的就是屏幕向左移动5步 看起来就像人物向右移动了5步 CubeScroller赏鉴3 1 该游戏通过方向键控制红色方块向前滚动红色代表危险的障碍 红色方块碰到红色就会回到起点角色Sprite8是一个典型的障碍 如右图所示 直接双击执行第二个脚本 观察上方角色的示意图 红色线段在显示 隐藏和左右移动 CubeScroller赏鉴3 2 从第一个脚本可知 该障碍应在第8屏出现在 221 1这个位置 第二个脚本通过切换造型实现动画效果 CubeScroller赏鉴3 3 角色有三个造型 如右图所示造型1 红色隐藏造型2 红色在左造型3 红色在右 总结 滚屏游戏分类和鉴赏实现原理动态障碍物实现作业自己设计一滚屏类游戏 。