示例#1
0
    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]
示例#2
0
    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
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
    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))
示例#6
0
 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)
示例#7
0
    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)
示例#8
0
 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()
示例#9
0
    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)
示例#10
0
 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)
示例#11
0
 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)
示例#12
0
 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)
示例#13
0
 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)
示例#14
0
 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
示例#15
0
 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)
示例#16
0
	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)
示例#17
0
 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()
示例#18
0
    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)
示例#19
0
 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
示例#20
0
 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)
示例#21
0
    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))
示例#22
0
文件: core.py 项目: klavdijv/pug2d
 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)
示例#23
0
文件: test1.py 项目: klavdijv/pug2d
 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)