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工程拆分成一个个功能相对独立但相互依赖的小 ...
随机推荐
- SQLServer 删除所有表和删除所有存储过程
1.删除所有表 use 数据库declare @tname varchar(8000)set @tname=''select @tname=@tname + Name + ',' from sysob ...
- html中table的画法及table和div的区别
最近项目中,根据客户的要求需要在页面上展示各种报表什么的,各种表格的都会出现.这里也将table的画法,做一下总结.办法虽笨但很实用.这也是从高人那里学来的,总之是屡试不爽啊.就以下面的表格为例. 若 ...
- Spring常用annotation标签
@Service @Scope @Transactional @Autowired @Qualifier @PostConstruct @PreDestroy
- javascript常用排序算法总结
算法是程序的灵魂.虽然在前端的开发环境中排序算法不是很经常用到,但常见的排序算法还是应该要掌握的.我在这里从网上整理了一下常见排序算法的javascript实现,方便以后查阅. 归并排序: 1 fun ...
- 如何用火车头采集当前页面url网址
首先创建一个标签为本文网址,勾选后面的“从网址中采集”. 选择下面的“正则提取”,点击通配符“(?<content>?)”,这样在窗口中就显示为(?<content>[\s\S ...
- bootstrap之双日历时间段选择控件示例—daterangepicker(汉化版)
效果图: 参考代码: <link href="/public/static/common/css/daterangepicker.min.css?ver=0.6" rel=& ...
- mac os 安装 pkg-config
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz . env LDFLAGS="-framework ...
- 学号160809212姓名田京诚C语言程序设计实验2选择结构程序设计
编写一个C程序,输入3个数,并按由大到小的顺序输出. 1 #include <stdio.h> void main(){ int a,b,c,t; printf("请输入三个整数 ...
- MySQL sql语句总结
1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 d ...
- Python strip、lstrip和rstrip的用法
Python中strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符. 这三个参数都可以传入一个参数,指定要去除的首尾字符. 需要注意的是,传入的是一 ...