【问题标题】:Pygame Color - Invalid Argument when using StringPygame Color - 使用字符串时参数无效
【发布时间】:2016-05-05 07:19:25
【问题描述】:

我目前正在从一个文本文件中加载一个颜色值,而 pygame 给我带来了错误。它在我的 Windows 计算机上运行良好,但在我的 Linux 上却没有相同的代码。下面是一个例子,说明这段代码在搞什么恶作剧:

color = getSetting('playerColor')  //reads a .ini from SafeConfigParser
print color                        //prints: #f54e4e
print pygame.Color('#f54e4e')      //prints: (245, 78, 78, 255)
print pygame.Color(color)          //throws invalid argument error

这种仅限于 linux 的性质使我相信它与编码有关。如果导入了未来的 unicode_literals,我听说 pygame.Color 会中断,但事实并非如此。我在 python 2.7,pygame 1.9.1

我尝试直接传递的任何字符串似乎都可以正常工作。

【问题讨论】:

    标签: python colors pygame


    【解决方案1】:

    color 可能不是str 而是unicode 对象。试试

    print pygame.Color(str(color))
    

    你可以通过打印typecolor对象来调试它:

    print type(color)
    

    【讨论】:

    • 这确实看起来像问题,有什么原因为什么我的 SafeConfigParser 之前工作正常并返回一个字符串,但后来突然开始给我一个 Unicode 对象?
    • 只是一个疯狂的猜测,但它可能与您已经建议的编码有关。看到这个问题:stackoverflow.com/questions/1648517/…
    猜你喜欢
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多