Scratch 第十三课-飞机大战游戏

十三课-飞机大战游戏

  • 学习目标

这节课我们做一款大家都爱玩的飞机大战游戏,学习重点:

  1. 如何导入外部角色
  2. 如何让飞机发射子弹
  3. 鼠标控制角色移动
  • 程序设计

程序分析 : 飞机大战游戏相信很多小朋友都玩过,我方飞机在下方,通过鼠标控制移动,并且自动向上发射子弹,而敌机从舞台上方垂直下落,我们的目标就是不停消灭敌机,同时要躲开敌机。

  1. 角色设计:这节课需要的素材有我方飞机、敌机、子弹,飞机的造型很难绘制,所以我们可以直接从网上搜索下,导入造型即可。导入功能如下图 :

选择我们刚才找的飞机及其他素材,就可以在我们角色区域显示了!

  1. 首先对我方飞机编程,我方飞机是通过鼠标控制,鼠标到哪里,飞机到哪里,并且自动发射子弹。

鼠标控制角色移动,首先明确是一直跟随鼠标,所以肯定需要重复执行指令的,那跟随鼠标呢?可以用运动模块里的,下拉找到”鼠标指针“,看看下面的代码,是不是很简单!

当飞机移动的时候会一直发射子弹,大家想想!只有一个子弹造型,如何产生很多子弹呢?克隆体!可以通过克隆功能让子弹有无数个。现在分析下子弹发射的流程,子弹是从飞机上发射,向上垂直发射,当碰到舞台边缘消失,碰到敌机也消失。

首先我们先让子弹每间隔0.1秒克隆一个。代码实现为 :

克隆体本体隐藏,克隆体显示。子弹向上移动,是Y坐标增加。

测试下!发现子弹并没有从飞机上发射,换句话说克隆出来的子弹应该从飞机上开始移动!这个指令刚刚用过,我们可以让飞机移到鼠标上,是不是也可以让子弹移到飞机上?

现在测试下,是不是就移到飞机上了!

子弹碰到舞台边缘消失,这里就不讲了。有个地方注意下,子弹碰到舞台边缘不能使用外观的功能,而是需要使用控制里的功能,因为子弹是克隆体产生的,克隆体的最大数量是300个,隐藏功能只是我们看不到,但是还是存在的,而删除克隆体,产生的克隆体总数就减少一个。

  1. 敌机的实现:敌机的效果为从舞台上方往下走,碰到子弹消失,而碰到舞台下边缘则消失。它的运行轨迹和实现方式和子弹有些类似,只是出发点和移动方向不同而已。这里只给思路就不给代码了,大家自己尝试下:
    1. 敌机每个一段时间克隆!注意时间不能太小,否则敌机太多了!
    2. 克隆体的敌机从舞台上方出来,坐标Y=180,而X坐标是一个区间的随机数(这部分代码我们前面课程有)
    3. 敌机从上方往下方走!Y坐标如何变化?
    4. 当碰到舞台下方边缘,消失?碰到下方如何判断呢,是碰到舞台边缘还是小于Y坐标的值?敌机是克隆体,隐藏的话需要哪个指令?

以上4给注意事项,仔细想想,相信都能做出来的。

  1. 当子弹碰到敌机,敌机消失,同时我们要加积分,这里需要强调的是,当两个角色碰撞后,需要更改变量值的时候,注意:其中一个角色一定要隐藏掉,否则变量会一直变化!那到底给哪个角色编程来判断呢?谁消失给谁编程。这节课是敌机消失,所以给敌机编程,如果碰到子弹,敌机消失,同时加积分!

今天的课程就到这里了,是不是感觉很简单啊!

尝试完善这个游戏,改造成两个人同时玩!看看咋改造呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/715054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW石油钻机提升系统数字孪生技术

LabVIEW石油钻机提升系统数字孪生技术 随着数字化、信息化、智能化的发展,石油钻采过程中的石油钻机数字化技术提升成为了提高钻井效率、降低生产成本的重要途径。基于中石油云平台提供的数据,采用数字孪生技术,对石油钻机提升系统进行数字化…

[Redis]——初识Redis

一、Redis为非关系型数据库 ❓我们常见的MySQL、SQLServer都是关系型数据库,那他们之间有什么区别与联系呢? 📕关系型数据库与非关系型数据库的区别(面试题) 解释: SQL数据库中的表是有结构的,包…

腾讯云学生云服务器_学生云主机_学生云数据库_云+校园特惠套餐

2024年腾讯云学生服务器优惠活动「云校园」,学生服务器优惠价格:轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年,CVM云服务器2核4G配置842.4元一年&…

小程序和页面生命周期详解

