安卓-第二稿版第四单元_第1页
安卓-第二稿版第四单元_第2页
安卓-第二稿版第四单元_第3页
安卓-第二稿版第四单元_第4页
安卓-第二稿版第四单元_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四单元Tom,会根据外界光线强弱来调节屏幕亮度,从而达到最佳视觉以及节电的双重效果亮度调,分别有一到六个数字由于掷时人们又无法预测所定的点数所以用来作为带有很大偶一摇来实现掷的过程。学习目(Lists实例预 图15-1运行效果图 图15-2运行效果图,,15-3在本实例中,主要用到Button、Label、Image组件以及3个非可视化的组件15-415-1组件类组件名作设置画水平布局的高度为80像“开始100设置按钮的宽度为100像设置画垂直布局的高度为20像设置字体大小为rSenor设置振动的最小时间间隔为400毫设置时钟间隔为1控制振15-5所示。15-5Y轴垂直指向顶部,Z15-6所示。图15-6坐标表15-1在不同姿态下三个方向上加速度的姿XYZ正面朝正正面朝负向左倾负向右倾正向前倾正向后倾负15-2属说事件在发生变化时调用,并根据变化返回XAccel、YAccelt和ZAccel的值,是随机都发生的事件。Shaking事件在晃动时会被多次调用。力正交两个方向的分力大小,来判断水平方向。当方向改变时,重力块作用于不同方向的压电晶体上的力也随之改变,输出电压信号不同,从而判断的方向,重力感应常用于自动旋转屏幕以及一些游上传素01.jpg02.jpg03.pg04.jpg05.jpg“06.jpg本实例需要使用4个全局变量,变量num用来随机产生的数字,并设置初始值0;变量count用来Clock.Timer事件执行的次数,并设置初始值为015-7pic66name也66个图像文件分别对应活动名称。

15-815-9

15-10①为了避免在晃动时连续多次调用本事件,先设置加速度传感器不可用 ③启动时钟组件可用;④随机产生时钟组件执行的次数(30~50次②判断执行次数是否为零?如果为零,说明执行次数到了,设置时钟组件不可用和加否则,继续随机产生一个随机数num1到静态列表pic的长度,在这里是16picnum个元素所对应的图像;15-12Shaking尝试完成一个摇号程序。使用加速度传感器,从一批人员中随机选图15-13运行效果图 图15-14运行效果图①通过对Lists列表进行怎样的操作,实现每次摇出的人员不重复②如何实现参加摇号的人员和摇中的人员数都可以自由输入GPS指南针,它是一种判别方位的仪器,也古代四大发明之一。它的主要组成部分是学习目实例预16-1程序启动后指南针指向南极并通过信号网络或GPS获得当地位置的信息, 通过信号或网络显示所在位置的和位置信息。Canvas、ImageSprite、Label、Layout3个非可视化LocationSensor、OrientationSensorClock16-2。16-216-1组件类组件名作GPS设置画水平布局的高度为200像设置画水平布局的高度为40像设置画水平布局的高度为200像设置图像精灵的背景为“纬度“纬度 设置显示的文字为“正在获取, 设置时钟间隔为0.5测定的方向变获取的当地位置信3所示。16-3参考坐标系(见第15课图15-6,Roll表示X轴与水平面的夹角,范围为-90~90;Pitch表示Y轴与水平面的夹角,范围为-90~90;azimuth表示方位,水Y03600°,指向正东时为90°,指向时为180°,指向正西时为270°。16-2属说LocationSensor16-3它是一种能够通过GPS网络或信号获取当前位置的设备包括定位精度、16-3所示。属说纬经海拔高间隔多少时间显示一次(毫秒当前所在位 和地址信息;若有GPS信息,就可以获得所在位置 和地址信息;若有GPS信息,就可以获得所在位置16-5①显示当前的方位角③显示当前的时间formatasdecimal模块的功能是将数字(number)转化为指定小数位数(places)的数值进行四舍五入输出。FormatDateTimeInstant时间点的日期和时间。显示所在位置的和地址LocationSensorLocationChanged①获取当地位置的并显示中中山北路390②获取当前的地址信息并显示。获取信息的时间会比较长,大约需要几分钟到十几分a中中山北路3904个部分,由于定位的精度存在误差,地址信息不一定很listitemlist216-6所示。16-616-7LocationChanged通过发送给朋友(使用Texting组件。(一随着智能等便携设备的普及,通过传感器控制的益智类小游戏受到了极大的推崇小球控制游戏因其操作单富有性和趣性成为了游者必装应用本课介绍如何制作在安卓平台下通过方向传感器(Ornaonensor)控制小球的运动轨迹并NotifierShowChooseDialogAfterChoosing事件的使用

17-1在本实例中,红球将随机出现在画布底部,用户通过摇晃设备利用方向传感器选择框及其处理:利用Notifier中的ShowChooseDialog方法并结AfterChoosing事件处理红球进洞后的信息反馈及处理。17-2所示。否是否碰到是是17-2在本实例中用到CanvasBallLabel组件以及3个非可视化的组件Notifier、OrientationSensorClock17-3。 17-317-1组件类组件名作小球进Fill设置画布高度为360像设置球的半径为0设置球的运动速度为设置球的半径为X设置X坐Y设置Y坐勾加粗显设置字体大小为游戏说勾加粗显设置字体大小为消息提设置时钟间隔为1BallBall组件位于DrawingandAnimation面板组中,是一种可以在画布(Canvas)中自由运BallImageSpriteBallHeadingSpeed属性值可以控制其在(ImageSprite)组件:位于DrawingandAnimation面板组中的ImageSprite组件具有和Ball相似的属BallImageSpritePicture属性值的设定来显示,在一些诸如的小鸟等游戏应用中大量使用。time为对“time”变量自增1。这样,在“time”变量中记录的就是游戏开始后的时间,单位是17-4所示,在需要暂停和继续计时的地方只要设置“Clock1”的“TimerEnabled”

17-4此功能,在此通过定义1个函数“InitRedBall”来实现,并且在屏幕初始化事件“Screen1.Initialize17-5所示。17-5OrientationSensor传感器来实现,当晃动设备时,方位发生17-6所示。17-617-2OrientationenSensor方法/属参功方向改变时响应的事件,同时返回azimuth(方法pitch、rolled三个数值返回一个介于01之间的小数来表示设备倾斜程非常常见的应用,在许多游戏中均有涉及,如:贪吃蛇、、的小鸟等,在AppInventorBall或者ImageSprite组件的“CollidedWith”事件响应对象的碰撞事件,通17-7Notifier组件面已作介绍,本例中出现的“ShowChooseDialog”方法常与结束程序的功能(closeapplication)必须是应用安装后才有效,所以请先将应用打包成APK文件并安装

17-(二重游戏设计的性和趣味性一种常见的游戏应用开发模式是从易到难通过类似冲关的listAnycomponentAnyBallBall

0个干扰球开始,多个选择框的综合处理不同选择框的响应用一个AfterChoosing来处理。AppInventor程序运行过程中用到的组件必须是预先创建的,所以在本例中用到的干Visible属性控制每个球的显示和隐藏。接下去,请343个“Ball”组件(18-2所示,Radius、Speed18-3所示。图18-2组件设计 图18-3干扰球属性设置参→createemptylistlist,用于干扰球的存取和使用,模块连18-4所示。18-4List(列表)是AppInventor ”画布中添加的干扰球初始状态默认是可见,通过定义干扰球隐藏函数“Hideballballvisibletrue即可实现干扰球的添加。”“AnycomponentAppInventor为增强模块开发将同类型组件集成到一个模块中,component参数的设定在程序运行过程中可以灵活判断在哪个具体的组件上执行模块。利用“Built-in→Control→foreachiteminlistlist中的所有对象,并返回一个item值。balllistitem使用“Anycomponent→AnyBall→setBall.Visiblelistballvisiblefalse18-5所示。

18-5上节课实例中的屏幕初始化模块我们实现了InitRedBall函数的调用,本例中将要增加加入列表,同时HideBall函数,将所有干扰球设置为不可见,如图18-6所示。18-6List内的项目添加一般有二种方法,其一是通过“makealistList添加项目,其二是通过“additemstolist”方法往指定的List里添加项目。在用组件作为项目内容时,只能采用第二种方法来实现。ball18-7设置了新增干扰球的大小和方向,并将其设置为可见。这样我们就可以在游戏运行过程中调用AddBall18-7在AnyBall下还有许多其它的属性设置,你能找到并运用它们吗?请尝试修改新增球的属性,让其随机BallImageSpriteEdgeReached事件,并返回一个edge值,1表示上方,2表示右上,3表示右方,4表示右下,-1表示下方,-2表(Bounce,它18-8所示。

18-82种情况均是在红球碰撞黑洞后触发,因CollidedWith2if18-9if模块判断碰撞对象是否是黑洞,如果红球碰到了黑洞,表示游戏成功,这时,再通过level值判断游戏是否通关,通关和下一关的消息显示略有不同,如果碰撞对象不是黑洞(即干扰球18-1018-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论