最新消息:

用scratch制作<最难小游戏>(四)

Scratch 少儿编程 2206浏览 1评论
最难小游戏

友情提示:视频教程观看时请手动设置清晰度。

第四关是有20个蓝球的克隆体排列成一个‘十字’形状围绕中点做圆周运动。也就是说每一个克隆体都要有自己的旋转轨迹,每时每刻都要自己的旋转半径和角度,这里就用到了有关极坐标的相关知识。这里稍微科普一下。
我们经常用到的两种坐标系一个是笛卡尔坐标系,也就是直角坐标系,另一个是极坐标系;极坐标系(polar coordinates)是指在平面内由极点极轴和极径组成的坐标系。在平面上取定一点O,称为极点。从O出发引一条射线Ox,称为极轴。再取定一个单位长度,通常规定角度取逆时针方向为正。这样,平面上任一点P的位置就可以用线段OP的长度ρ以及从Ox到OP的角度θ来确定,有序数对(ρ,θ)就称为P点的极坐标,记为P(ρ,θ);ρ称为P点的极径,θ称为P点的极角。
有了这套理论我们处理每时每刻克隆体的运动轨迹就方便多了,那么重点就转移到了设定克隆体的夹角θ和极径ρ上了。所以本体的主要工作就是排列和设定每一个克隆体的这两个私有属性。
 
用scratch制作<最难小游戏>(四)
我这里做了一个方法(自定义)为的是加快刷新速度,用-a和-r来表示克隆体的夹角θ和极径ρ,必须是私有变量!~中间位置的球就用本体,不做隐藏。
 
 
用scratch制作<最难小游戏>(四)
克隆体的功能就是不断变化夹角θ形成自己的移动轨迹,目前Scratch没有提供相应的极坐标的命令,只能将极坐标点转换成直角坐标系的点;二者之间怎么个映射关系呢?这里要用到三角函数的知识点了。
用scratch制作<最难小游戏>(四)
根据三角函数的定义,夹角A的正弦函数就等于对比除以斜边,即:
 
用scratch制作<最难小游戏>(四)
      夹角和斜边其实就是夹角θ和极径ρ,依次可以继续导出每个点的坐标:
x=ρcosθ,y=ρsinθ,好了有了这些理论基础我们就可以很简单的表示出克隆体的移动轨迹了。
 
用scratch制作<最难小游戏>(四)
因为地图不在原点,其中的(32,-38)是偏移量;这样的代码运行起来是逆时针旋转,为什么会出现这种情况呢?
Scratch和我们用的极坐标0°表示是不一致的,它们之间相差90°,可以通过三件函数的性质进行改良。
用scratch制作<最难小游戏>(四)
用scratch制作<最难小游戏>(四)
 
这些调整就符合我们的要求了。
其他的数据红色控制块的启点坐标和胜利点坐标范围,以及黄球的三个点的坐标列表大家自己添加吧,这里不在啰嗦了。
素材源码链接:https://sunego.lanzous.com/b00ndoxih密码:2qe6

转自公众号:
嘻嘻哈哈学编程

您必须 登录 才能发表评论!

网友最新评论 (1)

  1. 素材网盘密码不对呢?
    Sky884年前 (2020-06-03)