第24课 Scratch入门篇:拖拽怪兽碰墙壁

拖拽怪兽碰墙壁

故事背景:

怪兽被困在洞穴里,被激怒的怪兽不停的撞击洞穴,洞穴晃来晃去,感觉要被震塌了!

程序原理:

洞穴的震动其实就是背景的 X、Y 坐标不停的变化,所以这个背景图我们应该设置为角色,而不能是背景,而且这张背景图要稍微大点,否则震动的时候会显示白色。而角色左右移动是跟鼠标点击有关系,难点在于判断角色点击是往左还是往右。

如何判断角色是往左还是往右呢?这里我们设置了 两个参数,分别为鼠标点击的 X 坐标,和间隔 一段时间后鼠标的 X1 坐标,一开始 X1 坐标为 0,当点击左侧的时候,X-X1 应该是负数,应为我们的角色在中间,X1 是负的。点击右侧,X 是正数,X-X1>0。我们让dx = X-X1,那么当 dx>0的时候,是往右移动,dx<0,则往左。那么当间隔一段时间后,X1=X,也就是 dx=0,这个时候我们角色停止移动。

开始编程

1、添加怪兽和洞穴的角色...调整怪兽和洞穴的位置,使其看起来就像怪兽位于洞穴中(洞穴的图片要大于舞台,晃动的时候才不会出现空白)

2、怪兽角色的程序:

  • 添加点击绿旗的积木,点击绿旗的时候让怪兽移动到图层的最上层,并将旋转方式设定为任意旋转
  • 使用重复执行的积木,每次重复执行的时候,判断鼠标是否点击怪兽角色(碰到鼠标和鼠标同时按下发生),如果鼠标正在点击怪兽的时候,将怪兽的位置移动到鼠标的位置。

3、这里我们设置了 两个参数,分别为鼠标点击的 X 坐标,和间隔 一段时间后鼠标的 X1 坐标,一开始 X1 坐标为 0,当点击左侧的时候,X-X1 应该是负数,因为我们的角色在中间,X1 是负的,这个时候角色向左倾斜(面向60度)。点击右侧,X 是正数,X-X1>0。我们让dx = X-X1,那么当 dx>0的时候,是往右移动,dx<0,则往左,角色倾斜向右(面向120度) 。那么当间隔一段时间后,X1=X,也就是 dx=0,这个时候角色回到中心,面向为90度。

完成以后,切换到全屏模式下,使用鼠标拖拉怪兽就可以看到倾斜的效果

4、新增另外一个点击绿旗的积木,放入重复执行,判断鼠标放开怪兽的时候,让怪兽回到舞台的中心点.

5、在新增另一个绿旗被点击,重复执行,判断怪兽彭代边缘,dx不等于0(表示怪兽倾斜,正在被拖拉)。就发送广播信息(角色洞穴接受消息)

6、怪兽角色完成以后,接着编辑洞穴角色:

  • 新增点击小绿旗,绿旗被点击的时候定位到(0,0)
  • 新增接受到碰撞的消息积木
  • 接收到消息以后 通过重复十次,移动,随机数的积木,让洞穴晃动10次
  • 晃动结束以后定位到(0,0)

这节课就到这里,课后多练习下!✌🏻

遇到问题给我留言!

相关推荐
凤枭香3 分钟前
Python Selenium介绍(二)
开发语言·爬虫·python·selenium
疯狂吧小飞牛4 分钟前
C语言解析命令行参数
c语言·开发语言
z202305088 分钟前
linux之调度管理(13)- wake affine 唤醒特性
java·开发语言
AI人H哥会Java9 分钟前
【JAVA】Java高级:Java网络编程——TCP/IP与UDP协议基础
java·开发语言
小白要加油哈21 分钟前
Lua--1.基础知识
开发语言·junit·lua
网络安全Ash34 分钟前
企业网络安全之OPENVPN
开发语言·网络·php
xcLeigh36 分钟前
C# Winform贪吃蛇小游戏源码
开发语言·c#
易辰君40 分钟前
【Python爬虫实战】深入解析 Scrapy:从阻塞与非阻塞到高效爬取的实战指南
开发语言·python
荒-漠41 分钟前
php CURL请求502
开发语言·php
桃园码工44 分钟前
第一章:Go 语言概述 2.安装和配置 Go 开发环境 --Go 语言轻松入门
开发语言·后端·golang