发表日期: 2021-04-09 15:17:37 浏览次数:107
攸县网站推广【攸县办理400电话】攸县SEO优化、攸县微信公众号APP客户端小程序开发、攸县网站托管、攸县APP开发
攸县为湖南省株洲市辖县,位于湖南省东南部,罗霄山脉中段武功山西端。东邻江西萍乡市、莲花县,西连株洲市渌口区、衡东县;南达茶陵县、安仁县,北接醴陵市。攸县交通便利,境内主要铁路有吉衡铁路、醴茶铁路等,素有“衡之径庭、潭之门户”之称。攸县跻身2013年中小城市新型城镇化质量500强县市,在榜单中位列第217位。
2017年,攸县户籍总人口为817256人。
2017年10月,被住建部命名为国家园林县城。
2019年3月6日,中央宣传部、财政部、文化和旅游部、国家文物局《中央宣传部 财政部 文化和旅游部 国家文物局关于公布《革命文物保护利用片区分县名单(第一批)》的通知》攸县名列其中。 [1] 2021年1月29日,入选湖南省人民政府公布的2020年度真抓实干成效明显的地区名单。
本章将讨论创建另一类应用的方法,应用中使用了简单的可移动的动画对象。你将学习使用App Inventor创建二维游戏的基本知识,并熟练使用图片精灵(image sprite)及处理两个物体碰撞一类的事件。
当你在电脑屏幕上看到一个平滑移动的物体时,你实际上看到的是一连串快速移动的图片,每次只移动一个极小的距离,它利用了人的视觉暂留,从这一点上,它无异于“手翻书”—— 一种通过快速翻页来看到动画效果的书(这也是那些精美绝伦的动画电影的制作方法)。
在App Inventor中,通过在Canvas组件上放置物体,并让这些物体随时间在Canvas内移动,从而产生出动画效果。本章将学习使用Canvas的坐标系统,学习利用Clock.Timer事件来触发运动,以及如何控制运动速度、如何响应两个物体的碰撞事件等等。

从组件面板的Drawing and Animation组中拖出Canvas组件,然后定义它的Width及Height属性。通常我们希望Canvas与屏幕等宽,为此将宽度设为“Fill parent”,如图17-1所示。

图 17-1 设置Canvas组件的Width属性
可以用同样的方式设定Height属性,但一般会将其设为一个数字(如300像素),以便为Canvas上面或下面的其他组件留出空间。
Canvas上的图画实际上是一个许多像素构成的表格,像素是手机(或其他设备)屏幕上能够显示的最小的色块,每个像素都在Canvas上有它的位置(或者说单元格),位置由X-Y坐标系定义,如图17-2所示,X定义了水平方向上的位置(方向是从左到右),Y定义了垂直方向的位置(从上到下)。

图 17-2 Canvas的坐标系统
坐标轴的方向定义可能与你的经验不一致,不过位于Canvas左上角的单元格的x、y坐标都为零,因此这个位置表示为(x=0,y=0)。(这与App Inventor列表中使用的索引值有所不同,索引值从1开始,看起来更容易理解。)向右移动时,x坐标增大;向下移动时,y值变大。位于左上角单元格右侧的单元格坐标为(x=1,y=0)。右上角单元格的x坐标等于canvas的宽度减1,多数手机屏幕的宽度都在300左右,但这里例子中显示的宽度是20,因此右上角的单元格坐标为(x=19,y=0)。
要改变canvas的外观有两种方法:①在上面绘画,或者②在上面放置移动的物体,本章所涉及的是后者,但我们首先要讨论如何绘画,以及如何通过绘画来创建动画(这也是本书第二章油漆桶中的主要内容)。
Canvas中的每一个单元格都对应显示为一个有颜色的像素。Canvas组件提供的Canvas.DrawLine及Canvas.Circle块可以用来在canvas上以绘制像素组成的图画。首先需要将Canvas.PaintColor属性设置为你需要的颜色,然后调用某个具体的绘画块来画出颜色。其中的DrawCircle块可以绘制直径为任意大小的圆,但如果你将半径设为1,如图17-3所示,那么只能画出一个单独的像素。

图 17-3 用1个像素画圆,每次只能画1个单独的像素