def init(self): self.title_img = sf.Texture.load_from_file( bytes(os.path.join("assets", "title.png"), 'UTF-8')) self.logo_img = sf.Texture.load_from_file( bytes(os.path.join("assets", "logo.png"), 'UTF-8')) self.title = sf.Sprite(self.title_img) self.logo = sf.Sprite(self.logo_img) self.logo.position = (575, 0) self.title.position = (740, 8) self.logo.color = sf.Color(255, 255, 255, 1) self.title.color = sf.Color(255, 255, 255, 1) self.fadein = True self.titletime = 0 self.logoalpha = 1 self.done = False self.player_img = sf.Texture.load_from_file( bytes(os.path.join("assets", "you.png"), 'UTF-8')) self.player_sprite = sf.Sprite(self.player_img) self.player_sprite.origin = (self.player_sprite.width / 2, self.player_sprite.height) self.player_sprite.position = (60, 500) self.to_render = [self.title, self.logo, self.player_sprite]
def __init__(self): self.images = { "skip": sf.Texture.load_from_file( bytes(os.path.join("assets", "cursors", "skip.png"), 'UTF-8')), "go": sf.Texture.load_from_file( bytes(os.path.join("assets", "cursors", "go.png"), 'UTF-8')), "left": sf.Texture.load_from_file( bytes(os.path.join("assets", "cursors", "left.png"), 'UTF-8')), "right": sf.Texture.load_from_file( bytes(os.path.join("assets", "cursors", "right.png"), 'UTF-8')), "interact": sf.Texture.load_from_file( bytes(os.path.join("assets", "cursors", "interact.png"), 'UTF-8')), } self.cursor = sf.Sprite(self.images["skip"]) self.current = "skip" self.cursor.origin = (self.cursor.width / 2, self.cursor.height / 2) self._caption = sf.Text(b"", sf.Font.DEFAULT_FONT, 10) self._caption.color = sf.Color.WHITE
def __init__(self, space): super(Level1, self).__init__(space) layer = core.Layer() self.add_layer(layer) self.ground = ground = pm.Body(None, None) ground.position = (400, 25) ground_shape = pm.Poly(ground, [(0, 0), (800,0), (800, 50), (0, 50)]) space.add_static(ground_shape) self.im0 = sf.Texture.load_from_file(b'princess.png') # inert = pm.moment_for_circle(10.0, 50.0, 50.0) for x in range(100, 800, 200): sprite = sf.Sprite(self.im0) sprite.origin = (self.im0.width//2, self.im0.height//2) body = pm.Body(50.0, pm.inf) shape = pm.Circle(body, 50.0) body.position = self.convert_coords((x, 300)) b = pymunk_phy.PymunkBehavior(body, shape) actor = core.Actor(sprite, behavior=b) layer.add_actor(actor) actors = self.layers[0].actors act = actions.Chain([actions.Move(10.0, 400, -50), actions.Rotate(3.0, 360), actions.MoveTo(2.0, 100, 300), actions.MoveTo(10.0, 700, 300)]) actors[0].add_action(act) actors[1].add_action(actions.Move(5.0, -400, -50)) actors[2].add_action(actions.MoveTo(15.0, 80, 180)) act2 = actions.Chain([actions.Pause(5.0), actions.Kill()]) actors[3].add_action(act2)
def __init__(self): super(Level1, self).__init__() layer = core.Layer() view_up, view_down = utils.split_view(game.default_camera, utils.VERTICAL) view_up_l, view_up_r = utils.split_view(view_up, utils.HORIZONTAL) layer.add_camera(view_up_l) layer.add_camera(view_down) self.add_layer(layer) self.speed_x = 100.0 self.speed_y = 50.0 self.im0 = sf.Texture.load_from_file(b'princess.png') for y in range(0, 500, 100): for x in range(0, 800, 100): sprite = sf.Sprite(self.im0) sprite.position = (x, y) layer.add_actor(core.Actor(sprite)) layer2 = core.Layer() view_up_rt, view_up_rb = utils.split_view(view_up_r, utils.VERTICAL, ratio=0.8) layer2.add_camera(view_up_rt) layer2.add_camera(view_up_rb) text = sf.Text('PySFML', sf.Font.DEFAULT_FONT, 32) text.color = sf.Color.BLACK layer2.add_actor(core.Actor(text)) self.add_layer(layer2)
def __init__(self): super(Level1, self).__init__() layer = core.Layer() view_up, view_down = utils.split_view(game.default_camera, utils.VERTICAL) action_h = actions.Repeat( actions.Chain( [actions.Move(5.0, 500, 0), actions.Move(5.0, -500, 0)])) action_v = actions.Repeat( actions.Chain( [actions.Move(8.0, 0, 450), actions.Move(8.0, 0, -450)])) view_up.add_action(action_h) view_up.add_action(action_v) layer.add_camera(view_up) layer.add_camera(view_down) self.add_layer(layer) self.im0 = sf.Texture.load_from_file(b'princess.png') for y in range(0, 500, 100): for x in range(0, 800, 100): sprite = sf.Sprite(self.im0) sprite.position = (x, y) layer.add_actor(core.Actor(sprite))
def __init__(self, im, x, y): im_w2 = im.width // 2 im_h2 = im.height // 2 coll_shape = b2PolygonShape(box=(im_w2, im_h2)) super(Actor1, self).__init__(sf.Sprite(im), shape=coll_shape) self.object.origin = (im_w2, im_h2) self.object.position = (x, y)
def __init__(self, world): super(Level1, self).__init__(world) layer = core.Layer() self.add_layer(layer) self.ground = world.CreateStaticBody(position=(0, -2), shapes=b2.polygonShape(box=(50, 5))) self.im0 = sf.Texture.load_from_file(b'princess.png') for x in range(100, 800, 200): sprite = sf.Sprite(self.im0) sprite.origin = (self.im0.width // 2, self.im0.height // 2) # sprite.position = (x, 300) body = world.CreateDynamicBody() body.linearDamping = 10.0 body.CreateCircleFixture(radius=2.5, density=10.0, friction=0.3) body.position = self.convert_coords_to_b2((x, 300)) body.fixedRotation = True actor = core.Actor(sprite, behavior=box2d.Box2DBehavior(body)) layer.add_actor(actor) actors = self.layers[0].actors act = actions.Chain([ actions.Move(10.0, 400, -50), actions.Rotate(3.0, 360), actions.MoveTo(2.0, 100, 300), actions.MoveTo(10.0, 700, 300) ]) actors[0].add_action(act) actors[1].add_action(actions.Move(5.0, -400, -50)) actors[2].add_action(actions.MoveTo(15.0, 10, 180)) act2 = actions.Chain([actions.Pause(5.0), actions.Kill()]) actors[3].add_action(act2)
def __init__(self, *args): self.interactive = False self.init(*args) self.image = sf.Texture.load_from_file(bytes(self.image_path, 'UTF-8')) self.sprite = sf.Sprite(self.image) self.sprite.origin = (self.sprite.width / 2, self.sprite.height) self.sprite.position = (args[0], 500) self.postinit()
def init(self, win, messages=None): if win: messages = ["Well done, you managed to"] self.player_img = sf.Texture.load_from_file( bytes(os.path.join("assets", "drink.png"), 'UTF-8')) else: self.player_img = sf.Texture.load_from_file( bytes(os.path.join("assets", "you.png"), 'UTF-8')) self.player_sprite = sf.Sprite(self.player_img) self.player_sprite.origin = (self.player_sprite.width / 2, self.player_sprite.height) self.player_sprite.position = (60, 500) msg_texts = [] i = 0 for message in messages: i = i + 40 text = sf.Text(message, sf.Font.DEFAULT_FONT, 25) text.color = sf.Color.WHITE text.origin = (text.rect.width / 2, text.rect.height / 2) text.position = (400, i) msg_texts.append(text) self.to_render = [self.player_sprite] self.to_render.extend(msg_texts) if self.state.achievements["Girlfriend"]: self.her_img = sf.Texture.load_from_file( bytes(os.path.join("assets", "herdrink.png"), 'UTF-8')) self.her_sprite = sf.Sprite(self.her_img) self.her_sprite.origin = (self.her_sprite.width / 2, self.her_sprite.height) self.her_sprite.position = (125, 500) self.to_render.append(self.her_sprite) if self.state.achievements["Father"]: self.him_img = sf.Texture.load_from_file( bytes(os.path.join("assets", "him.png"), 'UTF-8')) self.him_sprite = sf.Sprite(self.him_img) self.him_sprite.origin = (self.him_sprite.width / 2, self.him_sprite.height) self.him_sprite.position = (180, 500) self.to_render.append(self.him_sprite)
def change_other_image(self, other, image): pos = other.sprite.x, other.sprite.y right = other.right other.sprite = sf.Sprite(image) other.sprite.x, other.sprite.y = pos other.sprite.flip_x(not right) #other.sprite.texture = image #other.sprite.resize(image.width, image.height) other.sprite.origin = (other.sprite.width / 2, other.sprite.height)
def change_image(self, image): pos = self.sprite.x, self.sprite.y right = self.right self.sprite = sf.Sprite(image) self.sprite.x, self.sprite.y = pos self.sprite.flip_x(not right) #self.sprite.texture = image #self.sprite.resize(image.width, image.height) self.sprite.origin = (self.sprite.width / 2, self.sprite.height)
def __init__(self): super(Level1, self).__init__() layer = core.Layer() self.add_layer(layer) self.im0 = sf.Texture.load_from_file(b'princess.png') for y in range(0, 501, 100): for x in range(0, 701, 100): s0 = sf.Sprite(self.im0) s0.position = (x, y) layer.add_actor(core.Actor(s0)) sprite = sf.Sprite(self.im0) sprite.position = 400, 300 sprite.origin = self.im0.width//2, self.im0.height//2 actor = core.Actor(sprite) actor.add_action(Mover(sf.Vector2f(0, -200))) layer.add_actor(actor) camera = game.default_camera camera.add_action(actions.CameraFollow(actor, True)) layer.add_camera(camera)
def __init__(self): super(Level1, self).__init__() layer = core.Layer() self.add_layer(layer) self.im0 = sf.Texture.load_from_file(b'princess.png') for x in range(50, 600, 50): for y in range(50, 400, 80): sprite = sf.Sprite(self.im0) sprite.position = (x, y) sprite.origin = (sprite.width//2, sprite.height//2) act = core.Actor(sprite) act.add_action(Rotate(30)) layer.add_actor(act)
def __init__(self, engine, id, pos=sf.Vector2f(), angle=90): Entity.__init__(self, id, pos, angle) subclass = self.__class__ # provides access to subclass static variables if not isinstance(subclass.texture, sf.Texture): subclass.texture = loadTexture(subclass.texture_path, engine) self.sprite = sf.Sprite(subclass.texture) self.collision_table = CollisionTable( self.sprite.getTexture().copyToImage()) if SpriteBasedEntity.show_collision_boxes: self.collision_rect = sf.RectangleShape() self.collision_rect.setFillColor( SpriteBasedEntity.collision_boxes_color) else: # avoid unnecessary memory consumption self.collision_rect = None
def __init__(self): super(Level1, self).__init__() layer = core.Layer() self.add_layer(layer) self.im0 = sf.Texture.load_from_file(b'princess.png') for x in range(50, 600, 50): for y in range(50, 400, 80): sprite = sf.Sprite(self.im0) sprite.position = (x, y) sprite.origin = (sprite.width // 2, sprite.height // 2) act = core.Actor(sprite) action = actions.Repeat(actions.Chain( [Move(3.0, 50, 10), Rotate(4.0, 90)]), num=3) act.add_action(action) layer.add_actor(act)
def __init__(self, engine, id=None): """If id is None : a ID will be assigned (ex : 'Fighter3')""" Entity.__init__(self, id if id is not None else id_from_spaceship_class(self.__class__)) subclass = self.__class__ subclass.count += 1 # Hull if "main" not in self.textures.keys() or self.textures["main"] == None: subclass.textures["main"] = loadTexture(subclass.textures_paths["main"], engine) self.sprite_hull = sf.Sprite(subclass.textures["main"]) originAtCenter(self) #self.collision_table = CollisionTable(self.sprite.getTexture().copyToImage()) # Modules slots and modules self.modules_slots = { } self.initialize_slots(engine) self.mount_default_modules(engine)
def __init__(self, name): random.seed() video_mode = sf.VideoMode(800, 600, 32) style = sf.Style.CLOSE self.window_image = sf.Image.load_from_file( bytes(os.path.join("assets", "you.png"), 'UTF-8')) self.window = sf.RenderWindow(video_mode, bytes(name, 'UTF-8'), style) self.window.set_icon(40, 40, self.window_image.get_pixels()) self.window.framerate_limit = 60 self.window.show_mouse_cursor = False self.state = State() self.scene = scenes.Intro(self.state) self.cursor = Cursor() self.pause_img = sf.Texture.load_from_file( bytes(os.path.join("assets", "paused.png"), 'UTF-8')) self.pause_sprite = sf.Sprite(self.pause_img) self.pause = False self.run()
def __init__(self, world): super(Level1, self).__init__(world) layer = core.Layer() self.add_layer(layer) self.ground = world.CreateStaticBody(position=(0, -2), shapes=b2.polygonShape(box=(50, 5))) self.im0 = sf.Texture.load_from_file(b'princess.png') for y in range(0, 500, 120): for x in range(200, 700, 120): sprite = sf.Sprite(self.im0) sprite.origin = (self.im0.width // 2, self.im0.height // 2) sprite.position = (x, y) actor = core.Actor(sprite) body = world.CreateDynamicBody() body.CreateCircleFixture(radius=2.5, density=1.0, friction=0.3) actor.add_action(Updater(body), name='box2d') layer.add_actor(actor)
def __init__(self): super(Level1, self).__init__() layer = core.Layer() self.add_layer(layer) self.im0 = sf.Texture.load_from_file(b'rpg_sprite_walk.png') num = 0 for x in range(50, 600, 50): for y in range(50, 400, 80): sprite = sf.Sprite(self.im0) sprite.position = (x, y) act = core.Actor(sprite) anim = actions.Animate(1.0, 4, 8, start=(num % 4, 0), stop=(num % 4, 7), repeats=0) act['walk'] = anim act.add_action(SwitchAnimation()) layer.add_actor(act) print(act.action_ids) num += 1
def __init__(self): super(Level1, self).__init__() layer = core.Layer() self.add_layer(layer) self.im0 = sf.Texture.load_from_file(b'princess.png') for x in range(50, 600, 50): for y in range(50, 400, 80): sprite = sf.Sprite(self.im0) sprite.position = (x, y) sprite.origin = (sprite.width//2, sprite.height//2) act = core.Actor(sprite) act_list = [actions.Move(3.0, 150, 25), actions.Pause(2.5), actions.Rotate(4.0, 360), actions.Pause(1.5)] act_list2 = [actions.Repeat(actions.Chain(act_list), num=3), actions.MoveTo(10.0, sprite.x, sprite.y)] action = actions.Repeat(actions.Chain(act_list2)) act.add_action(action) layer.add_actor(act)
def __init__(self, world): super(Level1, self).__init__(world) layer = core.Layer() self.add_layer(layer) self.ground = world.CreateStaticBody(position=(0, -2), shapes=b2.polygonShape(box=(50, 5))) self.im0 = sf.Texture.load_from_file(b'princess.png') for x in range(100, 800, 300): sprite = sf.Sprite(self.im0) sprite.origin = (self.im0.width // 2, self.im0.height // 2) sprite.position = (x, 300) actor = core.Actor(sprite) body = world.CreateDynamicBody() body.CreateCircleFixture(radius=2.5, density=1.0, friction=0.3) actor.add_action(Updater(body), name='box2d') layer.add_actor(actor) actors = self.layers[0].actors actors[1].obstacle = True actors[0].add_action(actions.DefferedCall(1.0, self.test_los))
def __init__(self, width, height): super(OffscreenLayer, self).__init__() self.window = sf.RenderTexture(width, height) sprite = sf.Sprite() sprite.position = (0, 0) self.container = Actor(sprite)
def __init__(self, im, x, y): super(Actor1, self).__init__(None) self.object = sf.Sprite(im) self.object.origin = (im.width // 2, im.height // 2) self.object.position = (x, y)