Exemplo n.º 1
0
 def loadTiles(self, groupname, group):
     tiles = self.tiled_map.get_layer_by_name(groupname)
     for x, y, image in tiles:
         if image != 0:
             temp = pyglet.sprite.Sprite(self.tiled_map.images[image], batch=self.batch, group=group)
             temp.x = x * 32
             temp.y = pytmxutil.transformY(y, self.height, self.tiled_map.tileheight)
             self.sprites.append(temp)
    def checkWorldCollision(self, entity):
        collisionLayer = self.level.tiled_map.get_layer_by_name("collision")

        relevantbb = entity.getBoundingBox()
        relevantbb.addBox(BoundingBox(entity.x + (entity.speedX / self.fps), entity.y + (entity.speedY / self.fps), entity.width, entity.height))

        for x, y, image in collisionLayer:
            if image == 0:
                continue

            tile = BoundingBox(x * self.level.tiled_map.tilewidth, pytmxutil.transformY(y, self.level.window.height, self.level.tiled_map.tileheight), self.level.tiled_map.tilewidth, self.level.tiled_map.tileheight)
            
            if relevantbb.overlaps(tile): 
                self.checkCollicionWithTile(entity, tile)