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

news2024/12/26 12:10:55

十三课-飞机大战游戏

  • 学习目标

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

双通道音频功率放大电路,外接元件少, 通道分离性好,3V 的低压下可正常使用——D2025

D2025 为立体声音频功率放大集成电路,适用于各类袖珍或便携式立体声 收录机中作功率放放大器。 D2025 采用 DIP16 封装形式。 主要特点:  适用于立体声或 BTL 工作模式  外接元件少  通道分离性好  电源电压范围宽(3V~12V &#xff…

Unity3d Shader篇(十)— 渐变纹理

文章目录 前言一、什么是Unlity渐变纹理Shader?1. 渐变纹理Shader工作原理2. 渐变纹理?3. 渐变纹理的优缺点优点:缺点: 4. 渐变纹理例图 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函…

【Flutter 面试题】解释 Flutter的热重载(Hot Reload)功能

【Flutter 面试题】解释 Flutter的热重载(Hot Reload)功能 文章目录 写在前面解答补充说明 写在前面 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主,51CTO专家博主。2…

JVM运行时数据区——本地方法接口和本地方法栈

1、本地方法接口 虽然Java语言使用非常广泛,但是有些事务Java仍然无法处理。例如线程相关的功能,在线程类当中就有很多本地方法接口。那么Java如何来处理这些问题呢?Java设计师提出了一种解决方案就是本地方法接口。本贴将会讲解本地方法接口…

spark sql 转换字符串数组成多列结构

背景 在平时使用spark sql分析数据时,特别是分析从mysql的表入仓的hive表时,我们会经常和字符串数组的列打交道,而且这种情况下我们一般都需要把一行字符串数组的行数据转成多列的形式,我们看下怎么写这个sql spark sql 转换字符…

idea中maven配置(一次成功,全部细节都有)

写这篇文章的原因是maven的配置很简单,但是也很容易出错,我连配了两台电脑的maven出现了各种小错误,参考了以下两篇博文IDEA配置Maven教程(超详细版~)_idea maven配置教程-CSDN博客 一次包会——最新IDEA配置Maven指南&#xff0…

(学习日记)2024.03.01:UCOSIII第三节

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

ABAP - OOALV 单元格 F4实现

方式一:使用标准数据表,FIELDCAT字段设置值 gs_fieldcat-ref_table X. "列可编辑gs_fieldcat-ref_table MARA. "F4 参考表gs_fieldcat-ref_field MATNR. "F4 参考字段 方式二.使用自定义数据 ,实现效果如下图…

git根据文件改动将文件自动添加到缓冲区

你需要修改以下脚本中的 use_cca: false 部分 #!/bin/bash# 获取所有已修改但未暂存的文件 files$(git diff --name-only)for file in $files; do# 检查文件中是否存在"use_cca: false"if grep -q "use_cca: false" "$file"; thenecho "Ad…

【ue5】滑铲系统蓝图笔记

大致逻辑如下: 一、导入动画 滑铲蹲待机蹲行走 导入到文件夹中 可以右键设置颜色,便于区分。 二、调整动画 1.启动根运动 启动根运动后,人物才可以位移,不然只能在原地。 打开动画序列,勾选启用根运动Enabled…

【排序算法】基数排序

一:基本概念 1.1 基数排序(桶排序)介绍 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是…

Python读取hbase数据库

1. hbase连接 首先用hbase shell 命令来进入到hbase数据库,然后用list命令来查看hbase下所有表,以其中表“DB_level0”为例,可以看到库名“baotouyiqi”是拼接的,python代码访问时先连接: def hbase_connection(hbase…

如何开好一家汽车美容店,汽车美容保养与装饰教学

一、教程描述 本套教程共由17张VCD组合而成,教程内容主要包括:美容店的设立和管理,汽车系统与内部结构,汽车美容工具与美容设备,美容用品的选择与使用,车身打蜡镀膜与内外清洁,车身抛光与漆面处…

Verilog(未完待续)

Verilog教程 这个教程写的很好,可以多看看。本篇还没整理完。 一、Verilog简介 什么是FPGA?一种可通过编程来修改其逻辑功能的数字集成电路(芯片) 与单片机的区别?对单片机编程并不改变其地电路的内部结构&#xff0…

【框架】Spring 框架重点解析

Spring 框架重点解析 1. Spring 框架中的单例 bean 是线程安全的吗? 不是线程安全的 Spring 框架中有一个 Scope 注解,默认的值是 singleton,即单例的;因为一般在 Spring 的 bean 对象都是无状态的(在生命周期中不被…

vue3 + vite 项目可以使用纯Js开发吗?

答案:可以 创建项目: 按照链接参考或者按官方: webstorm 创建vue3 vite 项目-CSDN博客 项目目录 tsconfig.json 配置允许js allowJs指定是否编译js文件,在任意文件当中,如果我们模块使用js写的,那么我们需要 将all…

微软为金融界带来革命性突破——推出Microsoft 365中的下一代AI助手:Microsoft Copilot for Finance

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【leetcode】相交链表

大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 点击查看题目 思路: struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *he…

数据分析之Logistic回归分析(二元逻辑回归、多元有序逻辑回归、多元无序逻辑回归)

1、Logistic回归分类 在研究X对于Y的影响时: 如果Y为定量数据,那么使用多元线性回归分析;如果Y为定类数据,那么使用Logistic回归分析。 结合实际情况,可以将Logistic回归分析分为3类: 二元Logistic回归…

今年国内石油需求稳中有升,巡检机器人助力石油行业可持续发展

前言:全球能源市场出现普遍回落趋势,其中石油价格下降近20%,而天然气和煤炭价格更是下跌超过50%。此外,碳酸锂和光伏组件价格也纷纷下降超过50%。这种价格下滑对于全球经济的持续增长,尤其是控制通货膨胀方面&#xff…