Beispiel #1
0
class Button(Entity):
	def __init__(self, x=0, y=0, callback=None, *args, **kwargs):
		Entity.__init__(self, x, y)
		self._map = None
		self._callback = callback
		self._args = args
		self._kwargs = kwargs

	def update(self):
		if not self.world:
			return

		if self.collide_point(self.x - self.world.camera.x, self.y - self.world.camera.y, Input.mouse_x, Input.mouse_y):
			if Input.mouse_released() and self._callback:
				self._callback(*self._args, **self._kwargs)
			elif Input.mouse_down():
				self._map.play('down')
			else:
				self._map.play('over')
		else:
			self._map.play('up')

	def set_spritemap(self, asset, frame_w, frame_h):
		self._map = Spritemap(asset, frame_w, frame_h)
		self._map.add('up', [0])
		self._map.add('over', [1])
		self._map.add('down', [2])
		self.graphic = self._map
		self.set_hitbox(frame_w, frame_h)
Beispiel #2
0
class GameEntity(Entity):
	def __init__(self):
		Entity.__init__(self)

		self._time_interval = 0
		self.graphic = Spritemap('EntitySheet.png', 40, 20, self.on_animation_end)
		self.graphic.add('Stopped', [0])
		self.graphic.add('Blinking', list(range(10)), 24) 

		Input.define('UP', Key.W, Key.UP)
		Input.define('DOWN', Key.S, Key.DOWN)
		Input.define('LEFT', Key.A, Key.LEFT)
		Input.define('RIGHT', Key.D, Key.RIGHT)

		self.type = 'GameEntity'

		self.graphic.play('Blinking')

	def on_animation_end(self):
		self.graphic.play('Stopped')
		self._time_interval = 0

	def update(self):
		self._time_interval += PP.elapsed
		if self._time_interval >= 3:
			self.graphic.play('Blinking')

		if Input.check('LEFT'):
			self.x -= 50 * PP.elapsed
		if Input.check('RIGHT'):
			self.x += 50 * PP.elapsed
		if Input.check('UP'):
			self.y -= 50 * PP.elapsed
		if Input.check('DOWN'):
			self.y += 50 * PP.elapsed
Beispiel #3
0
	def set_spritemap(self, asset, frame_w, frame_h):
		self._map = Spritemap(asset, frame_w, frame_h)
		self._map.add('up', [0])
		self._map.add('over', [1])
		self._map.add('down', [2])
		self.graphic = self._map
		self.set_hitbox(frame_w, frame_h)
Beispiel #4
0
	def __init__(self):
		Entity.__init__(self)

		self._time_interval = 0
		self.graphic = Spritemap('EntitySheet.png', 40, 20, self.on_animation_end)
		self.graphic.add('Stopped', [0])
		self.graphic.add('Blinking', list(range(10)), 24) 

		Input.define('UP', Key.W, Key.UP)
		Input.define('DOWN', Key.S, Key.DOWN)
		Input.define('LEFT', Key.A, Key.LEFT)
		Input.define('RIGHT', Key.D, Key.RIGHT)

		self.type = 'GameEntity'

		self.graphic.play('Blinking')