目录

一、课程导入
哈喽,朋友们,又见面了,上周只更新了一篇作品,上周真的太忙了,工作+学业,忙的都感冒了,咳嗽了2周(哭脸)。周六日研究生课程学的是卷积神经网络,学的很尽兴(开心),感冒都跟着好起来了(笑话,2周了能不好吗哈哈哈哈)~今天我们来学习一个超级经典且简单有趣的游戏吧?大家肯定听过“飞机大战”,我小时候经常看到比我大的伙伴们用学习机插卡来玩游戏哈哈哈哈,今天我们就用scratch把它来实现一下吧。真正的课程导入语:同学们!有没有梦想过驾驶战机翱翔蓝天,成为守护家园的超级飞行员?今天的Scratch课堂,我们就要解锁超酷炫的“飞机大战”游戏开发!想象一下:你亲手设计的战机灵活躲避敌机突袭,发射子弹精准打击目标,记录得分情况。这一切都能在Scratch里实现!通过这节课,我们会学会角色移动、碰撞检测、得分系统这些核心编程技巧,更能锻炼逻辑思维和创造力。接下来,就让我们一起化身小小程序员,用积木搭建属于自己的空战世界,看看谁的战机最厉害,谁能成为最终的空战王者!准备好开启这场编程冒险了吗?现在,Let’s code!
二、作品效果
我希望你能通过作品效果,总结作品的关键操作步骤。1.控制飞机2.陨石下落3.发射子弹4.子弹碰到陨石5.飞机被毁坏你总结的可能跟我不一样,但是大差不差,也许你的更好。
思考时间
三、用到的模块1.运动模块:移到x:x,y:y y坐标增加x 移到具体某物2.外观模块:隐藏、显示3.事件模块:当绿旗被点击,当按下空格键4.控制模块:重复执行直到xxx,等待 x秒,如果xxx那么。克隆,当作为克隆体启动时,删除克隆体,停止全部脚本5.侦测模块:当碰到xxx,鼠标的x坐标四、逻辑分析

五、具体操作我希望你在看下面过程之前,你自己能根据作品效果做出至少80%(做不出来的话,你要清楚的知道自己哪里不会哪里不清晰)。这样你在看下面的操作之后才能真正学到一些“知识”,不经过自己思考就得到的答案,不深刻,逻辑思维也不会得到提升。1.角色和背景

如果你不会添加角色和背景的基础操作,请点击下面链接进行学习基础操作:角色和背景的添加2.控制飞机飞机其实很简单:y值不变,x坐标值与鼠标x值相同

这里的y=-131是唯一的值吗?不是,可以根据自己喜欢设置y。3.陨石下落一颗陨石如何变出无数个?答:克隆

(1)把本体隐藏,当作为克隆体启动的时再显示(2)本体的位置(放在了一个角落,你可以随意嘿嘿嘿嘿)(3)每隔0.2-1.2随机时间就克隆(4)每个克隆体移动到与本体同y的不同x位置上(5)克隆体一直重复向下落(向下的值不同)落的过程中可能会碰到子弹或舞台边缘(特指下边缘,因为它碰不到左右上边缘)(6)删除克隆体,别占用资源4.发射子弹一颗子弹如何变出无数个?答:克隆每次发射子弹,子弹都从飞机位置出发,子弹本体无时无刻一直跟着飞机。

(1)本体无时无刻移动到飞机,藏在飞机后面(2)按下空格键,开始克隆自己(3)与陨石差不多,碰到陨石或舞台边缘(4)删除克隆体,节省资源
5.子弹碰到陨石如果他们两个相碰了,那么就得分,新建一个得分变量

记得对它进行初始化

角色陨石那的代码(1)变量初始化(2)这里与之前代码不同?为什么要这么修改?你可以试试,如果这里加了碰到子弹,得分会不准,应该是碰到的那一刻,还没等得分+1,子弹和陨石就不接触了,也就没办法得分+1(当然这里还可以用其他办法规避这个问题)(3)如果碰到子弹得分+1(写在循环里面)6.飞机被毁

飞机碰到陨石就停止脚本并且飞机应该是破碎状态,这里我们翻到飞机造型那。


复制一个一模一样的飞机,用选择工具将它解体最终成

最终我们修改代码为

六、课程拓展
如果飞机粉碎后,按空格,子弹还能发射,你能改下代码修复这个bug吗?
