Esempio n. 1
0
    def __init__(self):
        #将层的背景调成蓝色
        super(HelloWorld, self).__init__(64, 64, 224, 255)
        # 新建文字标签用于显示Hello World
        label = cocos.text.Label(
            'Hello,World',
            # 如果要显示中文,需要使用支持中文的字体,比如"微软雅黑"
            font_name='Times New Roman',
            font_size=32,
            # 设置锚点为正中间
            anchor_x='center',
            anchor_y='center')
        # 设置文字标签在层的位置.由于锚点为正中间,即"用手捏"标签的正中间,放到(320,240)的位置
        label.position = 320, 240
        # 把文字标签添加到层
        self.add(label)

        # 新建一个精灵,在这里是一个小人(英文文档没有给示范图片,所以这个icon.png请自行找个q版小人图片,放在代码同目录下)
        sprite = cocos.sprite.Sprite('black.png')
        # 精灵锚点默认在正中间,只设置位置就好
        sprite.position = 320, 240
        # 放大三倍,添加到层,z轴设为1,比层更靠前
        sprite.scale = 3
        self.add(sprite, z=1)

        # 定义一个动作,即2秒内放大三倍
        scale = ScaleBy(3, duration=2)
        # 标签的动作:重复执行放大三倍缩小三倍又放大三倍...Repeat即为重复动作,Reverse为相反动作
        label.do(Repeat(scale + Reverse(scale)))
        # 精灵的动作:重复执行缩小三倍放大三倍又缩小三倍..
        sprite.do(Repeat(Reverse(scale) + scale))
        # 层的动作:重复执行10秒内360度旋转
        self.do(RotateBy(360, duration=10))
    def __init__(self):
        # 层调成蓝色
        super(HelloWorld, self).__init__(64, 64, 224, 255)
        label = cocos.text.Label('Hello, World!',
                                 font_name='Times New Roman',
                                 font_size=32,
                                 anchor_x='center', anchor_y='center')
        label.position = 320, 240
        self.add(label)

        # 新建一个精灵,在这里是一个小人(英文文档没有给示范图片,所以这个icon.png请自行找个q版小人图片,放在代码同目录下)
        sprite = cocos.sprite.Sprite('icon.jpg')
        # 精灵锚点默认在正中间,只设置位置就好
        sprite.position = 320, 240
        # 放大三倍,添加到层,z轴设为1,比层更靠前
        sprite.scale = 1
        self.add(sprite, z=1)

        # 定义一个动作,即2秒内放大三倍
        scale = ScaleBy(2, duration=2)
        # 标签的动作:重复执行放大三倍缩小三倍又放大三倍...Repeat即为重复动作,Reverse为相反动作
        label.do(Repeat(scale + Reverse(scale)))
        # 精灵的动作:重复执行缩小三倍放大三倍又缩小三倍...
        sprite.do(Repeat(Reverse(scale) + scale))
        # 层的动作:重复执行10秒内360度旋转
        self.do(RotateBy(360, duration=10))
Esempio n. 3
0
 def __init__(self):
     super(HelloWorld, self).__init__()
     label = cocos.text.Label('Hello, world',
                              font_name='Times New Roman',
                              font_size=32,
                              anchor_x='center',
                              anchor_y='center')
     label.position = 320, 240
     self.add(label)
     sprite = cocos.sprite.Sprite('airplane_710px_1219057_easyicon.net.png')
     sprite.position = 320, 240
     sprite.scale = 3
     self.add(sprite, z=1)
     scale = ScaleBy(3, duration=2)
     label.do(Repeat(scale + Reverse(scale)))
     sprite.do(Repeat(Reverse(scale) + scale))
Esempio n. 4
0
 def __init__(self):
     super().__init__(64, 64, 224, 255)
     label = cocos.text.Label('Hello, World!',
                              font_name='Times New Roman',
                              font_size=32,
                              anchor_x='center',
                              anchor_y='center')
     label.position = 320, 240
     self.add(label)
     sprite = cocos.sprite.Sprite('grossini.png')
     sprite.position = 320, 240
     sprite.scale = 3
     self.add(sprite, z=1)
     scale = ScaleBy(3, duration=2)
     label.do(Repeat(scale + Reverse(scale)))
     sprite.do(Repeat(Reverse(scale) + scale))
