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))
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))
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))
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)))
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))
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)))
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)
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))
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))
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))
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 ) )
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))
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))
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))
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))
# 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)
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
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
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
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)))