标签: pygame

Pygame程序挂在退出

我现在正在修补pygame,当我试图关闭它时,似乎我用它制作的所有小程序都会挂起.

请使用以下代码,例如:

from pygame.locals import *
pygame.init()
# YEEAAH!
tile_file = "blue_tile.bmp"
SCREEN_SIZE = (640, 480)
SCREEN_DEPTH = 32

if __name__ == "__main__":
    screen = pygame.display.set_mode(SCREEN_SIZE, 0, SCREEN_DEPTH)
    while True:
        for event in pygame.event.get():
            if event.type == QUIT:
                break

    tile = pygame.image.load(tile_file).convert()
    colorkey = tile.get_at((0,0))
    tile.set_colorkey(colorkey, RLEACCEL)

    y = SCREEN_SIZE[1] / 2
    x = SCREEN_SIZE[0] / 2

    for _ in xrange(50):
        screen.blit(tile, (x,y))
        x -= 7
        y -= 14
Run Code Online (Sandbox Code Playgroud)

我没有看到代码有什么问题,它工作(忽略瓦片在正确的位置没有blit的事实),但是没有回溯,关闭它的唯一方法是在任务管理器中杀死python进程.任何人都可以发现我的代码有问题吗?

python pygame

10
推荐指数
2
解决办法
6883
查看次数

像哈克尔一样的Pygame?

我试图在Haskell编程游戏.我一直在为这个目的寻找游戏框架,但我发现了一些,我不能让它们工作:/.我需要的是pygames在python中提供的一些图像处理,如移动图像,使用布局将一个图像放在其他图像之上,以及这些基本的东西.你碰巧认识任何人吗?

haskell pygame image

10
推荐指数
1
解决办法
414
查看次数

是否可以在浏览器中运行pygame或pyglet?

我的PC上安装了3个游戏库:pyglet,pygame和Panda3D.

我想创建一个2D游戏,并使其成为一个网络浏览器游戏,所以我可以把它放在Facebook上.

我知道Panda3D有一个网络浏览器插件.Panda3D的是3D游戏为主.

因此,我问,是否可以在浏览器中播放pygletpygame游戏?如果没有,你推荐什么Python库?

python pygame pyglet activepython python-2.7

10
推荐指数
2
解决办法
2万
查看次数

如何在pygame中使用gfx

我有一个pygame游戏,我想使用pygame.gfxdraw.aacricle(),但每当我这样做时都会给我一个错误:

AttributeError:'module'对象没有属性'gfxdraw'

如何为python 2.7安装gfx?

python pygame gfx

10
推荐指数
1
解决办法
4104
查看次数

几张图片的动画精灵

我一直在寻找一些关于使用Pygame从Python中的少量图像制作简单精灵动画的好教程.我还没有找到我正在寻找的东西.

我的问题很简单:如何从少量图像制作动画精灵(例如:制作几张爆炸图像,尺寸为20x20px,为一个但动画)

有什么好主意吗?

python animation pygame sprite

10
推荐指数
2
解决办法
4万
查看次数

由于系统Python 2.7的要求,即使我有Python 2.7,Pygame安装也会失败

我正在尝试在我的mac上安装pygame但是我收到了错误

pygame 1.1release无法安装在此磁盘上.

pygame需要安装System Python 2.7

pygame需要安装System Python 2.7

我正在运行python 2.7

$ which python
/usr/bin/python
$ python --version
Python 2.7.5
Run Code Online (Sandbox Code Playgroud)

我从http://pygame.org/download.shtml下载了pygame 并选择了文件pygame-1.9.1release-python.org-32bit-py2.7-macosx10.3.dmg我正在运行osx 10.9.1

为什么我在运行Python 2.7时收到此错误,如何在mac上成功安装pygame?

python macos pygame python-2.7

10
推荐指数
1
解决办法
4676
查看次数

使用numpy在Pygame中进行更高效的风洞模拟

我是一名航空航天学生,正在为我们的python编程课程学习项目.赋值是仅使用Pygame和numpy创建程序.我决定创建一个模拟二维机翼上气流的风洞模拟.我想知道是否有更有效的方法从编程角度进行计算.我会解释一下这个程序:

我在这附上了一张图片: 在此输入图像描述

(稳定)流场使用涡旋面板方法建模.基本上,我使用Nx乘Ny点的网格,其中在每个点给出速度(u,v)向量.然后使用Pygame我将这些网格点映射为圆圈,这样它们就像一个影响区域.网格点是下图中的灰色圆圈:

在此输入图像描述

