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(TestNoBatch, self).__init__() x, y = director.get_window_size() self.batch = cocos.cocosnode.CocosNode() self.batch.position = 50, 100 self.add(self.batch) for i in range(216): sprite = Sprite('grossini.png') sprite.position = (i // 12) * 30, (i % 12) * 25 self.batch.add(sprite) self.batch.do(MoveBy((100, 100), 10))
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 ) move = MoveBy((100,0), 1) rot = Rotate(360, 1) seq = Place((x/4,y/2)) + rot+move+rot+move self.sprite.do( Repeat ( seq ) )
def set(self, gScene): self.gScene = gScene self.R = gScene.R self.enemy = gScene.ENEMY self.batch = gScene.batch self.collisionManager = gScene.collisionManager self.startLocation = (50, director._window_virtual_height - 120) self.PLAYER = Sprite(self.R.PLAYERANIME[gVariables.g_PlayerIndex]) self.PLAYER.position = self.startLocation self.PLAYER.scale = 0.5 self.PLAYER.velocity = (0, 0) self.PLAYER.speed = 200 self.collisionManager.add(self.PLAYER) self.PLAYER.do(Move()) self.PLAYER.do(MoveBy((400, 0), 2) + MoveBy((-400, 0), 2)) self.batch.add(self.PLAYER) self.PLAYER.cshape = CollisionModel.AARectShape( self.PLAYER.position, self.PLAYER.width / 2, self.PLAYER.height / 2) self.schedule(self.update)
def __init__(self): super(TestBatch, self).__init__() x, y = director.get_window_size() self.batchnode = cocos.batch.BatchNode() self.batchnode.position = 50, 100 self.add(self.batchnode) for i in range(216): sprite = Sprite('grossini.png') sprite.position = (i / 12) * 30, (i % 12) * 25 self.batchnode.add(sprite, z=i % 4) self.batchnode.do(MoveBy((100, 100), 10))
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))
def add_damage_label(self, damage, position): label = cocos.text.Label( '-' + str(int(round(damage))), font_name='Helvetica', font_size=10, bold=True, color=(255, 0, 0, 255), anchor_x='center', anchor_y='center' ) label.deleteWhenHided = True label.position = position label.do(MoveBy((0, 100), 2) | FadeOut(2)) self.globalPanel.add(label)
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, R): super(_PlayerAnimation, self).__init__() self.R = R self.SamplePlayer = Sprite(self.R.PLAYERANIME[0]) self.SamplePlayer.scale = 0.5 self.size = director.get_window_size() #SIMPLE ANIMATION _WH = self.SamplePlayer.get_AABB() _place = (-_WH.width, self.size[1] - 120) _move = MoveBy((self.size[0] + (_WH.width * 2), 0), 3) self.SamplePlayer.do(Repeat(Place(_place) + _move)) self.add(self.SamplePlayer)
def show_message(self, msg, callback=None): w, h = director.get_window_size() self.msg = Label(msg, font_size=52, font_name='Arial', anchor_y='center', anchor_x='center') self.msg.position = (w // 2.0, h) self.add(self.msg) actions = Accelerate(MoveBy((0, -h / 2.0), duration=0.5)) + \ Delay(1) + \ Accelerate(MoveBy((0, -h / 2.0), duration=0.5)) + \ Hide() if callback: actions += CallFunc(callback) self.msg.do(actions)
def __init__(self): super(BackgroundLayer, self).__init__() r = Game_elements.Player() self.image = cocos.sprite.Sprite(r.overImg) self.image.position = 400, 75 self.add(self.image, z=0) self.player = cocos.sprite.Sprite(r.overImg) self.player.position = 0, 295 self.add(self.player, z=1) self.enemy = cocos.sprite.Sprite(r.overImg) self.enemy.position = 385, 75 self.add(self.enemy, z=1) self.boss = cocos.sprite.Sprite(r.overImg) self.boss.scale = 0.4 rect = self.boss.get_rect() rect.midbottom = 600, 50 self.boss.position = rect.center self.add(self.boss, z=1) self.player.do(Repeat( MoveBy((-25, 0), 0.25) + MoveBy((50, 0), 0.5) + MoveBy((-25, 0), 0.25))) self.enemy.do(Repeat( MoveBy((-25, 0), 0.25) + MoveBy((50, 0), 0.5) + MoveBy((-25, 0), 0.25))) self.boss.do(Repeat(FadeTo(155, 0.5) + FadeTo(255, 0.5)))
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 add_new_infos(self, content, color=(0, 255, 0, 255)): if self.info.full(): obj_leave = self.info.get() obj_leave.do( MoveTo((self.width // 2, self.height), 1) | FadeOut(1)) for obj in self.info.queue: obj.do(MoveBy((0, 40), 1)) obj = Text(text=content, position=(self.width // 2, self.height // 2 + 50), color=color, font_size=30) self.add(obj) self.info.put(obj) obj.do(FadeIn(1.5) + CallFunc(self.get_next_action))
def __init__(self): super( TestBatch, self ).__init__() x,y = director.get_window_size() self.batchnode = cocos.batch.BatchNode() self.batchnode.position = 50,100 self.add(self.batchnode) for i in range(216): if i%4 == 0: sprite = Sprite('grossini.png') self.parentSprite = sprite self.batchnode.add(sprite, z=i%4) else: sprite = Sprite('grossinis_sister1.png') self.parentSprite.add(sprite) sprite.position = (i/12)*30, (i%12)*25 # Remove the last Grossini, and his sisters self.batchnode.remove (self.parentSprite) self.batchnode.do(MoveBy((100, 100), 10))
def left(speed: float): return ( (MoveBy((100, 0), speed), Delay(speed)), (Delay(speed), MoveBy((100, 0), speed)), )
def __init__(self, pos): super().__init__(Image.castle_flag) self.position = pos self.do(MoveBy((0, 15), 0.5))
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 back(speed: float): return ( (Delay(speed), MoveBy((0, -100), speed)), (MoveBy((0, -100), speed), Delay(speed)), )
def move(self, amount: Vector2): if (self.can_move(amount)): action = MoveBy(amount, 0) self.do(action) self.update_blk_cshape()
def front(speed: float): return ( (Delay(speed), MoveBy((0, 100), speed)), (MoveBy((0, 100), speed), Delay(speed)), )
def right(speed: float): return ( (Delay(speed), MoveBy((-100, 0), speed)), (MoveBy((-100, 0), speed), Delay(speed)), )
def step_right(self): self.right.do(MoveBy((50, 100), 0.3) | RotateBy(40, 0.3) | HOP)
def lower_flag(): self.image = Image.mario_lower_flag[self.state] delta_y = ground_y - self.y + 16 self.do(MoveBy((8, 0), 0.2) + MoveBy((0, delta_y), 1.8))
def turn_around_after_lower_flag(): delta_y = ground_y - self.y self.do(MoveBy((16, 0), 0.1) + MoveBy((8, delta_y), 0.1)) self.image = Image.mario_lower_flag_turn_around[self.state]
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 step_left(self): self.left.do(MoveBy((-50, 100), 0.3) | RotateBy(-40, 0.3) | HOP)