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)