AppInventor学习笔记(五)——瓢虫快跑应用学习
一、瓢虫引入
1:加入控件:

先引入方框中含有的控件,里面有两个画布,一个图像精灵,一个重力感应,一个时钟(设为10Ms)。顺手改名。设置图像精灵的移动speed为10,并且引入瓢虫的图像
2、加入逻辑
编程思路为,先加入一个一直调用的函数(时钟),即这个是程序中不断运行的代码。只要到10ms就调用一次。

所以我们应该编写一个不断对瓢虫进行绘图的函数进行引入

首先设置一个生命值的全局变量。global energy
然后编写一个程序为updateLadyBug,用于不断对瓢虫进行绘图操作。逻辑为:随着时间推移,能量不断减1,并且用DisplayEnergy进行生命值的绘图。生命值的绘图意思是:首先绘制底色为白色,然后再以global energy的值为像素值来绘制红色的血条。
之后,如果生命值为0,则,进入gameover状态,在这个状态,使得LadayBug的各种使能全部关闭,并且替换图片为死掉的图片,关闭重力感应。
在生命值不为0的时候,设置瓢虫移动的方向为重力感应的方向,设置速度为倾斜程度正相关。
二、蚜虫的引入
1、组件加入

再次加入一个图片精灵,
2、加入逻辑

加入更新蚜虫的逻辑功能

使用一个随机功能,在这里,设置有%20的可能性使得蚜虫变换移动的方向(据说比较合理),然后在预设一个死掉之后复活的函数,也就是说在拨一个随机数,有%80*%5的可能性复活,而在活着的时候并没有影响。

如何完成吃掉蚜虫的功能,则是使用碰撞检测功能,编写一个新的函数为eatAphid,如果吃掉后,能量加50,然后设蚜虫属性为false,之后再设定下一次出现的地点。

使用封装好的函数进行设计。
如果检测到与蚜虫进行碰撞且蚜虫可见,则调用吃掉蚜虫函数。
三、青蛙的引入
1、加入组件

加入一个图片精灵
2、加入逻辑

加入一个刷新青蛙行动的函数

有10%的可能性进行移动方向的改变(即大概100ms改变一次)

加入碰撞检测(青蛙和瓢虫的),这样子的话,完成游戏的总体框架的搭建。
四、重新开始的加入
1、组件加入

2、逻辑加入

就是进行所有的还原即可。
五、加入计分板



2、加入逻辑


加入逻辑如果活着则加0.1,并改变label上的数值。

在重新开始中进行还原,最后即可完成制作。
AppInventor学习笔记(五)——瓢虫快跑应用学习的更多相关文章
- go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])
目录 go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时]) 静态配置 flag注入 在线热加载配置 远程配置中心 go微 ...
- Java IO学习笔记五:BIO到NIO
作者:Grey 原文地址: Java IO学习笔记五:BIO到NIO 准备环境 准备一个CentOS7的Linux实例: 实例的IP: 192.168.205.138 我们这次实验的目的就是直观感受一 ...
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- go语言,golang学习笔记4 用beego跑一个web应用
go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
随机推荐
- powerdesigner设置表主键列为自动增长。
powerdesigner 版本12.5 创建表就不说了.下面开始介绍设置自动增长列. 1 在表视图的列上创建.双击表视图,打开table properties ———>columens ,双击 ...
- 给WordPress Page页面添加摘要输入框
默认情况下 WordPress Page 编辑页面没有摘要(Excerpt)输入框,所以对 WordPress 进行 SEO 的时候比较麻烦. 这个时候我们就可以通过以下代码给我 WordPress ...
- Brackets(区间dp)
Brackets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3624 Accepted: 1879 Descript ...
- 第9章 使用ssh服务管理远程主机。
章节简述: 学习使用nmtui命令配置网卡参数.手工将多块网卡做绑定.使用nmcli命令查看网卡信息和使用ss命令查看网络及端口状态. 完整演示sshd服务配置方法并详细讲述每个参数的作用,实战基于密 ...
- MySQL数据库InnoDB引擎下服务器断电数据恢复
说明: 线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹. 问题: 通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时 ...
- 采用Unity快速开发高质量游戏的若干优化建议
http://files.cnblogs.com/123ing/%E9%87%87%E7%94%A8Unity%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91%E9%AB%98 ...
- 【UER #1】[UOJ#12]猜数 [UOJ#13]跳蚤OS [UOJ#14]DZY Loves Graph
[UOJ#12][UER #1]猜数 试题描述 这一天,小Y.小D.小C正在愉快地玩耍. 小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 n. 小D是个机灵鬼,很快从小Y嘴里套出了 n的值.然后 ...
- ZeroMQ(java)之Router与Dealer运行原理
在开始这部分的内容之前,先来看看ZeroMQ中HWM概念---High-Water Marks 当系统的数据量很大,而且发送频率很高的情况下,内存就很重要了,如果处理不好会出现很多问题,例如如下场景: ...
- MySQL sql语句总结
1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 d ...
- nyoj 8
http://acm.nyist.net/JudgeOnline/problem.php?pid=8 #include<stdio.h> #include<iostream> ...