什么是'好',非平凡的Pygame教程?
我意识到好是相对的.作为一个例子,一个好的(对我来说)是描述如何使用pygame.camera的那个.它的
我想找别人.Pygame网站上的很多都来自1.3时代或更早!
有关项目的信息,如Gloss也很受欢迎.
(如果你的回答是"阅读一些pygame游戏的来源",请链接到特定游戏的来源,并注意它们的优点)
我在Pygame中写了一个简单的自上而下的RPG,我发现它很慢......虽然我不希望python或pygame匹配用C/C++或事件Byte Compiled等编译语言制作的游戏的FPS像Java一样,但目前的pygame的FPS仍然是15.我尝试渲染16色Bitmaps而不是PNG或24位图,这略微提高了速度,然后在绝望中,我将所有内容切换为黑白单色位图,使FPS达到35.但不是更多.现在根据我读过的大多数游戏开发书籍,为了让用户对游戏图形完全满意,2d游戏的FPS至少应该是40,那么有什么方法可以提高pygame的速度吗?
每次运行此程序时,都会收到此错误:
ValueError: list.remove(x): x not in list
我试图降低一个外星人的生命值,只要它被一个螺栓击中.如果这个外星人的健康状况也应该被摧毁<= 0.同样,螺栓也会被摧毁.这是我的代码:
def manage_collide(bolts, aliens):
    # Check if a bolt collides with any alien(s)
    for b in bolts:
        for a in aliens:
            if b['rect'].colliderect(a['rect']):
                for a in aliens:
                    a['health'] -= 1
                    bolts.remove(b)
                    if a['health'] == 0:
                        aliens.remove(a)
    # Return bolts, aliens dictionaries
    return bolts, aliens
在ValueError上线情况aliens.remove(a).只是为了澄清,字典aliens和bolts列表都是.
我究竟做错了什么?
我花了相当多的时间找到一个64位的pygame安装用于python 3.3,(这里)现在我正在尝试创建一个窗口.但是,虽然窗口打开很好,但是当它按下x按钮时它不会关闭.事实上,我必须关闭IDLE来关闭窗口.我正在运行Win 7的64位版本.这是我的代码:
import pygame
import time
(width, height) = (300, 200)
screen = pygame.display.set_mode((width, height))
pygame.display.flip()
pygame.display.set_caption("Hello World")
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
当我追加
time.sleep(5)
pygame.quit()
它仍然没有关闭.我唯一的猜测是pygame.quit可能会进入其中一个循环,但即使已经解决了,我也非常希望能够在我想要的时候关闭窗口.
我只是想知道我是否有可能在Pygame中获得显示器的分辨率,然后使用这些尺寸创建一个窗口,以便启动程序检测显示器分辨率,然后自动将窗口全屏显示在屏幕上.
我目前正在使用pygame.display.set_mode((AN_INTEGER, AN_INTEGER))创建窗口.我知道您可以获取视频信息,包括使用的显示器分辨率,pygame.display.Info()但我如何提取这些值,然后在pygame.display.set_mode()???中使用它们?
提前谢谢,Ilmiont
是否有任何好的GUI支持Pygame表面作为应用程序中的小部件?
如果这不可行或不实用,哪个GUI工具包具有最佳图形组件?我希望通过SDL包装器保持快速渲染.
如何捕获和保存一系列图像或pygame屏幕的视频?
基本上我想在youtube上分享我的游戏视频.另外,想要制作一个教程.
游戏主要在循环中呈现:
def main():
    while True:
        GetInput()
        Move()
        Shift()
        Draw()
随着Draw()功能在做blit()之前做了所有的事情pygame.display.flip()
我正在尝试使用Python3在我的Mac OS 10.6.8上安装Pygame.我正在尽力遵循这里的说明:http://florian-berger.de/en/articles/installing-pygame-for-python-3-on-os-x
直到这一步,一切似乎都很顺利:
brew install sdl sdl_image sdl_mixer sdl_ttf smpeg portmidi
然后它失败了"没有可用的smpeg公式".如果我尝试,我会得到同样的错误:
brew install smpeg
我查看了/ usr/local/Library/Formula,实际上它并不存在.
前进的聪明方法是什么?*查找,安装和修复旧配方?*使用另一种安装smpeg的方法?*与Homebrew相比,有更聪明的方法来安装Pygame吗?
我很欣赏有关采取方法的指导,以及有关如何将其解决方法的帮助链接.我有点达到我的系统管理技能的极限.
谢谢!
注意:我链接到的指令(使用直线点,前面没有特殊路径),加上下面选择的答案和我的评论,导致Pygame在Python 2.7中工作.我很高兴.稍后我会弄清楚如何在Python3中完成这项工作,但是现在这是一个非常可靠的胜利.
我正在使用Pygame来绘制一些东西.问题是它们有很多别名边缘:

我想让它们更柔和,像这样:

到目前为止,我的想法是绘制双倍大小的形状,然后使用
pygame.transform.smoothscale(surf, (w/2, h/2))
把它缩小到我想要的尺寸.
不幸的是,如果我在透明表面上绘制我的形状,平滑刻度会使触摸透明像素的边缘变黑!
我想知道是否有人可以给我详细说明如何在Android手机上运行使用Pygame开发的游戏/应用程序.我最近完成了对PacMan的编程,它在我的计算机上完美运行,但我认为如果我可以在手机上运行它会很棒.我尝试按照http://pygame.renpy.org/android-packaging.html上的说明操作,但每次我在IDLE上运行"import android"时,我都会收到错误消息,说它没有找到模块.有人可以清楚地解释如何设置Android模块吗?
另外,在我的程序中,我使用了if(event.key == K_UP或event.key == K_w)等代码:direction = UP.但是手机上没有箭头键.我需要使用什么代码来查看用户是否用手指向上滑动屏幕 - >向下或向左 - >向右等.
任何帮助都会很棒.谢谢<3
pygame ×10
python ×9
android ×1
antialiasing ×1
dictionary ×1
dimensions ×1
frame-rate ×1
graphics ×1
homebrew ×1
list ×1
performance ×1
python-2.7 ×1
python-3.x ×1
resolution ×1
window ×1