安卓通过传感器实现指南针功能;将手机水平绕Z轴为中心旋转;可以动态计算方位。
事件 传感器1.方向被改变(源对象 为 传感器,X轴 为 单精度小数,Y轴 为 单精度小数,Z轴 为 单精度小数)
'标签1.标题 = "X:" + X轴 + ",Y轴:" + Y轴 + ",Z轴:" + Z轴
' https://www.runoob.com/w3cnote/android-tutorial-sensor2.html
' 手机平放桌面旋转时、是绕着Z轴旋转的
更新指南针角度(Z轴)
结束 事件
变量 dh1 为 动画效果器
变量 上次旋转角度 为 整数型
函数 更新指南针角度(Z轴偏移 为 单精度小数)
变量 偏移值 = 到整数(Z轴偏移)
' 0 正北,90 正东,180 正南,270 正西
' 判断±10的区间范围即为正方向、例如:正东[80-100]
如果(偏移值 > 80 且 偏移值 < 100)
标签1.标题 = "正东 " + 偏移值 + "°"
否则 如果(偏移值 > 170 且 偏移值 < 190)
标签1.标题 = "正南 " + 偏移值 + "°"
否则 如果(偏移值 > 260 且 偏移值 < 280)
标签1.标题 = "正西 " + 偏移值 + "°"
否则 如果((偏移值 > 350 且 偏移值 < 360) 且 (偏移值 > 0 且 偏移值 < 10))
标签1.标题 = "正北 " + 偏移值 + "°"
否则 如果(偏移值 > 0 且 偏移值 < 90)
标签1.标题 = "东北 " + 偏移值 + "°"
否则 如果(偏移值 > 90 且 偏移值 < 180)
标签1.标题 = "东南 " + 偏移值 + "°"
否则 如果(偏移值 > 180 且 偏移值 < 270)
标签1.标题 = "西南 " + 偏移值 + "°"
否则 如果(偏移值 > 270 且 偏移值 < 360)
标签1.标题 = "西北 " + 偏移值 + "°"
否则
标签1.标题 = 偏移值 + "°"
结束 如果
' 判断为空、只创建一次
如果(dh1 == 空)
dh1 = 创建 动画效果器()
dh1.动画时长 = 10
dh1.执行次数 = 0
dh1.保持结束状态 = 真
结束 如果
dh1.置旋转动画(图片框2,(单精度小数)上次旋转角度,(单精度小数)偏移值,0.5f,0.5f)
上次旋转角度 = 偏移值
结束 函数
正好需要这个、感谢楼主分享!
函数调用还可以这样写?!