Example #1
0
	def __init__(self, x, y):

		self.x = x * Globals.block_size
		self.y = y * Globals.block_size

		self.h = 2 * Globals.block_size
		self.y -= self.h

		self.flag = BaseEntity()

		self.flag.w = self.scale_relative(9)
		self.flag.h = self.scale_relative(6)

		self.flag.x = self.x
		self.flag.y = self.y + self.h - self.flag.h
		self.flag.is_animated = False
		self.flag.graphic_images = [
			self.img_load("props/t_flag.png"),
			self.img_load("props/flag.png"),
			self.img_load("props/16_flag.png")
		]
		self.flag.facing_left = True
		self.flag.is_static = True
		self.flag.resize_images()

		self.flag_speed = 300

		self.pole = BaseEntity()

		self.pole.x = self.flag.x + self.flag.w
		self.pole.y = self.y

		self.pole.w = self.scale_relative(2)
		self.pole.h = self.h
		self.pole.is_animated = False
		self.pole.graphic_images = [
			self.img_load("props/t_pole.png"),
			self.img_load("props/pole.png"),
			self.img_load("props/16_pole.png")
		]
		self.pole.is_static = True
		self.pole.resize_images()

		self.is_static = True

		self.hitboxes = []

		self.add_hitbox(x=-11, y=0, w=2, h=32)
Example #2
0
class Checkpoint (BaseEntity):

	flag = None

	flag_risen = False
	flag_rising = False

	flag_speed = None

	def __init__(self, x, y):

		self.x = x * Globals.block_size
		self.y = y * Globals.block_size

		self.h = 2 * Globals.block_size
		self.y -= self.h

		self.flag = BaseEntity()

		self.flag.w = self.scale_relative(9)
		self.flag.h = self.scale_relative(6)

		self.flag.x = self.x
		self.flag.y = self.y + self.h - self.flag.h
		self.flag.is_animated = False
		self.flag.graphic_images = [
			self.img_load("props/t_flag.png"),
			self.img_load("props/flag.png"),
			self.img_load("props/16_flag.png")
		]
		self.flag.facing_left = True
		self.flag.is_static = True
		self.flag.resize_images()

		self.flag_speed = 300

		self.pole = BaseEntity()

		self.pole.x = self.flag.x + self.flag.w
		self.pole.y = self.y

		self.pole.w = self.scale_relative(2)
		self.pole.h = self.h
		self.pole.is_animated = False
		self.pole.graphic_images = [
			self.img_load("props/t_pole.png"),
			self.img_load("props/pole.png"),
			self.img_load("props/16_pole.png")
		]
		self.pole.is_static = True
		self.pole.resize_images()

		self.is_static = True

		self.hitboxes = []

		self.add_hitbox(x=-11, y=0, w=2, h=32)

	def update(self):

		if self.check_for_collision(Globals.player):
			Globals.player.checkpoint = self
			self.flag_rising = True

		if self.flag_rising:
			self.flag.y -= self.flag_speed * self.delta_time

			if self.flag.y <= self.pole.y:
				self.flag_rising = False
				self.flag_risen = True
				self.flag.y = self.pole.y

		self.render()

	def render(self):

		self.flag.render()
		self.pole.render()

		if Globals.debug:
			for hb in self.hitboxes:
				hb.debug_draw()