我是pygame的新手,并试图制作基于本教程的平台游戏:http://programarcadegames.com/python_examples/show_file.php?file=platform_scroller.py
我不太清楚如何添加移动的敌人,你能帮我吗?
移动敌人是Player
和Platform
对象在您链接到的示例中的工作方式的组合:
-
敌方类是
pygame.sprite.Sprite
的一个子类,与上述两个天体相似。 -
他们必须实现一个类似于
Player
的update()
方法,以定义它们如何在每一帧上移动。查看Player.update()
以获取指导;基本上,以某种方式移动Enemy
的rect
。 -
敌人类的实例应该添加到关卡的
enemy_list
对象(示例代码中已经存在),这意味着它们将在每一帧上更新和绘制。这类似于构造函数Level_0x
Platform
实例添加到关卡的platform_list
变量中的方式。
简而言之,这看起来像:
class Enemy(pygame.sprite.Sprite):
def __init__(self):
# Set the size, look, initial position, etc. of an enemy here...
pass
def update(self):
# Define how the enemy moves on each frame here...
pass
class Level_01(Level):
def __init__(self, player):
# platform code already in example goes here...
# Add two enemies to the level
self.enemy_list.add(Enemy())
self.enemy_list.add(Enemy())