目录 小程序的生命周期 创建(onLoad): 显示(onShow): 隐藏(onHide): 卸载(onUnload): 错误监听(onError)…

JVM 第二部分-2(堆,方法区)

4.堆 堆 一个Java程序(main方法)对应一个jvm实例,一个jvm实例只有一个堆空间堆是jvm启动的时候就被创建,大小也确定了。大小可以用参数设置。堆是jvm管理的一块最大的内存空间 核心区域,是垃圾回收的重点区域堆可以位…

洛谷P1509找啊找啊找GF

题解:这题我们需要考虑两个因素 ,既要有钱,也需要有人品,但是呢,还想花最少得时间泡到最多的女生,那么这题我们就要用到以往的二维dp数组,但是真的是二维的吗?不,因为要考…

如何让大项目自动化测试更加灵活简洁

如何把大象放到冰箱里?第一打开冰箱门,第二把大象放进去,第三把冰箱门关好。 这个问题言外之意是大象那么大,怎么能放进冰箱,为什么要把大象放冰箱,就开始纠结这个问题了,它是想表明不用太多纠结…

Day20-磁盘管理

Day20-磁盘管理 1. cut 切:2. 磁盘历史和内外部物理结构介绍2.1 磁盘发展趋势和实现措施2.2 磁盘知识的体系结构2.3 机械磁盘的外部结构2.4 SSD固态硬盘的外部结构2.5 固态硬盘内部结构2.6 缓存在服务器各硬件上的速度和大小对比另类维度图解,从上到下由高速到低速&…

DataX及Datax-web杂记

👽个人博客:https://everspring.github.io/ 👽公众号:爱历史的IT男 一. DataX调试 DataX之前调试不是很方便,要打包后才能调试。23年7月后一位叫"FuYouJ "的开源者提交了datax-example模块,就方…

EasyRecovery2024国产免费的手机数据恢复软件

一、功能介绍 EasyRecovery手机数据恢复软件是一款功能全面的数据恢复工具,专为移动设备设计。其主要功能包括: 文件恢复:能够恢复手机中因各种原因丢失的文件,如照片、视频、音频、文档等。深度扫描:通过深度扫描手…

【数据结构】实现栈

大家好,我是苏貝,本篇博客带大家了解栈,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一 .栈的概念及结构二 .栈的实现栈的结构体初始化销毁栈顶插入栈顶删除显示栈顶元素是否为空栈的大…

USB - Linux Kernel Menuconfig

Linux kernel,make menuconfig,和USB相关的,在主菜单选择Device Drivers。 Device Drivers下面,找到USB support。 在USB support下面,就可以对USB相关的item进行设置。 按照从上到下的顺序,打开的设置依次…

【C++入门】缺省参数 | 函数重载

目录 4.缺省参数 4.1缺省参数的概念 4.2缺省参数分类 4.3声明和定义分离(声明使用缺省参数) 4.🐍声明和定义分离到链接 5.函数重载 5.1函数重载的概念 5.2可执行程序的形成步骤 5.3C支持函数重载的原理—名字修饰(name Mangling) 4.…

Linux学习之信号

目录 1.信号的概念 2.信号的产生 3.信号的保存 4.信号的捕捉 信号的其它内容: SIGCHLD信号 1.信号的概念 在Linux中,信号是一种用于进程之间通信的基本机制。它是一种异步事件通知,用于通知进程发生了某些事件。如下是一些常见的Linux信…

[计算机网络]--五种IO模型和select

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、五种IO…

线性规划问题的高斯消元法

线性规划的算法和解方程组的方法很像,常用的方程组的解法叫做高斯消元法,对于高斯消元法的基本流程,现给定一组线性方程: 添加图片注释,不超过 140 字(可选) 对于给定的线性方程组,目的是将方程组中同时能够满足三个等式的变量x,y,z求解出来,对于高斯消元法的基本过程…

【精通Spring】基于注解管理Bean

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

集智书童 | YOLO+混合注意力机制 | YOLOv5再加4.3%才可以做对手,Transformer混合设计依旧可以卷

本文来源公众号“集智书童”,侵权删,干货满满。YOLOv5重出江湖! 原文链接:https://mp.weixin.qq.com/s/vb7HsA0fKDgRc3uC8Z-2yw 在工业生产过程中,由于低效率、不统一的评估、高成本以及缺乏实时数据,传统…

C语言-指针(上)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 本篇文章将为大家介绍C语言中的核心内容-指针,指针在C语言的中知识内容比…

Java 小项目开发日记 04(文章接口的开发、oss图片上传)

Java 小项目开发日记 04&#xff08;文章接口的开发、oss图片上传&#xff09; 项目目录 配置文件&#xff08;pom.xml&#xff09; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sc…