我创建N个粒子并通过迭代确定它们的速度如下:

创建一个粒子列表.
创建一个网格列表.

对于网格列表中的每个网格点:
  对于粒子列表中的每个粒子:
  如果粒子A在网格点n(xn,yn)的影响区域内:
   粒子A,其速度=网格点n处的速度.

在Pygame中可视化所有内容.

这种基本方式是我能想到在Pygame中可视化流程的唯一方法.模拟效果很好,但如果我增加网格点的数量(增加流场的精度),性能会下降.我的问题是,如果有一个更有效的方法来做这个只是使用pygame和numpy?

我在这里附上了代码:

import pygame,random,sys,numpy
from Flow import Compute
from pygame.locals import *
import random, math, sys
#from PIL import Image
pygame.init()

Surface = pygame.display.set_mode((1000,600))

#read the airfoil geometry from a dat file
with open ('./resources/naca0012.dat') as file_name:
    x, y = numpy.loadtxt(file_name, dtype=float, delimiter='\t', unpack=True)    

#parameters used to describe the flow

Nx=30# 30 column grid
Ny=10#10 row grid
N=20#number of panels
alpha=0#angle of attack
u_inf=1#freestream velocity

#compute the flow field …
Run Code Online (Sandbox Code Playgroud)

python pygame numpy fluid-dynamics

10
推荐指数
1
解决办法
873
查看次数

如何更改Pygame窗口的名称?

我试图将pygame窗口的名称从"Pygame Window"更改为"test caption".我试过了:

pygame.display.set_caption('test caption')
Run Code Online (Sandbox Code Playgroud)

但我不认为这是正确的剧本.

python pygame

10
推荐指数
2
解决办法
8535
查看次数

Can't install pygame with pip as there is an error whilst runningvsetup.py bdist_wheel for pygame

I am trying to install pygame for Python 3 on an anaconda install.

I run pip install pygame, and it outputs the following:

Collecting pygame
  Using cached pygame-1.9.3.tar.gz
Building wheels for collected packages: pygame
  Running setup.py bdist_wheel for pygame ... error
  Complete output from command //anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/s0/514rk5j90q90x4s8n48ry7wc0000gn/T/pip-build-2n_0kk3y/pygame/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /var/folders/s0/514rk5j90q90x4s8n48ry7wc0000gn/T/tmpybu68q2lpip-wheel- --python-tag cp35:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.6-x86_64-3.5
  creating build/lib.macosx-10.6-x86_64-3.5/pygame
  copying lib/__init__.py -> build/lib.macosx-10.6-x86_64-3.5/pygame
  copying lib/_camera_opencv_highgui.py …
Run Code Online (Sandbox Code Playgroud)

python macos pygame pip anaconda

10
推荐指数
2
解决办法
6539
查看次数

如何知道两点之间的角度?

我正在用pygame制作小游戏,我制作了一支围绕其中心旋转的枪.我的问题是我希望枪自己向敌方方向旋转,但是我不能这样做因为我找不到枪和敌人之间的角度让枪旋转到它我已经搜索过了我发现我必须使用atan2但我没有找到任何正常工作的代码所以我希望有人可以帮助我.

这是我的代码:

import pygame
from pygame.locals import*
pygame.init()
height=650
width=650
screen=pygame.display.set_mode((height,width))
clock=pygame.time.Clock()
gun=pygame.image.load("m2.png").convert_alpha() 
gun=pygame.transform.smoothscale(gun,(200,200)).convert_alpha()
angle=0
angle_change=0
RED=(255,0,0)
x=525
y=155
while True :
    screen.fill((150,150,150))
    for event in pygame.event.get():
        if event.type==QUIT:
            pygame.quit()
            quit()
        if event.type==KEYDOWN:
            if event.key==K_a:
                angle_change=+1
            if event.key==K_d:
                angle_change=-1
        elif event.type==KEYUP:
            angle_change=0
    angle+=angle_change
    if angle>360:
        angle=0
    if angle<0:
        angle=360
    pygame.draw.rect(screen,RED,(x,y,64,64))
    position = (height/2,width/2)
    gun_rotate=pygame.transform.rotate(gun,angle) 
    rotate_rect = gun_rotate.get_rect()
    rotate_rect.center = position
    screen.blit(gun_rotate, rotate_rect)
    pygame.display.update()
    clock.tick(60) 
Run Code Online (Sandbox Code Playgroud)

这是一张试图说清楚的图片:

在此输入图像描述

谢谢.

python math pygame angle

10
推荐指数
3
解决办法
3万
查看次数