Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PGU(Pygame GUI API)可以与pgs4a(Android的Pygame子集)一起使用吗?_Android_Python_Pygame_Pgu - Fatal编程技术网

PGU(Pygame GUI API)可以与pgs4a(Android的Pygame子集)一起使用吗?

PGU(Pygame GUI API)可以与pgs4a(Android的Pygame子集)一起使用吗?,android,python,pygame,pgu,Android,Python,Pygame,Pgu,到目前为止,我已经成功地让简单的PyGame应用程序在Android上运行,使用。我的下一个实验是看看我是否可以在中使用PyGame GUI小部件;不幸的是,这似乎不起作用,尽管一些论坛帖子建议应该这样做。有人在这方面取得了成功吗 我仍然在摸索着学习如何捕获和记录错误信息,所以下面是我尝试用一个最小的例子来演示这个问题。此应用程序仅显示一个带有错误消息(如果有)的黑屏,并以白色文本显示 请注意,只需导入PGU模块就足以破坏一切。也就是说,如果我注释掉“frompguimportgui”,那么一切

到目前为止,我已经成功地让简单的PyGame应用程序在Android上运行,使用。我的下一个实验是看看我是否可以在中使用PyGame GUI小部件;不幸的是,这似乎不起作用,尽管一些论坛帖子建议应该这样做。有人在这方面取得了成功吗

我仍然在摸索着学习如何捕获和记录错误信息,所以下面是我尝试用一个最小的例子来演示这个问题。此应用程序仅显示一个带有错误消息(如果有)的黑屏,并以白色文本显示

请注意,只需导入PGU模块就足以破坏一切。也就是说,如果我注释掉“frompguimportgui”,那么一切正常。令人讨厌的是,异常似乎没有被清晰地捕捉到——应用程序只是在启动后立即退出——因此我不确定PGU导入的问题出在哪里

import pygame
msg = 'OK'
try:
    from pgu import gui # pass works without error
except Exception as e:
    msg = str(e)

try:
    import android
except ImportError:
    android = None

FPS = 30
WIDTH, HEIGHT = 480, 800

def main():
    pygame.init()
    screen = pygame.display.set_mode((WIDTH, HEIGHT))
    if android:
        android.init()
        android.map_key(android.KEYCODE_BACK, pygame.K_ESCAPE)
    font = pygame.font.Font(None, 24)
    surf = font.render(msg, True, (255, 255, 255))
    pygame.time.set_timer(pygame.USEREVENT, 1000 / FPS)
    while True:
        ev = pygame.event.wait()
        if android:
            if android.check_pause():
                android.wait_for_resume()
        if ev.type == pygame.USEREVENT:
            screen.fill((0, 0, 0, 255))
            screen.blit(surf, (10, 400))
            pygame.display.flip()
        elif ev.type == pygame.QUIT or (ev.type == pygame.KEYDOWN and
                                        ev.key == pygame.K_ESCAPE):
            break
    pygame.quit()

if __name__ == "__main__":
    main()

最近读过这篇文章,但还没试过。看起来您需要将要导入的其他模块复制到应用程序目录中。