在这节课中,我们实现了滚动大地图效果👇:
知识点回顾
本节课我们学到了以下知识点:
- 实现滚动地图效果;
- 突破 Scratch 对角色大小的限制:
- 突破放大限制:先切换为空造型,再放大;
- 突破缩小限制:先切换为满造型(占满舞台区的造型),再缩小。
- 突破 Scratch 对角色移动的限制:
- 方法1:将大小设置很大,并切换为满造型后,可突破舞台边缘限制任意移动;
- 方法2:当移到屏幕外(卡在屏幕边缘)时隐藏;
- 方法3:用拓展。
- 三角函数:
- 含义:在直角三角形中,一个锐角记为 A,则
- sin(A) = 对边/斜边
- cos(A) = 邻边/斜边
- tan(A) = 对边/邻边
- 用法:已知移动距离,方向,求出分解后的 x、y。用于实现滚动地图中敌人的移动。
- 绝对值:
- 含义:去掉数字的符号,例如 -3 的绝对值是 3,5 的绝对值是 5;
- 作用:求两数的差。a 和 b 的差可用“绝对值(a-b)”求出
本课练习
- 跟随教程,完成滚动地图的效果。完成后可将你的作品发布在“跟着 Arkos 制作射击游戏”星球上。
- 三角函数练习:使用画笔拓展,画一个以(10,20)为圆心,100为半径的圆。
参考答案:
示意图:
还可以写成自制积木(注:自制积木勾选“不刷新屏幕”后,可以瞬间完成积木的执行):
- 改编敌人的移动代码,让敌人不跟随玩家,而是随意走动:
参考答案:
第一课作品源码
如果你在教程中遇到了什么问题,可以参考下面的第一课作品源码:
- Gandi 编辑器模板:《中级射击第一课demo》
- CCW 旧版编辑器模板:《中级射击第一课demo》
下面是使用了大地图拓展后的作品源码。
- Gandi 编辑器模板:《中级射击第一课拓展版 demo》
- CCW 旧版编辑器模板:《中级射击第一课拓展版 demo》
(由于篇幅有限,不会具体介绍使用拓展后的代码。但是使用拓展的代码往往更容易理解。)
下节预告
在下一节课中,我们将添加地图边界、遮挡物、以及实现视野缩放效果:
欢迎在这里提交你的新版教程体验反馈!
<iframe
width="100%"
height="800px"
scrolling="no"
src="https://www.ccw.site/embed?id=STG202/Arkos/Lec1/06&type=comment"
title="{射击1-小结}"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>