2 达人 13小时前 160次点击
# -*- coding: utf-8 -*-
import time
import threading
from androidhelper import Android
droid = Android()
# ========== 全局参数 ==========
height = 0
speed = 0
position = "巡航空域"
last_click = 0
click_count = 0
panel_open = False
# ========== 系统TTS朗读 ==========
def speak(text):
droid.ttsSpeak(text)
# ========== 播报信息 ==========
def report_info():
msg = f"高度:{height},油门:{speed},位置:{position}"
speak(msg)
# ========== 飞行控制 ==========
def fly_up():
global height
height += 30
speak(f"提升高度,当前高度 {height}")
def fly_down():
global height
height = max(0, height - 30)
if height == 0:
speak("已降落")
else:
speak(f"降低高度,当前高度 {height}")
def fly_left():
speak("向左转向")
def fly_right():
speak("向右转向")
def throttle_up():
global speed
speed += 10
speak(f"油门加大,当前速度 {speed}")
def throttle_down():
global speed
speed = max(0, speed - 10)
speak(f"油门减小,当前速度 {speed}")
# ========== 面板功能 ==========
def open_panel():
global panel_open
panel_open = True
speak("操作面板已唤醒,支持:导航、加油、起落架、关闭")
def close_panel():
global panel_open
panel_open = False
speak("操作面板已关闭")
def do_action(cmd):
if "导航" in cmd:
speak("自动导航已开启")
elif "加油" in cmd:
speak("燃油补充完成")
elif "起落架" in cmd:
speak("起落架已展开")
elif "关闭" in cmd:
close_panel()
# ========== 横屏 ==========
droid.setScreenOrientation(0)
speak("飞机驾驶系统已启动,横屏模式,左侧油门,右侧升降")
# ========== 无障碍手势监听核心 ==========
def gesture_service():
global last_click, click_count, panel_open
while True:
event = droid.eventWaitFor("accessibility", 500)
if not event:
continue
data = event.result
x = data.get("x", 0)
y = data.get("y", 0)
action = data.get("action", "")
width = data.get("width", 1000)
mid = width // 2
# 单击计时(双击检测)
now = time.time()
# ========== 双击播报 ==========
if action == "click":
if now - last_click < 0.3:
click_count += 1
if click_count == 2:
if x < mid:
report_info()
click_count = 0
last_click = now
# ========== 长按唤醒面板 ==========
if action == "long_click":
open_panel()
# ========== 滑动控制 ==========
if action == "swipe_up":
if x < mid:
throttle_up()
else:
fly_up()
if action == "swipe_down":
if x < mid:
throttle_down()
else:
fly_down()
if action == "swipe_left":
if x < mid:
speak("切换导航")
else:
fly_left()
if action == "swipe_right":
if x < mid:
speak("切换高度显示")
else:
fly_right()
time.sleep(0.05)
# ========== 启动服务 ==========
if __name__ == "__main__":
speak("请开启谷歌无障碍服务,然后操作屏幕")
gesture_service()
点击这里是什么效果?我也不知道
这个要自己编辑地图还是你这个代码要在哪里输入啊
好好好 查看完整内容都出来了是吧 你厉害 这代码得有多长啊