【发布时间】:2017-09-29 06:10:52
【问题描述】:
我正在使用 python3 和 pygame 开发我的非常简单的游戏项目,这是我可能添加的第一个游戏项目,我正在尝试生成一个每 X 秒从屏幕上掉下来的块。该块是一个类对象(出于多种原因),我只是无法掌握创建新对象的概念以及以后如何调用它们的函数。我显然不能只调用block1,block2,block3...等名称的1000个对象,那么我该如何处理这个问题呢?
这是我正在运行的一个非常简单的游戏循环:
player = Player()
block = Block()
gameExit = False
while not gameExit:
dt = clock.tick(fps)
timePassed += dt
gameDisplay.fill(black)
player.update()
block.update()
blockspawner = (4 / velocity) * 1000
velocity += 0.001
if timePassed > blockspawner:
#this is where i'd create my new Block() object
timePassed = 0
pygame.display.update()
对于这个问题,有没有我还没有听说过的非常简单的解决方案?
【问题讨论】:
-
block是一个类实例,Block是一个类对象。 (类在 Python 中 是 对象,everything 是一个对象)。 -
但是,我不确定您所说的“创建无限对象”是什么意思。您无法创建无限对象。你只有有限的内存,所以对象的数量必然是有限的。我认为您只需要使用 容器。
-
@juanpa.arrivillaga 我会说
itertools.repeat(0)是一个无限对象。 -
这个问题需要的帮助比我们所能提供的更多。我们喜欢帮助别人,但有时您需要先通过阅读有关语言的书籍、在线文档或询问您认识的人来帮助自己。一旦您更好地理解了这个主题,我们邀请您编辑这个问题,修正明显的错误,然后重新打开它。
-
您已经确定了基本问题:您还不知道如何处理序列、类、对象、方法等。找到关于这些主题的有用教程。当你在编码中遇到更具体的问题时回来;我们会在这里。
标签: python python-3.x pygame python-3.5