App Inventor2程序开发课程(7)

MakeCourse

ZMAKER

Hello,大家好,我是歌瑶。

上一节学习设计开发了一个通过按钮控制小车的App,我们的小车已经能够跑起来了,但是它的速度是固定而不受控制的。那么这节我们来设计制作一个可以随自己心意动态调速的控制App。

打开进入开发环境,新建项目,命名为“RoboCarT”,我们首先设计一下组件界面。第一步,添加一个“列表选择框”组件和一个“按钮”组件,同时用“水平布局”把这两个组件放在同一行。这两个组件的目的是进行蓝牙设备的选择连接和断开。

记得重命名组件名称和更改组件的显示文本,再改一下组件属性以显得更加美观。

接下来,添加一个“画布”组件,和一个“球形精灵”组件。“画布”和“球形精灵”的组件属性。

最后,把“蓝牙客户端”组件添加进去。

界面设计基本完成之后,就可以进行逻辑设计了,首先我们假设一下软件体验过程,然后再进行逻辑设计。那么第一步就是“屏幕初始化”,也就是打开软件我们能够知道应该点击哪里,知道怎样连接蓝牙设备和蓝牙设备是否连接成功。

接下来,我们开始设计和计算精灵小球的坐标。

当屏幕初始化时,将摇杆小球定位于画布中央,所以给初始化函数增加一个精灵小球的复位命令,也就是精灵小球定位于画布的中心点,计算中心点时注意画布的尺寸和小球的半径。如图所示。

当拖动小球时,小球的坐标位置能够随时变动,需要把这个实时坐标数据通过蓝牙发送给我们的小车。但在发送之前我们需要监控测试一下这个实时的坐标数据。此时我们可以回到“组件设计”的界面来添加一个用来存放这个坐标数据的组件标签。(所以你看,老师也并非能够提前设计好“界面”)

接下来,我们在“逻辑设计”的程序里就可以给“精灵小球”编写拖动命令,并且能够实时监控测试它的坐标数据了。

从“球形精灵1”的抽屉盒子里拖拽出精灵小球的拖动命令,

从“标签1”的抽屉盒子里拖拽出文本显示命令,并且设置其显示文本,同理设置“标签2”。

精灵小球被拖动的命令

被拖动的精灵小球还需要一个松开命令,也就是当精灵小球被松开时,能够立即回到中心点,并且把这个坐标也显示出来。所以,精灵小球的松开命令。

这个App程序写到这里,我们还没有调用“蓝牙客户端”来发送数据,而是我们需要知道要发送的这个坐标数据的具体数值而进行的数据显示测试。程序如图所示。

但是这个程序中我们会发现有一些相同相似重复的命令,比如图66。对于这些相似的命令程序,我们可以通过编程里面很重要的基本要求或者编程习惯进行程序的优化,而这其中就深刻体现了一种典型的编程思维方式。我们期待下一节感受一下绝妙的编程思维。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180312B11D8F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券