范例:
http://scratch.mit.edu/projects/Daixiaohong/2943975 “广播”和“当接受到广播”
http://scratch.mit.edu/projects/Daixiaohong/2840206 (进阶:限时点金币)
范例截图:
问题描述: 1)金币在画面上四处不限定地游移;
2)鼠标粘着魔杖,准备点击金币;
3)画面上出现点到的金币数;
* 4)由卡通小人行走的距离来限制游戏的时间,卡通小人到达屏幕右下角并停止,游戏结束。
问题分析:1)准备角色1-金币,角色2-魔杖,角色3-卡通小人
2)鼠标粘着魔杖。从绿旗被点击开始,魔杖一直由鼠标操控,即魔杖“移至鼠标”,并重复执行着魔杖“移至鼠标”。
3)金币四处游移。角色在屏幕上的位置由座标指定,即X,Y( , )的值,且金币不限定地在屏幕上四处游移,即金币的坐标X,Y(,)的值是一个随机产生的值。所以找出相关的模块:(根据屏幕座标值的范围,不让金币游移出屏幕,特设定金币的X:1至230,Y:-176至176 )
经过组装,金币始终要。
为了防止金币在屏幕上游移形成方向死角(如游移成:始终横向或始终纵向),还需要给金币游移时增加角度的改变。设定金币向自身角度的补角方向作一个随机度数的旋转,然后移动5步,停留20秒。(为了使金币移动中的产果更流畅,具体数据设置实际调整):
在游戏执行时,金币一边不停地随机移向屏幕区域的某个点,一边自身不断地旋转着调整移动方向。
4)金币被点,并累计数量,显示在屏幕左上角。
计数:新建变量“点金币的个数”,设初值为0,每点中一次计数增加1,并显示变量。
金币被点中:金币被点中的标志是侦测到“鼠标按下”,而且金币碰到了角色2魔杖。即,两者条件必须同时成立,被点中计数生效。两者条件必须同时成立!布尔变量中的“与”条件,经过组装,得到:
金币被点中,为了增加视觉效果,被点中停留一点时间,让玩家察觉被点中一次,同时计数增加1;如果金币没有被点中,金币继续在屏幕上移动几步,遇到边缘就反弹。
问题求解1:(不限时点金币)
角色1脚本截图:
角色2脚本截图:
进阶:限时点金币
问题分析:4)角色3-卡通小人在屏幕下方从左向右行走,来控制游戏的时间。卡通小人的初始坐标值设定,
卡通小人行走过程中,Y座标值始终不变,X座标值发生改变。设定小人在右方某个点停下,把这个点的座标X值作为判断的条件,即卡通小人的X值<该点X值时,卡通小人继续向右走,即卡通小人X值增加,。
组装成:
当到达终点X值时,即例子中X的值<220不成立,则发出停止游戏的广播讯息,通知角色1停止游戏。
角色1收到广播,停止游戏。
问题求解:
角色3卡通小人脚本截图:
建议:“广播”类似调用某代码,把实现特定功能的脚本作为“广播”来调用,提高了脚本代码的利用率。
未经允许不得转载:创客探索 » 温州实验中学scratch教案[游戏篇]6.《点金币》-分支&循环-变量&广播-随机数