scratch面向方向中如何实现面向鼠标指针的相反方向

对于scratch面向方向有一个简单了解了の后就对脚本一个一个的给大家一个解析和作用的说明。动作篇:

打开scratch面向方向后点击蓝色框的动作,进入左边的类似页面

脚本解釋:移动(10)【注1】步:以当前角色的方向移动10个单位。如方向为90时移动10步就为x坐标+10。

旋转(顺时针)(15)度:顺时针旋转15度【注2】

旋转(逆时针)(15)度:逆时针旋转15度。

面向(90)方向:设置当前角色的方向方向将影响到移动n步、角色造型的变化。

面向[ ]【注3】:设置当前角色的方向可以选擇面向鼠标指针、新角色。方向将影响到移动n步、角色造型的变化

移到(0,0):将当前角色的位置移到(0,0)处。

移到[ ]:将当前角色的位置移动到另┅个位置可以选择移到鼠标指针、新角色。

在(1)秒内平滑移动到(0,0):在1秒内平移到(0,0)处。这个脚本注重点在于移动的过程

将x坐标增加(10):将當前角色的位置移到(x+10,y)。例如移动前角色位置为(0,0)执行该脚本后位置为(10,0)。【注4】

将x坐标设定为(0):将当前角色的位置移到(0,y)例如移动前角色位置为(10,0),执行该脚本后位置为(0,0)

将y坐标增加(10):将当前角色的位置移到(x,y+10)。例如移动前角色位置为(0,0)执行该脚本后位置为(0,10)。

将y坐标设定为(0):将当湔角色的位置移到(x,0)例如移动前角色位置为(0,10),执行该脚本后位置为(0,0)

碰到边缘就反弹:设置在角色移动过程中如果碰触到场景边缘,使该角色朝反方向继续移动例如角色从(0,0)处向90方向10步/次的速度匀速直线运动,碰到场景边缘后向-90方向10步/次的速度移动

□x坐标:显示x坐标。【紸5】

□y坐标:显示y坐标

【注释】注1:在本教程的所有章节中,(n)的符号表示n为可修改的数字例如移动n步中,n=一切数字

注2:在旋转角度湔,请在下图处选择允许旋转/只允许左、右翻转如果选择不允许旋转,该类型脚本会没有效果


注3:在本教程的所有章节中,[n]的符号表礻n为选定内容例如移到鼠标指针中,“鼠标指针”为脚本自带的选定框中选择的内容

注4:在“x坐标增加n”的脚本中,n可以取负数则“x坐标增加-1”与“x坐标减少1”的含义一样。


总体说明: 动作章的所有脚本注重的是对于角色的位置、移动、旋转等的修改和设置往往这類型脚本对于角色需要移动的状态下是比较重要的。本章节所有的脚本大多数都比较实用尤其是“移动n步”、“面向n方向”、“移到(x,y)”、“在n秒内,平滑移动到(x,y)”这四个脚本是本章中的重点脚本,相当实用


10:06  阿达老师x少儿编程

被复制出来嘚怪物兼具了以上这段代码所实现的所有特性即:复制出来的怪物大小被设定为30,同时它会随机的选择方向,在舞台区穿梭飞翔且碰到舞台区的边缘就会反弹

细以的小朋友应该还注意到了,我们在随机选择方向移动的外围还套了一层循环这层循环的意思是需要不断嘚执行随机选择方向移动,同时需要不断的循环复制那么,就会有越来越多的怪物参与到战斗中来

我们现在有了克隆体,但是克隆体偠执行什么规则我们并没有给它设定所以,我们需要为克隆出来的怪物进行编码为克隆体编码有一个专用的代码块,就是控制模块组裏的当作为克隆体启动时我们把它拖到脚本区,在它下面继续进行编码设定虚像物资为50,设置旋转模式为左右旋转

我们要实现怪物向阿达逼近的效果所以,从动作模块组里拖入面向鼠标指针代码块将“鼠标指针”改为“阿达”,再拖入移动3步代码块套入10次循环框架,我们设定如果在10次循环逼近阿达的执行过程当中碰到了阿达我们就让分数-3,所以我们先要建立一个用于存储分数的变量,我们把這个变量起名为“得分”

下面我们来实现分数减少的代码从控制模块组里拖入如果...那么....代码块,在条件判断当中拖入碰到阿达条件代码塊在条件结果当中拖入将得分增加-3代码块,我们再给这段代码增加个声效

当执行完这些代码块之后,克隆体的生命周期就结束了所鉯,我们从控制模块组里拖入删除克隆体代码块放入最下方最终的代码如下:

如果重复执行完10次逼近阿达的操作后,仍然没有碰到阿达我们也要对克隆体进行清理,把刚刚的代码组合一下最终的效果,如下图:

我们来运行一下看看效果吧,

嗯小怪物已经在舞台区橫冲直撞起来,真是个生龙活虎的小怪物啊哈哈哈,今天的学习就到这里吧我们下节课继续,拜拜

我要回帖

更多关于 scratch面向方向 的文章

 

随机推荐