コード例 #1
0
 def __init__(self, gameWindow, mainBatch, backgroundGroup,
              middlegroundGroup, foregroundGroup):
     self.mainBatch = mainBatch
     self.backgroundGroup = backgroundGroup
     self.middlegroundGroup = middlegroundGroup
     self.foregroundGroup = foregroundGroup
     #背景图与方框
     self.background = pyglet.sprite.Sprite(img=Resources.background_image,
                                            x=0,
                                            y=0,
                                            batch=mainBatch,
                                            group=backgroundGroup)
     x1 = GameConfig.basePoint[0]
     y1 = GameConfig.basePoint[1]
     ww = GameConfig.maxX * GameConfig.defaultImageWidth
     hh = GameConfig.maxY * GameConfig.defaultImageHeight
     self.rect_vertex_list = mainBatch.add(
         4, pyglet.gl.GL_LINE_LOOP, middlegroundGroup,
         ('v2f', (x1, y1, x1 + ww, y1, x1 + ww, y1 + hh, x1, y1 + hh)),
         ('c3B', GameConfig.rectColor * 4))
     #整体文本信息
     self.msg_label = pyglet.text.Label(text="Welcome!",
                                        x=GameConfig.msg1_x,
                                        y=GameConfig.msg1_y,
                                        batch=mainBatch,
                                        group=middlegroundGroup,
                                        color=GameConfig.textColor,
                                        font_size=GameConfig.textSize)
     #初始食物
     self.bread = GameObject.Bread(GameConfig.firstFood, self.mainBatch,
                                   middlegroundGroup)
     #障碍物们
     self.walls = Walls(mainBatch, middlegroundGroup)
     self.walls.newWalls(GameConfig.logicMap)
     #蛇
     self.snake = Snake(mainBatch, middlegroundGroup)
     self.snake.newSnake(GameConfig.startPoint, GameConfig.startDirection)
     gameWindow.push_handlers(self.snake)
     #飘过的云
     self.clouds = Clouds(mainBatch, foregroundGroup)