def __init__(self, position, targetScene, targetPosition): super().__init__() self.setType("teleportation") self.uniqid = uuid.uuid4() self.action = ActionDispatcher(self.uniqid, position[0], position[1]) self.receiver = ActionReceiver(self.uniqid) self.receiver.on(self.doTeleport) texture = Image("assets/icons/door.png") texture.setSize(64, 64) texture.setOffsetPosition(93, 300) texture.setDepth(101) self.assignDrawable(texture) self.setPosition(position[0], position[1]) self.targetScene = targetScene self.targetPosition = targetPosition Render.set(texture)
def __init__(self, direction="right", speed=2, characterName=None): super().__init__() self.setType("character") self.direction = direction self.walking = True self.speed = speed self.reachBorder = False self.characterName = characterName self.dialogStarted = False self.assignedDialog = None # assign a action dispatcher on the character self.uniqid = uuid.uuid4() self.functionsToCallWhenAction = [] self.dispatcher = ActionDispatcher(self.uniqid, 0, 0) self.receiver = ActionReceiver(self.uniqid) self.receiver.on(self.callFunctions) # character texture self.sprites = { "walking": Sprite("assets/characters/" + characterName + "/walking.png"), "static": Sprite("assets/characters/" + characterName + "/static.png") } # sprite settings self.sprites['walking'].setSpeed(6) self.sprites['walking'].setSize(256, 256) self.sprites['static'].setSpeed(1) self.sprites['static'].setSize(256, 256) self.setSize(256, 256) self.assignDrawable(self.sprites['static']) self.setDepth(50) characters.append(self)