我正在尝试做一个使用pygame的游戏,我需要一些角色来左右移动。为此,每次用户按住“左”按钮时,我会再次绘制背景图像,并将字符绘制到其先前位置的左侧一点,当他按住“右”按钮时,我会执行类似的操作。问题是图像的加载速度不够快。例如,当我运行代码并按住“左”键时,精灵确实向左移动,但它似乎消失了很短的时间(大约0.2秒),并且移动不连续(我说精灵消失了,我的意思是有一段时间我可以“暂停”屏幕,只看到背景图像,而不是精灵)。我希望运动是连续的,因为它现在看起来并不好。我试着更新我的时钟节拍,但为了让精灵不断移动,它必须移动得非常慢,我也不想这样。下面是我的代码:
run = True
while
这里的第一篇文章。所以我正在尝试实现一个文明类型的运动游戏。目前,我在一个单元格中有一个精灵。我可以单击它,然后如果我单击另一个网格,精灵就会移动到那里。我现在想要的是产生5-6个这样的精灵,然后做同样的事情。单击一个精灵,然后单击另一个栅格,该特定的精灵将移动到那里,而不会影响其他精灵。我似乎不能这样做。我可以在不同的网格中产生5-6个随机的精灵,但是当我点击其中一个然后点击另一个网格时,所有其他的精灵都消失了。代码如下(不是最好的,因为我正在学习Pygame)。我知道我必须以某种方式只更新点击的精灵,但我不确定如何做到这一点。
import pygame
import random
WI
我正在用Pygame做一个简单的模拟。开始时,我需要创建20个对象,并将这些对象随机放置在游戏窗口的边缘,不包括顶部边缘。SingleCell类管理对象并定义sprites的随机起始位置。
然后在主模拟类中调用这个类来创建20个精灵,并将它们添加到一个组中:
def _create_cell(self):
"""Create a single sprite and add it to group"""
for cell in range(0,self.settings.cell_count):
我正在通过做一个小项目来练习我的小游戏技巧。在它里面,它会在屏幕上显示一张背景图片。然后,它将使用一个名为takes的列表,如果列表中的项是1,它将打印一个士兵,如果是0,它将跳过一个空格。然而,当我运行代码时,它先是背景,然后是精灵,然后是精灵消失。我想让我的精灵在for循环结束后留在屏幕上。下面是for循环部分:
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.blit(background_im
我正在尝试用pygame制作一个游戏,我有一个角色,一个精灵,当我按下箭头键时,它就会移动。问题是,当我不断向上移动,然后向下移动时,精灵慢慢地向上移动。我不知道这是否有意义,但基本上我将一个精灵700/12像素向上移动,然后再向下移动,但在我将其向下移动后,它最终会比以前略高。 ` if direction == "up":
character.rect.bottom -= 700/12
elif direction == "down":
character.rect.bottom += 700/12
el
我正在创造一个3D,第一人迷宫游戏在团结。游戏的目标是在时间结束之前到达迷宫的另一边。为了使游戏有趣,每一轮玩家开始迷宫地图随机生成墙壁,所以每个迷宫都是独一无二的,所以玩家不能记住一条路径。我决定要做的是建立这样的墙格.
(假设线是墙,每一段都是一个单独的墙壁对象)
当玩家开始的时候,每个墙段都有消失的机会,所以想象一下这个网格会变成这样的东西。
我该怎么做?我将使用C#。基本上,我想墙壁变成无形,并通过如果它被选择“消失”。算法将是
game starts
probability that wall will disappear = 1/3;
wall disappea
如何从pygame精灵中的一组图像中获取图像?到目前为止,我得到了以下结论:
for i in range(1,3):
img = pygame.image.load("house"+str(i)+".png").convert()
img.set_colorkey(white)
self.images.append(img)
但我不太确定如何从图像列表中随机收集图像。我该怎么做呢?如果可能,我如何使图像列表中的图像出现在pygame窗口上的概率为1/10?Python 2.6、Pygame、windows 7
我制作了一个30x30像素的精灵。它一直在屏幕的右边,我知道它和速度有关
我也试过从w中减去player.vel,但不起作用。
h = 550
w = 360
win = pygame.display.set_mode((w,h))
以下是我的条件语句:
if key[pygame.K_a] and player.x > 0:
player.x -= player.vel
if key[pygame.K_d] and player.x < w - 30:
player.x += player.vel
player.vel等于20
我需要我的精灵在屏
我是python的新手,而且我正在制作我的第一个游戏,所以我可能遗漏了一些明显的东西。我能够在命令提示符下使用pip方法安装pygame,并在我的程序开始时编写了import pygame。一切都很好,直到我试着做一个精灵。它没有显示在屏幕上,所以我看了他写"from pygame_functions this video“的地方。但是,当我尝试这样做时,它会出现在命令行中 no module named pygame_functions。 如何获取pygame_functions?这有必要吗?提前谢谢你。
我正在用Pygame做一个游戏,游戏中的一些角色出现在屏幕的一边,然后移动到另一边,在那里他们传送到他们开始的地方,然后再做一次。我希望精灵一次出现一个,在它们产卵之间有一个随机的时间增量。我已经为精灵创建了一个类,并将它们放在一个叫做“怪物”的组中。我的this命令看起来像这样:
for monster in monsters:
monster.render(screen)
time.sleep(0.5)
这样做的目的是让屏幕变黑,直到所有的怪物都生出来。我希望它们一次产生一个,让玩家能够看到这一点。下面是上面代码所在的整个类:
import
我有一个函数,它加载一个精灵工作表,找到一个精灵块,然后把每个精灵放到一个列表中。在将雪碧添加到列表之前,它会将其添加到屏幕上。一旦它完成了加载精灵,它就会遍历列表,在运行过程中闪动每一个精灵。这两组blits应该是相同的,但是第一个sprite被从列表中删除,最后一个sprite被复制。这两套blits如下所示:
每个精灵按其附加到列表的顺序进行裁剪,从左到右,从上到下,所以第一个雪碧是左上角,最后一个是右下角。
下面是加载精灵的函数:
def assembleSprites(name, screen):
"""Given a character n
我在理解colliderect如何与精灵一起工作时遇到了一些麻烦。我对它有一个很好的想法,但是每当我尝试将它实现到我的游戏中时,我都会收到错误消息"attributeError:'pygame.surface‘object has no attribute 'rect'“
ufo_lvl_1 = pygame.image.load("ufo1.png")
bullet = pygame.image.load("bullet.png")
class Bullet(pygame.sprite.Sprite):
def _