Esempio n. 5
0
    def __init__(self):
        super(TestLayer, self).__init__()

        x, y = director.get_window_size()

        self.sprite = Sprite('grossini.png', (x / 2, y / 2))
        self.add(self.sprite)
        self.sprite.do(Reverse(Rotate(360, 5)))
Esempio n. 6
0
    def __init__(self):
        super(TestLayer, self).__init__()

        x, y = director.get_window_size()

        self.sprite = Sprite('grossini.png', (0, y / 2))
        self.add(self.sprite)
        seq = MoveBy((x / 2, 0))
        self.sprite.do(seq + Reverse(seq))
Esempio n. 7
0
    def __init__(self):
        super(TestLayer, self).__init__()

        x, y = director.get_window_size()

        self.sprite = Sprite('grossini.png', (0, y / 2))
        self.add(self.sprite)
        mov = AccelDeccel(MoveBy((x, 0), 4))
        self.sprite.do(Repeat(mov + Reverse(mov)))
Esempio n. 8
0
    def __init__(self):
        super(Game, self).__init__(102, 102, 225, 255)

        self.collision_manager = cm.CollisionManagerBruteForce()

        self.player = cocos.sprite.Sprite('eleph2.png')
        self.player.position = 400, 25
        self.player.velocity = 0, 0
        self.player.speed = 150
        self.player.scale = .5
        self.add(self.player, z=2)

        self.player.cshape = cm.AARectShape(self.player.position,
                                            self.player.width // 2,
                                            self.player.height // 2)
        self.collision_manager.add(self.player)

        self.boss = cocos.sprite.Sprite('flaregun.png')
        self.boss.position = 400, 600
        self.boss.scale = 0.4
        self.add(self.boss, z=1)

        self.boss.cshape = cm.AARectShape(self.boss.position,
                                          self.boss.width // 2,
                                          self.boss.height // 2)
        self.collision_manager.add(self.boss)

        self.batch = cocos.batch.BatchNode()
        self.enemies = [cocos.sprite.Sprite('compass.png') for i in range(6)]
        positions = ((250, 125), (550, 125), (300, 325), (500, 325),
                     (150, 475), (650, 475))
        for num, enem in enumerate(self.enemies):
            enem.position = positions[num]
            enem.cshape = cm.AARectShape(enem.position, enem.width // 2,
                                         enem.height // 2)
            self.collision_manager.add(enem)
            self.batch.add(enem)

        self.add(self.batch, z=1)
        self.player.do(Move())

        move_basic = MoveBy((120, 0), 1)
        self.enemies[0].do(Repeat(move_basic + Reverse(move_basic)))
        self.enemies[1].do(Repeat(Reverse(move_basic) + move_basic))

        move_complex = (MoveBy((-75, 75), 1) + Delay(0.5) + MoveBy(
            (-75, -75), 1) + Delay(0.5) + MoveBy(
                (75, -75), 1) + Delay(0.5) + MoveBy((75, 75), 1) + Delay(0.5))
        self.enemies[2].do(Repeat(move_complex))
        self.enemies[3].do(Repeat(Reverse(move_complex)))

        move_jump = AccelDeccel(JumpBy((200, 0), 75, 3, 3))
        move_jump_rot = AccelDeccel(RotateBy(360, 3))
        self.enemies[4].do(Repeat(move_jump + Reverse(move_jump)))
        self.enemies[4].do(Repeat(move_jump_rot + Reverse(move_jump_rot)))
        self.enemies[5].do(Repeat(Reverse(move_jump) + move_jump))
        self.enemies[5].do(Repeat(Reverse(move_jump_rot) + move_jump_rot))

        self.schedule(self.update)
Esempio n. 9
0
    def __init__(self):
        super(TestLayer, self).__init__()

        x, y = director.get_window_size()

        self.sprite = Sprite('grossini.png', (x // 4, y // 2))
        self.add(self.sprite)
        shake_part = MoveBy((-4.0, 0.0), 0.05)
        shake = shake_part + Reverse(shake_part) * 2 + shake_part
        self.sprite.do(MoveTo((x // 2, y // 2), 1) + Repeat(shake))
Esempio n. 10
0
    def __init__(self):
        super(JumpByTest, self).__init__()

        sprite = cocos.sprite.Sprite('icon.jpg')

        sprite.position = 240, 320
        sprite.scale = 0.5
        self.add(sprite)

        jump = JumpBy((50, 100), duration=2)

        sprite.do(Repeat(Reverse(jump) + jump))
Esempio n. 11
0
    def __init__(self):
        super(MyTest, self).__init__()

        sprite = cocos.sprite.Sprite('icon.jpg')

        sprite.position = 240, 320
        sprite.scale = 0.5
        self.add(sprite)

        move = MoveBy((50, 100), duration=2)

        sprite.do(Repeat(Reverse(move) + move))
Esempio n. 12
0
    def __init__(self):
        super( TestLayer, self ).__init__()

        x,y = director.get_window_size()

        self.sprite = Sprite( 'grossini.png', (x//2, y//2) )
        self.add( self.sprite )

        self.sprite2 = Sprite( 'grossini.png', (x//2, y//4) )
        self.add( self.sprite2 )

        seq = Rotate( 360, 10 ) | MoveBy((x//2,0))
        self.sprite.do( seq )
        self.sprite2.do( Reverse( seq ) )
Esempio n. 13
0
    def on_key_press(self, key, modifiers):
        k = pyglet.window.key.symbol_string(key)

        if not self.key_events and k in _BUTTONS:
            self.key_events[k] = 0.5
            act = MoveBy((0, 0), 0)
            if k == "LEFT":
                act = MoveBy((-50, 0), 0.25)
            elif k == "RIGHT":
                act = MoveBy((50, 0), 0.25)
            elif k == "Z":
                act = MoveBy((-20, 150), 0.1)
            elif k == "X":
                act = MoveBy((20, 150), 0.1)
            self.dodgesprite.do(act + Reverse(act))
Esempio n. 14
0
    def __init__(self):
        super(Title, self).__init__()
        label = cocos.text.Label('测试Cocos2d的适应性',
                                 font_size=32,
                                 anchor_x='center',
                                 anchor_y='center')
        label.position = 320, 260
        self.add(label)
        sprite = cocos.sprite.Sprite('horngirl.png')
        sprite.position = 320, 320
        sprite.scale = 3
        self.add(sprite, z=1)

        scale = ScaleBy(3, duration=2)
        label.do(Repeat(scale + Reverse(scale)))
        self.do(RotateBy(360, duration=10))
Esempio n. 15
0
    def __init__(self):
        super(Rotate, self).__init__(64, 64, 224, 255)
        label = cocos.text.Label('haha!',
                                 font_name = 'miaomiaomiao',
                                 font_size = 32,
                                 anchor_x = 'center',
                                 anchor_y = 'center')
        label.position = 320, 240
        self.add(label)

        sprite = cocos.sprite.Sprite('b.png')
        sprite.position = 320, 240
        sprite.scale = 3
        self.add(sprite, z=1)
        
	scale = ScaleBy(3, duration=2)
        label.do(Repeat(scale + Reverse(scale)))
        sprite.do(RotateBy(360, duration=10))
Esempio n. 16
0
File: ui.py Progetto: zhy0313/bj163
    def on_mouse_press(self, x, y, buttons, modifiers):
        # print(self.x, self.y)
        if (self.x-self.width//2) <= x <= (self.x+self.width//2) and\
           self.y <= y <= (self.y+self.height):
            # print('right')
            # print('play', x, y)
            if self.pause_flag:
                self.remove(self.play_hl)
                self.add(self.pause_hl)
                self.mpg123.pause()
                self.pic.cp.do(Repeat(RotateBy(360, duration=10)))
                self.pic.gz.do(RotateBy(25, 0.5))
            else:
                self.remove(self.pause_hl)
                self.add(self.play_hl)
                self.mpg123.pause()
                self.pic.stopcp()
                self.pic.gz.do(Reverse(RotateBy(25, 0.5)))

            self.pause_flag = False if self.pause_flag else True
    def __init__(self):
        super(Game, self).__init__(102, 102, 225, 255)

        self.player = cocos.sprite.Sprite(resources.player)
        self.player.position = 400, 25
        self.player.velocity = 0, 0
        self.player.speed = 150
        self.add(self.player, z=2)

        self.boss = cocos.sprite.Sprite(resources.boss)
        self.boss.position = 400, 600
        self.boss.scale = 0.4
        self.add(self.boss, z=1)

        self.batch = cocos.batch.BatchNode()
        self.enemies = [cocos.sprite.Sprite(resources.enemy) for i in range(6)]
        positions = ((250, 125), (550, 125), (300, 325), (500, 325),
                     (150, 475), (650, 475))
        for num, enem in enumerate(self.enemies):
            enem.position = positions[num]
            self.batch.add(enem)

        self.add(self.batch, z=1)
        self.player.do(Move())

        move_basic = MoveBy((120, 0), 1)
        self.enemies[0].do(Repeat(move_basic + Reverse(move_basic)))
        self.enemies[1].do(Repeat(Reverse(move_basic) + move_basic))

        move_complex = (MoveBy((-75, 75), 1) + Delay(0.5) + MoveBy(
            (-75, -75), 1) + Delay(0.5) + MoveBy(
                (75, -75), 1) + Delay(0.5) + MoveBy((75, 75), 1) + Delay(0.5))
        self.enemies[2].do(Repeat(move_complex))
        self.enemies[3].do(Repeat(Reverse(move_complex)))

        move_jump = AccelDeccel(JumpBy((200, 0), 75, 3, 3))
        move_jump_rot = AccelDeccel(RotateBy(360, 3))
        self.enemies[4].do(Repeat(move_jump + Reverse(move_jump)))
        self.enemies[4].do(Repeat(move_jump_rot + Reverse(move_jump_rot)))
        self.enemies[5].do(Repeat(Reverse(move_jump) + move_jump))
        self.enemies[5].do(Repeat(Reverse(move_jump_rot) + move_jump_rot))
Esempio n. 18
0
    #  lens_effect: 0.7, a strong "lens". 0 means no effect at all. 1 means very strong
    #  center: center of the lens
    #  grid=(20,16): create a grid of 20 tiles x 16 tiles. More tiles will
    #     look better but the performance will decraese
    #  duration=10: 10 seconds
    lens = Lens3D(radius=150,
                  lens_effect=0.7,
                  center=(150, 150),
                  grid=(20, 16),
                  duration=50)

    # create a Jump action
    # Jump to the right 360 pixels doing:
    #   3 jumps
    #   of height 170 pixels
    #  in 4 seconds
    jump = JumpBy((360, 0), 170, 3, 4)

    # do and get the cloned action of lens'
    action = scene.do(lens)

    # perform the Jump action using as target the lens effect.
    # the Jump action will modify the 'position' attribute, and
    # the lens action uses the 'position' attribute as the center of the lens
    #
    # The action Jump + Reverse(Jump) will be repeated 5 times
    scene.do((jump + Reverse(jump)) * 5, target=action)

    # Run!
    director.run(scene)
Esempio n. 19
0
    def get_game_scene():
        # creating object of Level class and add diff things to this
        player = game.entities.Player.Player("resources/img/roflan.png",
                                             (100, 100), (0, 0), 150)
        boss = game.entities.enemies.Enemy.Enemy("resources/img/haste.png",
                                                 (1100, 600))
        level = game.scenes.Level.Level()

        horizontal_walls = (([62, 696], 18), ([62, 20], 18), ([62, 450], 6),
                            ([62, 180], 16))

        vertical_walls = (([20, 32], 14), ([1180,
                                            32], 14), ([220,
                                                        225], 9), ([420,
                                                                    225], 9))

        horizontal_spines = (([560, 290], 10), ([470, 400], 10), ([560,
                                                                   510], 10))

        vertical_spines = (([250, 70], 2), ([480,
                                             70], 2), ([710,
                                                        70], 2), ([940,
                                                                   70], 2))

        for wall in horizontal_walls:
            level.add_wall(
                WallCreator.create_horizontal_walls(
                    "resources/img/stone_h.png", wall[0], wall[1]))

        for wall in vertical_walls:
            level.add_wall(
                WallCreator.create_vertical_walls("resources/img/stone_v.png",
                                                  wall[0], wall[1]))

        for spine in horizontal_spines:
            level.add_spine(
                WallCreator.create_horizontal_walls("resources/img/prov_h.png",
                                                    spine[0], spine[1],
                                                    'spine'))

        for spine in vertical_spines:
            level.add_spine(
                WallCreator.create_vertical_walls("resources/img/prov_v.png",
                                                  spine[0], spine[1], 'spine'))

        level.add_portal(
            Portal("resources/img/portal_h.png", [180, 20], (360, 620)))
        level.add_portal(
            Portal("resources/img/portal_v.png", [220, 520], (310, 120)))

        level.add_portal(
            Portal("resources/img/portal_h.png", [410, 20], (150, 620)))
        level.add_portal(
            Portal("resources/img/portal_v.png", [20, 520], (540, 120)))

        level.add_portal(
            Portal("resources/img/portal_h.png", [640, 20], (90, 370)))
        level.add_portal(
            Portal("resources/img/portal_v.png", [220, 250], (770, 120)))

        level.add_portal(
            Portal("resources/img/portal_h.png", [870, 20], (280, 370)))
        level.add_portal(
            Portal("resources/img/portal_v.png", [420, 250], (1000, 120)))

        bitcoins = ((430, 120), (660, 120), (890, 120), (70, 650), (370, 500),
                    (70, 235), (485, 290), (1115, 400), (485, 510))
        for pos in bitcoins:
            bitcoin = Texture("resources/img/bitcoin.png", pos)
            level.add_bitcoin(bitcoin)

        enemy1 = Enemy("resources/img/buld.png", (370, 650))
        enemy1_moves = Repeat(
            MoveBy((-100, 0), 1) + MoveBy((0, -150), 1.2) +
            MoveBy((100, 0), 1) + MoveBy((0, 150), 1.2))
        enemy1.do(enemy1_moves)
        level.add_enemy(enemy1)

        enemy2 = Enemy("resources/img/buld.png", (170, 500))
        enemy2_moves = Repeat(
            MoveBy((0, 150), 1.2) + MoveBy((-100, -150), 1.5) +
            MoveBy((0, 150), 1.2) + MoveBy((100, -150), 1.5))
        enemy2.do(enemy2_moves)
        level.add_enemy(enemy2)

        enemy3 = Enemy("resources/img/buld.png", (170, 400))
        enemy3_moves = Repeat(
            MoveBy((0, -170), 1.25) + Reverse(MoveBy((0, -170), 1.25)))
        enemy3.do(enemy3_moves)
        level.add_enemy(enemy3)

        enemy4 = Enemy("resources/img/buld.png", (170, 250))
        enemy4_moves = Repeat(
            MoveBy((-100, 0), 1) + Reverse(MoveBy((-100, 0), 1)))
        enemy4.do(enemy4_moves)
        level.add_enemy(enemy4)

        enemy5 = Enemy("resources/img/buld.png", (270, 230))
        enemy5_moves = Repeat(
            MoveBy((100, 0), 1) + MoveBy((0, 170), 1.25) +
            MoveBy((-100, -170), 1.4))
        enemy5.do(enemy5_moves)
        level.add_enemy(enemy5)

        enemy6 = Enemy("resources/img/roflan2.png", (580, 650))
        enemy6_moves = Repeat(
            MoveBy((0, -410), 1.3) + Reverse(MoveBy((0, -410), 1.3)))
        enemy6.do(enemy6_moves)
        level.add_enemy(enemy6)

        enemy7 = Enemy("resources/img/roflan2.png", (750, 650))
        enemy7_moves = Repeat(
            MoveBy((0, -410), 1.1) + Reverse(MoveBy((0, -410), 1.1)))
        enemy7.do(enemy7_moves)
        level.add_enemy(enemy7)

        enemy8 = Enemy("resources/img/roflan2.png", (920, 650))
        enemy8_moves = Repeat(
            MoveBy((0, -410), 1) + Reverse(MoveBy((0, -410), 1)))
        enemy8.do(enemy8_moves)
        level.add_enemy(enemy8)

        game_layer = Game(level, player, boss)
        game_scene = cocos.scene.Scene()

        image_layer = ImageLayer("resources/img/back3.jpg")
        image_layer.do(
            cocos.actions.Repeat(
                cocos.actions.Waves3D(waves=1, amplitude=20, grid=(8, 8)) +
                cocos.actions.Reverse(
                    cocos.actions.Waves3D(waves=1, amplitude=20, grid=(8,
                                                                       8)))))

        game_scene.add(image_layer)
        game_scene.add(game_layer)
        return game_scene
Esempio n. 20
0
 def __init__(self, space, pos):
     self.is_alive = True
     self.life = constants.PLAYER_ARMOR
     # Mouse pointer 'body'
     # We need to make the hammer follow the cursor, but with some delay to create the effect of flying through the
     # air. We achieve this by adding an invisible damped string between the mouse pointer and the hammer. For this
     # we need to create a 'body' for mouse pointer to connect a damped string to.
     self.aim = pymunk.Body(1, 1)
     self.aim_shape = pymunk.Circle(self.aim, 1, (0, 0))
     self.aim_shape.layers = 0b000  # The 'aim' should not collide with any objects
     self.aim.position = pos
     # Hammer body
     mass = 6
     inertia = pymunk.moment_for_box(mass, 34, 45)
     self.body = pymunk.Body(mass, inertia)
     self.body.position = pos
     self.body.angular_velocity_limit = math.pi / 4
     self.body_angle_limit = math.pi / 4.  # Not to allow upside down flying and also for more natural look and feel
     body_shape = pymunk.Poly(self.body, [(-17, -22.5), (-17, 22.5),
                                          (17, 22.5), (17, -22.5)])
     body_shape.elasticity = 0.9
     body_shape.friction = 0.8
     body_shape.collision_type = 1
     body_shape.layers = 0b001  # set layers for body and sword (below) to forbid their collision
     self.body_shape = body_shape
     # Connect aim and hammer with a DampedSpring - this should create the effect of flying through the air
     self.hammer_move = pymunk.constraint.DampedSpring(
         self.aim, self.body, (0, 0), (0, 0), 1, 4000.0, 1.0)
     # Hammer sprite
     self.body_sprite = Sprite('body.png')
     self.propeller_sprite = Sprite('propeller.png')
     # Scaling the propeller back and forth will create the effect of its movement
     action = ScaleBy(0.2, 0.1)
     self.propeller_sprite.do(Repeat(action + Reverse(action)))
     # Sword
     mass = 15
     inertia = pymunk.moment_for_box(mass, 8, 120)
     self.sword = pymunk.Body(mass, inertia)
     self.sword.position = (pos[0], pos[1] - 60)
     self.sword.angular_velocity_limit = 1.8 * math.pi  # Do not allow too rapid swinging, it's not natural and also
     # can 'break' physics due to enemies flying through the sword
     sword_shape = pymunk.Poly(self.sword, [(-4, -60), (-4, 60), (4, 60),
                                            (4, -60)])
     sword_shape.elasticity = 0.9
     sword_shape.friction = 0.8
     sword_shape.layers = 0b010
     sword_shape.collision_type = 2
     self.sword_shape = sword_shape
     # Connect hammer and sword with a joint - place the joint a little below the center of the mass of the main
     # body to make the body return to vertical state
     self.sword_hammer = pymunk.constraint.PivotJoint(
         self.body, self.sword, (pos[0], pos[1] - 1))
     # Sword sprite
     self.sword_sprite = cocos.sprite.Sprite('sword.png')
     # Make the hammer 'fly' by applying the force opposite to the gravity
     self.body.apply_force(
         -(self.aim.mass + self.body.mass + self.sword.mass) *
         space.gravity)
     space.add(self.body, self.body_shape, self.aim, self.aim_shape,
               self.hammer_move, self.sword, self.sword_shape,
               self.sword_hammer)
     self.space = space
Esempio n. 21
0
    def get_game_scene():
        # creating object of Level class and add diff things to this
        player = game.entities.Player.Player("resources/img/roflan.png", (75, 80), (0, 0), 150)
        boss = game.entities.enemies.Enemy.Enemy("resources/img/bounty.png", (600, 370))
        boss.do(cocos.actions.Repeat(cocos.actions.Waves3D(
            waves=3, amplitude=40, grid=(16, 16))))
        level = game.scenes.Level.Level()

        horizontal_walls = (
            ([32, 20], 8),
            ([600, 20], 8),
            ([1169, 20], 2),
            ([32, 693], 8),
            ([594, 693], 10),
            ([140, 278], 1),
            ([320, 135], 2),
            ([329, 601], 2),
            ([264, 472], 1),
            ([480, 451], 1),
            ([480, 285], 1),
            ([1090, 285], 2),
        )

        vertical_walls = (
            ([20, 72], 8),
            ([20, 637], 2),
            ([1180, 72], 13),
            ([180, 266], 1),
            ([140, 420], 1),
            ([434, 147], 3),
            ([314, 460], 1),
            ([434, 463], 3),
            ([722, 70], 2),
            ([722, 270], 1),
            ([832, 70], 2),
            ([942, 70], 2),
            ([1052, 70], 2),
        )

        horizontal_spines = (
            ([74, 474], 3),
            ([544, 451], 6),
            ([1000, 451], 3),
            ([544, 285], 3),
            ([774, 285], 5)
        )

        vertical_spines = (
            ([180, 74], 3),
            ([315, 270], 3),
            ([434, 75], 1),
            ([496, 336], 2)

        )

        for wall in horizontal_walls:
            level.add_wall(WallCreator.create_horizontal_walls(
                "resources/img/stone_h.png",
                wall[0], wall[1]
            ))

        for wall in vertical_walls:
            level.add_wall(WallCreator.create_vertical_walls(
                "resources/img/stone_v.png",
                wall[0], wall[1]
            ))

        for spine in horizontal_spines:
            level.add_spine(WallCreator.create_horizontal_walls(
                "resources/img/prov_h.png",
                spine[0], spine[1], 'spine'
            ))

        for spine in vertical_spines:
            level.add_spine(WallCreator.create_vertical_walls(
                "resources/img/prov_v.png",
                spine[0], spine[1], 'spine'
            ))

        level.add_portal(Portal("resources/img/portal_v.png", [20, 574], (537, 75)))
        level.add_portal(Portal("resources/img/portal_h.png", [537, 20], (75, 574)))
        level.add_portal(Portal("resources/img/portal_h.png", [1105, 20], (535, 637)))
        level.add_portal(Portal("resources/img/portal_h.png", [535, 693], (1105, 70)))

        guns = ((1130, 610), (1130, 520))
        for pos in guns:
            gun = Texture("resources/img/pushka.png", pos)
            gun.do(Repeat(cocos.actions.AccelDeccel(cocos.actions.RotateBy(180, 1.25))))
            level.add_texture(gun)

        common_textures = ((1100, 400), (1100, 360), (1130, 370))
        for pos in common_textures:
            texture = Texture("resources/img/zachto.png", pos)
            level.add_texture(texture)

        bitcoins = ((300, 80), (80, 420), (480, 240), (775, 80), (885, 80),
                    (995, 80), (480, 500), (680, 565))
        for pos in bitcoins:
            bitcoin = Texture("resources/img/bitcoin.png", pos)
            level.add_bitcoin(bitcoin)

        enemy1 = Enemy("resources/img/buld.png", (75, 420))
        enemy1_moves = Repeat(MoveBy((0, -80), 0.65) +
                              MoveBy((190, 0), 1.5) +
                              Reverse(MoveBy((0, -80), 0.65) +
                                      MoveBy((190, 0), 1.5)))
        enemy1.do(enemy1_moves)
        level.add_enemy(enemy1)

        enemy2 = Enemy("resources/img/buld.png", (370, 190))
        enemy2_moves = Repeat(MoveBy((-130, 0), 0.7) +
                              MoveBy((0, -120), 0.6) +
                              MoveBy((130, 0), 0.7) +
                              Reverse(MoveBy((-130, 0), 0.7) +
                                      MoveBy((0, -120), 0.6) +
                                      MoveBy((130, 0), 0.7)))
        enemy2.do(enemy2_moves)
        level.add_enemy(enemy2)

        enemy3 = Enemy("resources/img/buld.png", (150, 535))
        enemy3_moves = Repeat(MoveBy((220, 0), 1.3) +
                              MoveBy((0, -197), 1) +
                              MoveBy((70, 0), 0.4) +
                              Reverse(MoveBy((220, 0), 1.3) +
                                      MoveBy((0, -197), 1) +
                                      MoveBy((70, 0), 0.4)))
        enemy3.do(enemy3_moves)
        level.add_enemy(enemy3)

        enemy4 = Enemy("resources/img/buld.png", (537, 230))
        enemy4_moves = Repeat(MoveBy((0, -140), 1) +
                              Reverse(MoveBy((0, -140), 1)))
        enemy4.do(enemy4_moves)
        level.add_enemy(enemy4)

        enemy5 = Enemy("resources/img/buld.png", (1130, 200))
        enemy5_moves = Repeat(MoveBy((-400, 0), 1.6) +
                              Reverse(MoveBy((-400, 0), 1.6)))
        enemy5.do(enemy5_moves)
        level.add_enemy(enemy5)

        enemy6 = Enemy("resources/img/roflan2.png", (1070, 610))
        enemy6_moves = Repeat(MoveBy((-580, 0), 2.5) +
                              MoveTo((670, 1000), 0) +
                              MoveTo((1070, 1000), 0) +
                              MoveTo((1070, 610), 0))
        enemy6.do(enemy6_moves)
        level.add_enemy(enemy6)

        enemy7 = Enemy("resources/img/roflan2.png", (1070, 520))
        enemy7_moves = Repeat(MoveBy((-580, 0), 2) +
                              MoveTo((670, 1000), 0) +
                              MoveTo((1070, 1000), 0) +
                              MoveTo((1070, 520), 0))
        enemy7.do(enemy7_moves)
        level.add_enemy(enemy7)

        game_layer = Game(level, player, boss)
        game_scene = cocos.scene.Scene()

        image_layer = ImageLayer("resources/img/back3.jpg")
        image_layer.do(cocos.actions.Repeat(cocos.actions.Waves3D(
            waves=1, amplitude=20, grid=(8, 8)) +
                                            cocos.actions.Reverse(
                                                cocos.actions.Waves3D(
                                                    waves=1, amplitude=20, grid=(8, 8))
                                            )))

        game_scene.add(image_layer)
        game_scene.add(game_layer)
        return game_scene
Esempio n. 22
0
 def __init__(self):
     super(TestLayer, self).__init__()
     f = TestFigure()
     self.add(f)
     a = Lerp("line_width", 5, 55, 3)
     f.do(Repeat(a + Reverse(a)))