Ⅰ 少儿编程Scratch第三讲:宇宙大战.枪战游戏
小朋友这周的表现还算不错。周末多数时间都由我陪着他做课本上的数学题,后来还学了英语。任重道远啊,语数外都还得加强,还远不到自己就能取得好成绩的阶段。
上周说好这周要做一个发射炮弹的游戏。最后在周日晚上八点学习完英语以后才开始。
目的:设置一艘宇宙飞船或其他角色,实现上下左右移动。每按一次空格键即发射一枚炮弹,同时播放声音,炮弹往屏幕上方飞,直到飞出屏幕。发射子弹、炸弹是很常见的游戏功能。
实现方式:宇宙飞船角色的上下左右移动是比较简单的。我们在接球运动中已经学过了。只需要不停循环,检测是否有按键按下。如果左箭头按下,X轴就减少10;如果右箭头按下,X轴就增加10;如果上箭头按下,Y轴就增加10;如果下箭头按下,Y轴就减少10。对于这个步骤,小孩表示理解。
这是我们第一次使用发射炮弹的功能。首先要找到一个炮弹的图,可以选择球类或者其他物品, 最后我们选择了一个闪电,但要将闪电转一下,让尖尖的头朝上。
Scratch提供了克隆角色的功能,这是一个强大的功能,就是克隆出另外一个副本出来。克隆体启动时,可以执行单独的脚本,即相当于一个子函数,控制这个炮弹克隆体。每按一次按钮,炮弹就克隆复制自己。然后炮弹往屏幕上放飞行就比较简单了,就是向上移动一定的位置,或者Y轴增加一定的距离。不停循环即可往上飞行。
逐步改进:制作程序的过程,是一个不断测试改进的过程。我们在制作过程中,发现了一些问题,并且逐步解决了。
1. 宇宙飞船的范围确定。如果不设置范围,那么左右上下会移出屏幕。因此我们后来增加了一个判断,即只有在X轴大于-220时,才继续往左移动,否则就不往左移动了。Y轴类似。这样通过四个箭头的移动,保证宇宙飞船一直都不会超出屏幕,同时上方保留一定的空间。
2. 克隆体一直往上飞行,到顶部以后,炸弹会停留在那边,留下一个尾巴。我们增加了判断。如果碰到边缘,就“删除克隆体”,这样克隆体碰到边缘后就消失了。
3. 播放声音:每次发射炸弹后,系统会播放声音。播放声音不能直接在循环中做,因为那样会做完以后才能继续发射下一个炮弹,影响效果。因此广播一个消息,然后在消息中播放音乐。最后我们选择了一个敲打低音鼓的声音,这样发射炸弹以后,就发出类似爆炸的声音了。
在游戏制作过程中,我们先设置了飞船的上下左右移动,然后加入了发射炮弹的功能,之后不断调整优化,确保游戏体验良好。在制作游戏时,我们还考虑了游戏中的逻辑性,如飞船的边界判断、克隆体的移动与消失、声音的播放等,以增加游戏的趣味性和互动性。通过家长的指导和孩子的操作,不仅培养了孩子的编程兴趣,也使他们了解了实现游戏功能所需的步骤和控件操作,为他们的逻辑思维和问题解决能力打下了基础。
Ⅱ 当开始被点击和当作为克隆体启动时的区别
克隆技术是时下热门的Scratch少儿编程考试或者竞赛必须面对的重点与难点之一。
本文试图从较高的层面探讨Scratch编程中克隆技术的本质,并进一步把克隆技术的应用划分为两大类型共享数据克隆体和非共享数据克隆体。最后给出各自的应用举例。
对于初、高中对面向对象编程概念没有基础的小朋友,可以略过本注释的阅读转而进行第二小节的阅读。熟悉其他高级编程语言的朋友都了解面向对象编程,其三种特征都在Scratch中得到非常自然与形象的体现。
在此暂不赘述,有兴趣的朋友可多多联系这些概念,从而更有助于理解Scratch中的克隆技术中克隆体可分为两种类型 编程中,当需要大量相似的精灵完成相似的任务时,建议主动考虑使用克隆术。
其实,通过大量应用克隆技术的案例分析后,总体归纳一下,克隆体不外乎如下两大种类型共享数据克隆体这种克隆体允许其他克隆体或母体精灵访问它的数据可以是任何信息。
如生命值、X位置、Y位置等非共享数据克隆体如果一个克隆体的数据不需要被除自身以外的任何其他角色访问称此种克隆体为非共享数据克隆体。
Ⅲ scratch中如何让scratch猫的克隆体有秩序的运动
1、首先选中角色中的小猫。
2、其次从代码组件区的事件中,选择当“启动”被点击积木,拖拽到编码区。
3、然后从代码组件区的运动中,选择移动10步积木,拖拽到编码区,其中的步数是可以修改的。点击启动按钮,scratch猫的克隆体就可以有秩序的运动。Scratch就是一款可视化组件编程的工具,Scratch是一款由麻省理工学院设计开发的少儿编程工具。
Ⅳ 有人了解编程猫吗
产品宣传
看来是比较低调的一个团队,网上的信息不多,主要集中在官微和知乎。整体感觉年轻活力,很有“编程”的极客范,比如下图这样的。
人人都是程序员:初识《编程猫》
萌死人不偿命
官网
浓浓的卡通风,相信比较吸引主要受众——小朋友。不过整体来说,画面质感还有提升空间(可以考虑天天爱消除这种风格)。
人人都是程序员:初识《编程猫》
官网首页
官网内容当然是以“编程教学”为核心,分为以下板块:
首页
创作:进入编程猫的代码世界(需先登录),这里是我最喜欢的一部分,下文再具体介绍。
代码岛:类似于“我的世界”的一个页面,但是没有任何介绍,目前没去研究如何使用。
编程猫热点:即最近的新闻。
公开课:编程猫系统使用的常规操作,也是我收获最大的一部分,下文具体介绍。
精选作品、小说、部落、活动、最近作品:UGC内容的推荐。
人人都是程序员:初识《编程猫》
官网小说推荐.png
创作:同上
发现:主要是作品(用户发布的编程作品)和部落(即编程社区)。
网络:问题讨论、官方角色资料,还包括漫画和小说。
素材:这里提供了一些可以用到编程中的素材,比如背景、角色、道具等。
学校:与学校合作的一些介绍与接入。
下载:相关APP以及chrome的下载(系统运行需要chrome内核)
个人中心:用户的主页与信息,还包括代码、小说等作品的管理。
一个建议
编程猫官网应该归类到内容(代码/小说/漫画)+学习社区,那么主要用户就是两类:
创作者:主要需求是通过平台创造内容,提升自己、收获粉丝。偶尔需要学习知识,以及收集素材。
消费者:主要需求是消费这些内容(小游戏/小说/漫画)。偶尔需要泡社区、与创作者互动。
当然,对于真实用户,是完全可以在两种角色之间切换的。
基于以上两点,再次整理如下:
“发现”中的“作品”是给消费者的(发现好作品),而“部落”又是给创作者的(发现好社区)。
“网络”中的“讨论中心”是给创作者的(提问/答问),而“漫画/图书馆”又是给消费者的(看漫画/小说)。
“素材”是给创作者,“学校”是面向学校,这些都比较清晰。
所以不妨基于两类用户的特点,对板块进行重新划分。
面向消费者:主栏目是“发现作品”,下设子栏目:游戏、漫画、小说,每个栏目可以加上“我要创作”,来引导其成为创作者。
面向创作者:主栏目是“源码社区”,下设子栏目:热门源码、讨论、部落、素材。
(PS:网络中的“资料图鉴”目前还未了解,暂不讨论。)
公开课
这部分是我“入门”编程猫的关键,17个短视频,看完你也能轻松学会在编程猫“写代码”。
人人都是程序员:初识《编程猫》
编程主界面
每个视频也是一个小故事,比如《编程猫初见阿短》,“编程猫”就告诉“阿短”如何在屏幕内移动(设置“碰到边缘即反弹”)
下面贴出我印象比较深的几点:
1、初见阿短
动作—移到鼠标指针:角色跟随鼠标移动
动作—面向鼠标:使角色面向鼠标方向
动作—碰到边缘就反弹:使角色不再会走到屏幕之外
2、重复执行
控制—重复执行:使角色不断重复执行某个动作
3、坐标
动作—移动到(X,Y):可以改变角色的坐标
4、广播
很有意思的功能,可以理解为传参,或者全局变量,可以让一个角色的动作对另一个角色造成影响。
比如示例中通过点击“礼帽”触发动作“广播:1”。然后对“动物”设置动作当收到“广播:1”时,将自己设为可见。实现的是玩家点击礼帽“变”出动物的效果。
位置在:”事件—当收到广播/收到广播时“。
5、如果
这里演示了经典的if-else的写法。整个函数在一个循环体“重复执行”中。
游戏很像前几年流行的Flip Bird(哈哈当年我玩到过200多分),玩家按下鼠标时,角色往上跳一下,然后慢慢下落。
那么角色就包括3个动作,对应if的三个情况:
飞行/下落:鼠标按下时移动12px,否则向下移动3px
碰到障碍物:游戏结束,停止脚本
碰到南瓜怪:闯关成功,退出循环
人人都是程序员:初识《编程猫》
经典的If-else
6、外观
基本是结合之前几课,实现了“人物进入飞船、飞船飞走”的动作。
拆解如下:灯光在1秒内亮起,并发送广播”进舱“——人物接收到”进舱“,在1秒内隐藏,并发送广播”出发“——飞碟收到广播”出发“后闪灯、变小、改变坐标值
人人都是程序员:初识《编程猫》
Paste_Image.png
Tips:图层顺序是右侧覆盖左侧
7、声音
为角色添加造型与声音(三头龙的5个造型对应着5种不同的血量)
添加声音很简单,这里一个新方法是:两个角色之间的信息交互是用另一个的造型编号触发,而没有用“广播”。
人人都是程序员:初识《编程猫》
三头龙与胜利动画
人人都是程序员:初识《编程猫》
利用角色编号来传递信息
8、画笔
这里提供了一个简单的画笔工具,可以直接将屏幕变为一个画板。
代码不复杂,重点是起笔/落笔的设置,如下
人人都是程序员:初识《编程猫》
画笔设置
9、变量
本章稍微复杂,需要实现的效果是:鲤鱼在河道不断左右运动,玩家点击后消失,并计分+1。
鲤鱼的运动,可以这样写(注意碰到边缘反弹,是可以设置旋转模式的):
人人都是程序员:初识《编程猫》
呆鲤鱼的运动
得分的计算,可以这样写(初始设置为0,每次点中呆鲤鱼+1):
人人都是程序员:初识《编程猫》
得分计算
最后这里有一个链表。它设定了游戏时间只有6秒钟,根据玩家得分数来返回一个“击败80%玩家”的信息。当然也是用于结束游戏(脚本)的计时器。
人人都是程序员:初识《编程猫》
结束脚本与返回结果
10、克隆
这一part,需要的效果是:在一个固定高度,每秒在水平任意位置出现一个飞镖,并依此落下。使用的方法是“克隆”,代码的解析如下。
设置角色“飞镖”,将其隐藏,
每秒创建一个自己的克隆体,克隆体移动到Y=500,X=随机的位置
作为克隆体启动时,不断下落、旋转
Tips:注意最后加上“如果碰到下边缘就删除自己”,相当于释放内存,不然浏览器会悲剧。
人人都是程序员:初识《编程猫》
飞镖的运动
练习作品
目前我在上面做了一个飞机大战,踩了几个坑,不过也算是完成了。已实现的需求:
玩家键盘控制飞机的移动、发射子弹;
敌方飞机随机从上空出现;
击落敌机,得分+1;
被敌机撞到,生命值-1,获得3秒无敌状态回屏幕中央;
生命值将为0,游戏结束。
人人都是程序员:初识《编程猫》
飞机大战
一些思考
图形化界面,很容易上手。但是完成这个小作品也是非常有成就感(像程序员一样创造世界)。
代码思维:比如“面向对象”的思维(将飞机、子弹、场景都视为对象),比如“清理内存”思维(克隆体一定要有删除机制),相信这些对小朋友的思维也很有启发作用。
遇到困难的时候,我是回到公开课去看的,因为“网络”和社区(包括我加入了QQ群)能了解到的信息不多,就像FCC推崇的“Read-Search-Ask“,这部分的内容其实也有待完善。
比如作为新手,我需要的信息包括:编程界面各个功能的使用说明,常见场景(Read);能搜到一些常见错误的解答(Search);可以学习和讨论其他人的优秀作品(Ask)。这三点做好以后,相信能吸引更多人在这里创作。
其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我要推荐c++交流群:“648778840”,不管你是小白还是大牛欢迎入住,大家一起交流成长。小编会在群中不定期分享干货源码,包括我精心整理的一份c++零基础教程。欢迎各位感兴趣的的小伙伴。
学习思路:
人人都是程序员:初识《编程猫》
学习资料:
Ⅳ Scratch跳一跳如何制作
Scratch作为一款趣味十足的少儿编程软件,用搭积木的方式实现编程开发,既便于用户理解,又简化了编程的中的语法问题,下面就以跳一跳游戏为例讲述下吧。
准备工作:
选择角色及背景,主要包括跳一跳的主角,以及整个游戏的背景,以及成功或失败时的音乐。
制作步骤:
1.我们首先要学会如何使角色移动
通过三个积木控制移动方向:
连续按下上,左,右键后角色可移动10步,我们需要这样搭积木:
2.游戏开始,需要一个变量“status”,来判断“小人”是起跳前还是起跳后。只有在起跳下落后再进行判断成功失败。新建变量“接触到本身判断”在下落后先判断与母体的接触,如果接触到母体,不再进行与克隆体的判断。
3.移动到起步位置,要使用一个变量“克隆体x坐标”用它来记录克隆体位置的x坐标,便于计算出“小人”要往左移动的距离,得到终点坐标。
4.重复执行;角色object碰到了piayer发出声音,并通过移动x轴坐标来改变角色位置
5.改变造型,增加计分变量,跳跃成功+1分,如果落在盒子中心+2分
设计完成后需要先进行测试,只需要达到跳一跳的游戏效果即可,例如角色通过上、下、左、右键移动,碰到object后object自动切换为角色或背景。
Scratch|