一、瓢虫引入

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学习笔记(五)——瓢虫快跑应用学习的更多相关文章

  1. go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])

    目录 go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时]) 静态配置 flag注入 在线热加载配置 远程配置中心 go微 ...

  2. Java IO学习笔记五:BIO到NIO

    作者:Grey 原文地址: Java IO学习笔记五:BIO到NIO 准备环境 准备一个CentOS7的Linux实例: 实例的IP: 192.168.205.138 我们这次实验的目的就是直观感受一 ...

  3. C#可扩展编程之MEF学习笔记(五):MEF高级进阶

    好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...

  4. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  5. java之jvm学习笔记五(实践写自己的类装载器)

    java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...

  6. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  7. Typescript 学习笔记五:类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  8. go语言,golang学习笔记4 用beego跑一个web应用

    go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...

  9. ES6学习笔记<五> Module的操作——import、export、as

    import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...

随机推荐

  1. SQLServer 删除所有表和删除所有存储过程

    1.删除所有表 use 数据库declare @tname varchar(8000)set @tname=''select @tname=@tname + Name + ',' from sysob ...

  2. html中table的画法及table和div的区别

    最近项目中,根据客户的要求需要在页面上展示各种报表什么的,各种表格的都会出现.这里也将table的画法,做一下总结.办法虽笨但很实用.这也是从高人那里学来的,总之是屡试不爽啊.就以下面的表格为例. 若 ...

  3. Spring常用annotation标签

    @Service @Scope @Transactional @Autowired @Qualifier @PostConstruct @PreDestroy

  4. javascript常用排序算法总结

    算法是程序的灵魂.虽然在前端的开发环境中排序算法不是很经常用到,但常见的排序算法还是应该要掌握的.我在这里从网上整理了一下常见排序算法的javascript实现,方便以后查阅. 归并排序: 1 fun ...

  5. 如何用火车头采集当前页面url网址

    首先创建一个标签为本文网址,勾选后面的“从网址中采集”. 选择下面的“正则提取”,点击通配符“(?<content>?)”,这样在窗口中就显示为(?<content>[\s\S ...

  6. bootstrap之双日历时间段选择控件示例—daterangepicker(汉化版)

    效果图: 参考代码: <link href="/public/static/common/css/daterangepicker.min.css?ver=0.6" rel=& ...

  7. mac os 安装 pkg-config

    wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz . env LDFLAGS="-framework ...

  8. 学号160809212姓名田京诚C语言程序设计实验2选择结构程序设计

    编写一个C程序,输入3个数,并按由大到小的顺序输出. 1 #include <stdio.h> void main(){ int a,b,c,t; printf("请输入三个整数 ...

  9. MySQL sql语句总结

    1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 d ...

  10. Python strip、lstrip和rstrip的用法

    Python中strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符. 这三个参数都可以传入一个参数,指定要去除的首尾字符. 需要注意的是,传入的是一 ...