Merlin's Blog
Just record something
Toggle navigation
Merlin's Blog
Home
Scratch基础教程
About Me
Archives
Tags
【Scratch】第三课:大鱼吃小鱼(克隆版)(2课时)
Scratch
2019-02-23 14:42:08
619
0
0
merlin
Scratch
###**<font color=blue>【$Scratch$】第三课:大鱼吃小鱼(克隆版)(2课时)</font>** ##**一、克隆鱼的制作** 1.从角色库中导入一条小鱼。使用克隆技术时,本体一般隐身即可,初始化脚本如下。 ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b1c) 脚本含义:当绿旗被点击时,角色隐藏且缩小到原来的30%,并移动到指定坐标。 **注**:你可以先移动角色到指定位置,这时候**“移到X?y?"**脚本中就会自动填上当前坐标值。 2.利用重复执行克隆当前角色,补充脚本如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b15) ##**二、克隆鱼的脚本编写** 通过上面的脚本,我们克隆了10条**"死鱼"**,如果想让鱼动起来,需要用克隆事件的脚本(其他事件触发对克隆体都无效),克隆体事件脚本如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b11) ##**三、克隆鱼的个性化** 虽然克隆鱼会动了,但是方向都一致的,接着我们让每条鱼都与众不同吧! 1.游向不同方向的鱼。 需要用到**数字和逻辑运算**的脚本命令,添加后如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b14) 需要注意的是,**面向**用的是<font color=red>**面向?方向**</font>。 ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b17) 2.不同颜色的鱼,利用**外观**中**颜色设定**的脚本,添加后如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b0f) **注**:记住,颜色变化不要放在重复执行里面,**会超级卡**。 3.不同大小的鱼,利用**外观**中的大小设定脚本,添加后脚本如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b16) 4.不同造型的鱼。 点击角色的**造型**面板,角色库中上传其他角色的鱼,作为当前角色的造型。 ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b1b) 添加造型后: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b12) 利用**外观**中的**造成切换**脚本命令结合**随机数**脚本,实现克隆出不同**造型**的鱼。 ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b18) ##**四、创建大鱼角色** 1.从角色库导入**鲨鱼** 使用上次课的**移动**脚本,如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b1d) **记得添加<font color=red>将旋转模式设定为“左-右翻转“</font>,否则大鱼肚子会朝上。** 2.增加事件:造型切换。 让鲨鱼嘴巴动起来,脚本如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b13) ##**五、大鱼吃小鱼的脚本设计** 最简单的做法,就是**克隆鱼**重复侦测是否碰到**大鱼**,如果碰到了,则删除**克隆鱼**。 判断我们可以使用**控制**类别中的**如果....那么....**脚本,是否碰到**大鱼**,可以使用**侦测**类别中的**碰到?**。 所以,**克隆鱼**脚本修改如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b1a) 因为一直要判断是否碰到**大鱼**,所以应该把脚本放入**重复执行**脚本中。 ##**六、引入积分系统** **数据和指令**中的变量,可以用来记分。 ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b10) 1.新建变量,取名为**“积分”** 2.默认选择**适用于所有角色**不变,它的含义是,所有角色都可以使用这个**变量**。 每次重新玩,**积分**都应该**清0**,否则,会叠加。所以,要做好**积分初始化**。 因为所有角色都能使用该**变量**,所以只要在**当绿旗被点击**的脚本下加入**积分初始化**,比如: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b0e) 当然你也可以把这条脚本,放到**大鱼**的**当绿旗被点击**的脚本下面。 3.如何统计分数呢?不难发现,**克隆鱼**被吃掉的时候,应该计1分,**克隆鱼**什么时候被吃掉的?答案就是**碰到大鱼后删除克隆体的时候**。把**将变量“积分”的值增加1**添加到**克隆事件**中,如下: ![]( http://magicoj.imwork.net/api/file/getImage?fileId=5ba714671d41c8062d000b19) ##**七、你还能想到什么?** 到这里,一个“简单版”&“克隆版”的大鱼吃小鱼完成了,你还能往游戏中添加什么创意呢?
Pre:
【Scratch】第四课:吃苹果(普通版)(2课时)
Next:
我的世界--编程一小时教程
0
likes
619
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Table of content