⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 124-mobileosc.py

📁 this code is used for edit on os of s60
💻 PY
字号:
import appuifw, e32, graphics, key_codes, socket, OSCmobile

sound = 0
y_pos_contr = 100

slidershaft = graphics.Image.open("e:\\background.jpg")

makeMaskTemp = graphics.Image.open('e:\\controller_mask.jpg')
makeMaskTemp.save("e:\\controller_mask.png", bpp=1)
contrMask = graphics.Image.new(size = (97,149),mode = '1')
contrMask.load("e:\\controller_mask.png")
contr = graphics.Image.open("e:\\controller.jpg")

makeMaskTemp = graphics.Image.open('e:\\button_mask.jpg')
makeMaskTemp.save("e:\\button_mask.png", bpp=1)
buttnMask = graphics.Image.new(size = (111,78),mode = '1')
buttnMask.load("e:\\button_mask.png")
buttnOn = graphics.Image.open("e:\\button_red.jpg")
buttnOff = graphics.Image.open("e:\\button_dark.jpg")

def keys(event):
    global y_pos_contr, sound		
    if event['keycode'] == key_codes.EKeyDownArrow:
        if y_pos_contr < 260 :
            y_pos_contr = y_pos_contr + 5
            sending(str(3))

    if event['keycode'] == key_codes.EKeyUpArrow:
        if y_pos_contr > 0 :
            y_pos_contr = y_pos_contr - 5
            sending(str(4))

    if event['keycode'] == key_codes.EKeySelect:
        if sound == 1:
            sound = 0
        else:
            sound = 1
        sending(str(5))

    handle_redraw(())

def handle_redraw(rect):
    global sound, img, w,h
    img.blit(slidershaft, target = (0,0,w,h))
    img.blit(contr, target=(142,y_pos_contr), mask=contrMask)
    if sound == 1:
        img.blit(buttnOn, target=(8,328), mask=buttnMask)
    else:
        img.blit(buttnOff, target=(8,328), mask=buttnMask)
    canvas.blit(img, target = (0,0,w,h), scale = 1 )

def choose_service(services):
    names = []
    channels = []
    for name, channel in services.items():
        names.append(name)
        channels.append(channel)
    index = appuifw.popup_menu(names, u"Choose service")
    return channels[index]

def connect():
    global sock
    address, services = socket.bt_discover()
    channel = choose_service(services)
    sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
    sock.connect((address, channel))
    
def sending(data):
    global sock
    message = OSCmobile.OSCMessage()
    message.setAddress("/phone/user1")
    message.append(data)
    sock.send(message.getBinary())

def quit():
    app_lock.signal()

canvas=appuifw.Canvas(event_callback=keys,redraw_callback=handle_redraw)
appuifw.app.body=canvas
appuifw.app.screen='full'
w, h = canvas.size
img = graphics.Image.new((w,h))
appuifw.app.exit_key_handler=quit
handle_redraw(())
connect()
app_lock = e32.Ao_lock()
app_lock.wait()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -