当前位置: 首页>>代码示例>>Python>>正文


Python Sprite.gx方法代码示例

本文整理汇总了Python中pyglet.sprite.Sprite.gx方法的典型用法代码示例。如果您正苦于以下问题:Python Sprite.gx方法的具体用法?Python Sprite.gx怎么用?Python Sprite.gx使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pyglet.sprite.Sprite的用法示例。


在下文中一共展示了Sprite.gx方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: loadmap

# 需要导入模块: from pyglet.sprite import Sprite [as 别名]
# 或者: from pyglet.sprite.Sprite import gx [as 别名]
    def loadmap(self):

        tw = self.tmx_data.tilewidth
        th = self.tmx_data.tileheight
        mh = self.tmx_data.height - 1
        draw_rect = self.draw_rect
        draw_lines = self.draw_lines
        offset_x, offset_y = 0, 0

        rect_color = (255, 0, 0)
        poly_color = (0, 255, 0)

        for l in self.tmx_data.layers:
            if isinstance(l, TiledTileLayer) and l.name == "Obstacles":
                logging.debug("Removing obstacles from game grid.")
                for x, y, image in l.tiles():
                    self.window.game.tiles_no_walk.append((x, y))
                    self.window.game.tiles_no_build.append((x, y))
            elif isinstance(l, TiledTileLayer) and l.name == "Flightpath":
                logging.debug("Fligh path included in map, importing.")
                self.window.game.flightgrid = []
                for x, y, image in l.tiles():
                    self.window.game.flightgrid.append((x, y))

        for layer in self.tmx_data.visible_layers:
            nw, nb = False, False   # nowalk, nobuild
            spawn, goal = False, False
            if layer.name == "Background":
                batch = self.window.batches["bg1"]
            elif layer.name == "Background2":
                batch = self.window.batches["bg2"]
            elif layer.name == "Obstacles":
                batch = self.window.batches["obs"]
                # nw, nb = True, True
            elif layer.name == "Spawn":
                batch = self.window.batches["obs"]
                nb = True
                spawn = True
            elif layer.name == "Goal":
                batch = self.window.batches["obs"]
                nb = True
                goal = True
            elif layer.name == "Foreground":
                batch = self.window.batches["fg"]
            else:
                logging.error("Layer not recognized, skipping {0}".format(
                        layer.name
                    )
                )
                break
            # draw map tile layers
            if isinstance(layer, TiledTileLayer):
                if not layer.name == "Obstacles":
                    # iterate over the tiles in the layer
                    for x, y, image in layer.tiles():
                        if nw:
                            self.window.game.tiles_no_walk.append((x, y))
                        if nb:
                            self.window.game.tiles_no_build.append((x, y))
                        gx, gy = x, y
                        y = mh - y
                        x = x * tw
                        y = y * th
                        x += offset_x
                        y += offset_y
                        # image.blit(x * tw, y * th)
                        image = center_image(image)
                        sprite = Sprite(image, batch=batch, x=x, y=y)
                        sprite.imagelayer = False
                        sprite.gx, sprite.gy = gx, gy
                        self.sprites.append(sprite)
                        if spawn:
                            self.window.game.spawn = (gx, gy)
                        elif goal:
                            self.window.game.goal = (gx, gy)

            # draw object layers
            elif isinstance(layer, TiledObjectGroup):

                # iterate over all the objects in the layer
                for obj in layer:
                    logging.info(obj)

                    # objects with points are polygons or lines
                    if hasattr(obj, 'points'):
                        draw_lines(poly_color, obj.closed, obj.points, 3)

                    # some object have an image
                    elif obj.image:
                        # obj.image.blit(obj.x, pixel_height - obj.y)
                        sprite = Sprite(image, batch=batch, x=x * tw, y=y * th)

                    # draw a rect for everything else
                    else:
                        draw_rect(rect_color,
                                  (obj.x, obj.y, obj.width, obj.height), 3)

            # draw image layers
            elif isinstance(layer, TiledImageLayer):
                if layer.image:
#.........这里部分代码省略.........
开发者ID:NiclasEriksen,项目名称:rpg_procgen,代码行数:103,代码来源:tiles.py


注:本文中的pyglet.sprite.Sprite.gx方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。