def __init__(self): super(L1, self).__init__() self.dy, self.zl = Ziji(), Diji() self.add(self.dy) self.add(self.zl) self.coli = [ cm.CollisionManagerBruteForce(), cm.CollisionManagerBruteForce() ] self.eners = [] self.schedule(self.run) self.qu = [] self.cd = 0
def __init__(self, boat, free_units={}, ghost_delay=0, is_menu=False, difficult='medium'): super().__init__() # Словарь всех юнитов self.units = {} self.fill_units_empty() self.free_units = free_units self.difficult = difficult self.is_finish = False self.is_menu = is_menu # Объект "следа" self.ghost = Ghost(self, ghost_delay) self.add(self.ghost) self.boat = boat self.col_status = cm.CollisionManagerBruteForce() self.to_clean_list = [] temp_dict = self.boat.get_arranged_units() #temp_dict = {Bowman.name: [(176, 304), (16, 240)], # Trader.name: [(176, 112)]} self.set_unit_from_save(temp_dict) self.schedule(self.update) if not is_menu: self.wave_generator = WaveGenerator(difficult=self.difficult) self.schedule(self.spawn_wave) self.schedule_interval(self.clear_out_of_screen, 3)
def __init__(self,settingsLayer,player): super(StatusMenu,self).__init__() self.position = (0,WINDOW_HEIGHT-STATUS_BAR_HEIGHT) self.controller = objects.Objects.get_controller() self.cm = collision_model.CollisionManagerBruteForce() self.settingsMenu = settingsLayer self.player = player
def __init__(self): self.keyPressed = False self.counter = 0 self.kierunek = "prawo" super(SpriteLayer, self).__init__() image = pyglet.image.load("resources/spriteV2.png") self.collision_manager = cm.CollisionManagerBruteForce() self.direction = "right" self.bullets = [] image_gride = pyglet.image.ImageGrid(image, 8, 10, item_width=60, item_height=65) self.animationRight = pyglet.image.Animation.from_image_sequence( image_gride[0:10], 0.1, True) self.animationLeft = pyglet.image.Animation.from_image_sequence( image_gride[20:30], 0.1, True) self.animationStop = pyglet.image.Animation.from_image_sequence( image_gride[70:73], 0.1, True) self.sprite = Sprite(self.animationStop) pozycjaX = 200 for i in range(20): nietoperek = Enemy(pozycjaX + i * 300, 500, 100, 100, 2) super().add(nietoperek.returnSprite()) super().add(self.sprite) #self.sprite.scale = 1.2 self.sprite.do(GameAction()) self.schedule(self.update)
def __init__(self): super(Game, self).__init__(255, 255, 255, 255) self.player = player.Player() self.collision_manager = cm.CollisionManagerBruteForce() self.add(self.player, z=1) self.player.do(Move()) self.player.jumping = False self.collision_manager.add(self.player) self.obstacle = cocos.sprite.Sprite(resources.obstacle) self.obstacle.position = 770, 30 self.obstacle.velocity = -100, 0 self.obstacle.speed = 50 self.add(self.obstacle, z=1) self.obstacle.do(Move()) self.obstacle.cshape = cm.AARectShape(self.obstacle.position, self.obstacle.width / 3, self.obstacle.height / 2) self.collision_manager.add(self.obstacle) self.player.schedule(self.update)
def __init__(self): super(SpriteLayer, self).__init__() image = pyglet.image.load("resources/sprite.png") self.collision_manager = cm.CollisionManagerBruteForce() self.direction = "right" self.bullets = [] image_gride = pyglet.image.ImageGrid(image, 8, 10, item_width=120, item_height=130) self.animationRight = pyglet.image.Animation.from_image_sequence( image_gride[0:10], 0.1, True) self.animationLeft = pyglet.image.Animation.from_image_sequence( image_gride[20:30], 0.1, True) self.sprite = Sprite(self.animationRight) pozycjaX = 200 for i in range(20): nietoperek = Enemy(pozycjaX + i * 300, 500, 100, 100, 2) super().add(nietoperek.returnSprite()) super().add(self.sprite) self.sprite.do(GameAction()) self.schedule(self.update)
def __init__(self): super(Game,self).__init__(202, 202, 125, 155) self.collision_manager = cm.CollisionManagerBruteForce() img = pyglet.image.load("resources/sprite.png") self.img2= pyglet.image.load("resources/fireball.png") self.bullets = [] self.kierunek = "Right" self.img_grid = pyglet.image.ImageGrid(img, 8,10, item_width = 120, item_height=130) self.anim = pyglet.image.Animation.from_image_sequence(self.img_grid[50:51], 1/150 , True) self.animWalkUp = pyglet.image.Animation.from_image_sequence(self.img_grid[10:20], 1/15 , True) self.animWalkDown = pyglet.image.Animation.from_image_sequence(self.img_grid[30:40], 1/15 , True) self.animWalkRight = pyglet.image.Animation.from_image_sequence(self.img_grid[0:10], 1/15 , True) self.animWalkLeft = pyglet.image.Animation.from_image_sequence(self.img_grid[20:30], 1/15 , True) self.leftPressed = False self.righPressed = False self.upPressed = False self.downPressed = False self.spacePressed= False self.keysPressed = [] self.keysPressed.append(None) self.keysPressed.append(None) self.keysPressed.append(None) self.player = cocos.sprite.Sprite(self.anim) self.player.position = 400, 225 self.player.velocity = 0, 0 self.player.speed =150 super().add(self.player) self.player.do(Move())
def __init__(self): super().__init__() self.collisions = cm.CollisionManagerBruteForce() self.background = None if not self.load_map(): self.generate_new_map()
def __init__(self): super(GameLayer, self).__init__() self.add_hero() self.add_asteroids() # self.add_boss() self.CollMan = cm.CollisionManagerBruteForce() self.schedule(self.update)
def __init__(self): super(Game, self).__init__(202, 202, 125, 155) self.collision_manager = cm.CollisionManagerBruteForce() self.image = pyglet.image.load("resources/sprite.png") self.fireballImage = pyglet.image.load("resources/fireball.png") self.wolfImage = pyglet.image.load("resources/wolf.png") self.image_grid = pyglet.image.ImageGrid(self.image, 8, 10, item_width=120, item_height=130) self.image_grid2 = pyglet.image.ImageGrid(self.wolfImage, 6, 20, item_width=32, item_height=64) self.walkingWolf = pyglet.image.Animation.from_image_sequence( self.image_grid2[40:45], 0.1, True) self.wolfKnockout = pyglet.image.Animation.from_image_sequence( self.image_grid2[66:70], 0.1, True) self.image_grid_fireball = pyglet.image.ImageGrid(self.fireballImage, 8, 8, item_width=64, item_height=64) self.fireballAnimation = pyglet.image.Animation.from_image_sequence( self.image_grid_fireball[8:16], 0.1, True) self.animationStop = pyglet.image.Animation.from_image_sequence( self.image_grid[10:11], 0.1, True) self.animationUp = pyglet.image.Animation.from_image_sequence( self.image_grid[10:20], 0.1, True) self.animationDown = pyglet.image.Animation.from_image_sequence( self.image_grid[30:40], 0.1, True) self.animationRight = pyglet.image.Animation.from_image_sequence( self.image_grid[0:10], 0.1, True) self.animationLeft = pyglet.image.Animation.from_image_sequence( self.image_grid[20:30], 0.1, True) self.player = cocos.sprite.Sprite(self.animationStop) self.kierunek = "left" self.bullets = [] self.player.position = 400, 100 self.player.velocity = 0, 0 self.player.speed = 500 super().add(self.player) self.player.do(Move()) self.schedule(self.update) self.lives = 10 self.motion = True self.points = 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)
def __init__(self): super(Game,self).__init__(202, 202, 125, 155) self.collision_manager = cm.CollisionManagerBruteForce() self.collision_manager.enabled = True self.collision_manager.enabledDrawBoundingBox = True; img = pyglet.image.load("resources/sprite.png") self.img2= pyglet.image.load("resources/fireball.png") self.bullets = [] self.kierunek = "Right" self.img_grid = pyglet.image.ImageGrid(img, 8,10, item_width = 120, item_height=130) self.anim = pyglet.image.Animation.from_image_sequence(self.img_grid[50:51], 1/150 , True) self.animWalkUp = pyglet.image.Animation.from_image_sequence(self.img_grid[10:20], 1/15 , True) self.animWalkDown = pyglet.image.Animation.from_image_sequence(self.img_grid[30:40], 1/15 , True) self.animWalkRight = pyglet.image.Animation.from_image_sequence(self.img_grid[0:10], 1/15 , True) self.animWalkLeft = pyglet.image.Animation.from_image_sequence(self.img_grid[20:30], 1/15 , True) self.leftPressed = False self.righPressed = False self.upPressed = False self.downPressed = False self.spacePressed= False self.keysPressed = [] self.keysPressed.append(None) self.keysPressed.append(None) self.keysPressed.append(None) self.player = cocos.sprite.Sprite(self.anim) self.player.position = 400, 225 self.player.velocity = 0, 0 self.player.speed =150 self.player.scale = 0.2 self.player.cshape = cm.AARectShape( self.player.position, self.player.width/2, self.player.height/2 ) super().add(self.player) self.collision_manager.add(self.player) super().add(self.player) #super().add(mapWalls().returnMapWalls()) self.mapWalls= mapWalls(self.collision_manager) self.wallsColliding = self.mapWalls.returnMapWalls() for obj in self.wallsColliding: self.collision_manager.add(obj) super().add(self.mapWalls.returnMapWallsBatch()) brick=segment(100,500).returnSprite() brick.cshape = cm.AARectShape( brick.position, brick.width, brick.height ) self.collision_manager.add(brick) super().add(brick) #self.collision_manager.add(self.mapWalls self.licznik = 0 self.player.do(Move()) self.schedule(self.update)
def __init__(self, hotkeys, scroller): super(HotkeysLayer, self).__init__() self.scroller = scroller self.cm = collision_model.CollisionManagerBruteForce() self.hotkeysMenuOn = False self.hotkeys = hotkeys # self.hotkeysMenu = HotkeysMenu(self.hotkeys, 190, 200) self.hotkeysList = [] self.keyNumList = []
def __init__(self): super().__init__() self.police = Police() self.car = Car() self.add(self.police, 1) self.add(self.car, 0) self.coll_manager = cm.CollisionManagerBruteForce()
def main(): global keyboard global collision_manager collision_manager = cm.CollisionManagerBruteForce() director.init(width=MAP_SIZE[0], height=MAP_SIZE[1], autoscale=True, resizable=True) # Create a layer player_layer = Mqtt_layer(collision_manager) # create an obstacle and add to layer obstacle1 = CollidableSprite('sprites/obstacle.png', 200, 200, 0) player_layer.add(obstacle1) obstacle1.velocity = (0, 0) collision_manager.add(obstacle1) # create an obstacle and add to layer obstacle2 = CollidableSprite('sprites/obstacle.png', 320, 240, 0) player_layer.add(obstacle2) obstacle2.velocity = (0, 0) collision_manager.add(obstacle2) # create an obstacle and add to layer obstacle4 = CollidableSprite('sprites/obstacle.png', 490, 490, 0) player_layer.add(obstacle4) obstacle4.velocity = (0, 0) collision_manager.add(obstacle4) # create the car and add to layer car = CollidableSprite('sprites/Black_viper.png', 100, 100, 10) action = actions.interval_actions.ScaleBy(0.25, 0) car.do(action) player_layer.add(car) car.velocity = (0, 0) # Set the sprite's movement class. car.do(Car()) # Create a scene and set its initial layer. main_scene = scene.Scene(player_layer) # collisions collision_manager.add(car) # Attach a KeyStateHandler to the keyboard object. keyboard = key.KeyStateHandler() director.window.push_handlers(keyboard) # Play the scene in the window. director.run(main_scene)
def __init__(self): super().__init__() self.player = p_layer() self.enemy = Enemy() self.life_bar = life_bar() self.enemy_num = 1 self.add(self.player, 1) self.add(self.enemy, 0) self.add(self.life_bar, 2) self.coll_manager = cm.CollisionManagerBruteForce()
def __init__(self, map_layer, chara_layer): super().__init__() self.schedule(self.on_update) self.pacman = chara_layer.actorPacMan self.walls = map_layer.walls self.ghosts = chara_layer.ghosts self.pellets = map_layer.pellets self.POWpellets = map_layer.POWpellets self.map_layer = map_layer self.chara_layer = chara_layer self.score = 0 self.lives = 3 self.POWstartTime = 0 self.POWendTime = 0 self.time = 0 self.fixWall = False self.score_label = cocos.text.Label('Score: 0' , font_size=30, anchor_x='center', anchor_y='center', color=(255,255,255,255)) self.score_label.position = 300, 750 self.add(self.score_label) self.lives_label = cocos.text.Label('Lives Left: 3', font_size=15, anchor_x='center', anchor_y='center', color=(255,255,255,255)) self.lives_label.position = 300, 704 self.add(self.lives_label) self.wall_manager = cm.CollisionManagerBruteForce() self.pellet_manager = cm.CollisionManagerBruteForce() self.ghost_manager = cm.CollisionManagerBruteForce() self.POWpellet_manager = cm.CollisionManagerBruteForce()
def __init__(self, gameMap, scroller,player): super(InfoLayer, self).__init__() self.map = gameMap self.scroller = scroller self.cm = collision_model.CollisionManagerBruteForce( ) # Grid having problems... self.miniMapToggled = False self.player = player # Also hard coded. self.position = (3 * WINDOW_WIDTH / 4.0 + 90, WINDOW_HEIGHT / 4.0 - 20) self.visibleCircles = [] # Define the minimap rectangle sprite that we toggle on/off. self.miniMap = MiniMap( self.map.AS, self.map.w, self.map.h, self.map.edges, self.player) self.map.minimap = self.miniMap # adds this MiniMap instance to the map
def __init__(self): super(MainLayer, self).__init__() self.collision_manager = cm.CollisionManagerBruteForce() # Игрок self.player = Player(1) self.add(self.player, z=2) self.collision_manager.add(self.player) # Свины self.enemies = [Swin(0, (500, 600))] for e in self.enemies: e.do(SwinAction()) self.add(e) self.collision_manager.add(e)
def __init__(self): self.keyPressed = False self.counter = 0 self.kierunek = "prawo" super(SpriteLayer,self).__init__() image = pyglet.image.load("resources/spriteV2.png") self.collision_manager = cm.CollisionManagerBruteForce() self.direction = "right" self.bullets = [] self.nietoperki = [] image_gride = pyglet.image.ImageGrid(image,8,10,item_width=60,item_height=65) self.animationRight=pyglet.image.Animation.from_image_sequence(image_gride[0:10],0.1,True) self.animationLeft=pyglet.image.Animation.from_image_sequence(image_gride[20:30],0.1,True) self.animationStop=pyglet.image.Animation.from_image_sequence(image_gride[70:73],0.1,True) self.animationStopPrawo=pyglet.image.Animation.from_image_sequence(image_gride[0:1],0.1,True) self.animationStopLewo=pyglet.image.Animation.from_image_sequence(image_gride[20:21],0.1,True) self.sprite = Sprite(self.animationStop) pozycjaX = 200 for i in range(20): nietoperek = Enemy(pozycjaX+i*300,500,100,100,2) super().add(nietoperek.returnSprite()) self.collision_manager.add(nietoperek.returnSprite()) self.nietoperki.append(nietoperek) ogrPositionsX = [24,48,64,119,134,147,168,183] tileSize = 32 ogrPositionTileSize = [] for position in ogrPositionsX: ogrPositionTileSize.append(position *tileSize) self.ogrs = [] for x in ogrPositionTileSize: self.ogrs.append(Enemy2(x,500)) for each in self.ogrs: super().add(each.returnSprite()) self.collision_manager.add(each.returnSprite()) super().add(self.sprite) #self.sprite.scale = 1.2 self.sprite.do(GameAction()) self.schedule(self.update)
def __init__(self): self.__inits = { Feeder: self.__init_feeder, Player: self.__init_player, Food: self.__init_food } self.__collisions = { (Player, Player): self.__collision_pvp, (Player, Food): self.__collision_pvf, (Food, Player): lambda dt, f, p: self.__collision_pvf(dt, p, f), (Player, Feeder): self.__collision_pvfeed, (Feeder, Player): lambda dt, f, p: self.__collision_pvfeed(dt, p, f) } self.__collision_manager = cm.CollisionManagerBruteForce() self.__entities = defaultdict(lambda: []) self.player_death_event = Event()
def __init__(self): super().__init__() window_x, window_y = cocos.director.director.get_window_size() self.player = CollidableSprite('player.png', window_x / 2, window_y / 2) self.add(self.player) self.collision_manager = cm.CollisionManagerBruteForce() self.collision_manager.add(self.player) self.pressed_keys = set() self.schedule(self.process_keys) self.time_since_enemy_spawn = 0 self.schedule(self.spawn_enemies) self.schedule(self.collisions)
def __init__(self, pos): super(MainLayer, self).__init__() self.collision_manager = cm.CollisionManagerBruteForce() # Игрок self.player = Player(game_controller.player_id, pos) self.add(self.player, z=2) self.collision_manager.add(self.player) # Другие игроки self.other_players = [] for i in range(game_controller.max_players): if i != self.player.player_id - 1: online_player = OnlinePlayer(i + 1) self.other_players.append(online_player) self.add(online_player) self.collision_manager.add(online_player) self.schedule(self.update)
def __init__(self): super(GameScene, self).__init__() self.background = BackgroundLayer('backgrounds/bluespace.png') self.spaceship = SpaceShipSprite() EnemyFactory.populate_enemy("Aerolite", qnt=15) EnemyFactory.populate_enemy("Rohenian", qnt=15) self.aerolites = EnemyFactory.create_enemy("Aerolite", 10) self.rohenians = EnemyFactory.create_enemy("Rohenian", 5) self.isrecharged = False self.__recharge() self.collision_manager = collision.CollisionManagerBruteForce() self.__collision_manager_add() self.schedule(self.check_collisions) clock.schedule_interval(self.__check_buttons, .15) self.show_bullets_string() self.show_hp_string() self.new_game()
def __init__(self, R): super(GameScene, self).__init__() self.R = R self.batch = BatchNode() self.collisionManager = CollisionModel.CollisionManagerBruteForce() #Main Background mainBack = Sprite(R._BACKGROUND[4]) mainBack.position = (director._window_virtual_width / 2, director._window_virtual_height / 2) self.add(mainBack) #Parallax-BackGround self.add( ParallaxBackground((0, 0, 800, 600), [R._BACKGROUND[1], R._BACKGROUND[1]], 16, 10)) self.add( ParallaxBackground((0, 0, 800, 600), [R._BACKGROUND[2], R._BACKGROUND[2]], 4, 10)) self.add( ParallaxBackground((0, 0, 800, 600), [R._BACKGROUND[3], R._BACKGROUND[3]], 2, 10)) #Add Player self.PLAYER = Player() self.ENEMY = Enemy() self.HUD = HUD() #set Data self.PLAYER.set(self) self.ENEMY.set(self) self.HUD.set(self) #Add layers self.add(self.PLAYER) self.add(self.ENEMY) self.add(self.HUD) #Adding Batch to Layer self.add(self.batch)
def __init__(self): super(GameLayer, self).__init__() # self.CollMan = cm.CollisionManager() #self.CollMan = cm.CollisionManagerGrid(0.0, 640, #0.0, 480, # 100, #100) self.CollMan = cm.CollisionManagerBruteForce() self.add_hero() self.add_asteroids() self.add_asteroid() #self.boom() # self.add_boss() self.CollMan.add(self.hero) self.CollMan.add(self.asteroid1) self.CollMan.add(self.asteroid2) #self.check_known # self.check_list() # iterator for "count" method test. self.i = 0 #proximity to check distance between hero & test asteroid. self.proximity = (0.0, 0.0) self.asteroid_list = set() self.remove_asteroid_list = set() self.asteroid_list.add(self.asteroid_x) self.asteroid_list.add(self.asteroid1) self.asteroid_list.add(self.asteroid2) # self.counter(self.i) self.add_count_label() self.add_pos_x_label() self.add_proximity_label() self.schedule(self.update)
from pyglet.window import key import pyglet import cocos.collision_model as cm """config file which contains common objects""" collision_manager = cm.CollisionManagerBruteForce() keyboard = key.KeyStateHandler() music_player = pyglet.media.Player()
def __init__(self): super(Game, self).__init__(202, 202, 125, 155) self.collision_manager = cm.CollisionManagerBruteForce() self.image = pyglet.image.load("resources/sprite.png") self.fireballImage = pyglet.image.load("resources/fireball.png") self.wolfImage = pyglet.image.load("resources/wolf.png") self.image_grid = pyglet.image.ImageGrid(self.image, 8, 10, item_width=120, item_height=130) self.image_grid2 = pyglet.image.ImageGrid(self.wolfImage, 6, 20, item_width=32, item_height=64) self.walkingWolf = pyglet.image.Animation.from_image_sequence( self.image_grid2[40:45], 0.1, True) self.wolfKnockout = pyglet.image.Animation.from_image_sequence( self.image_grid2[66:70], 0.1, True) self.image_grid_fireball = pyglet.image.ImageGrid(self.fireballImage, 8, 8, item_width=64, item_height=64) self.fireballAnimation = pyglet.image.Animation.from_image_sequence( self.image_grid_fireball[8:16], 0.1, True) self.animationStop = pyglet.image.Animation.from_image_sequence( self.image_grid[10:11], 0.1, True) self.animationUp = pyglet.image.Animation.from_image_sequence( self.image_grid[10:20], 0.1, True) self.animationDown = pyglet.image.Animation.from_image_sequence( self.image_grid[30:40], 0.1, True) self.animationRight = pyglet.image.Animation.from_image_sequence( self.image_grid[0:10], 0.1, True) self.animationLeft = pyglet.image.Animation.from_image_sequence( self.image_grid[20:30], 0.1, True) self.player = cocos.sprite.Sprite(self.animationStop) self.kierunek = "left" self.bullets = [] self.player.position = 400, 100 self.player.velocity = 0, 0 self.player.speed = 500 self.wolves = [] for i in range(5): wilk = enemy(randint(50, 750), self.walkingWolf) super().add(wilk.returnSprite()) self.collision_manager.add(wilk.returnSprite) self.wolves.append(wilk) super().add(self.player) self.player.do(Move()) self.schedule(self.update) self.lives = 10 self.motion = True self.points = 0 self.labelPoints = cocos.text.Label(str(self.points), font_size=32, font_name="Comic Sans", color=(255, 20, 147, 100)) self.labelLives = cocos.text.Label(str(self.lives), font_size=32, font_name="Comic Sans", color=(25, 255, 25, 100)) self.naszaEtykieta = cocos.text.Label("Antek", font_size=20, font_name="Comic Sans", color=(25, 255, 25, 30)) self.naszaEtykieta.position = 0, 400 super().add(self.naszaEtykieta) self.labelPoints.position = 700, 600 self.labelLives.position = 50, 600 super().add(self.labelPoints) super().add(self.labelLives) self.canGo = True
class MouseInput(ScrollableLayer): anchor = (0, 0) is_event_handler = True walls = [] labels = [] collision = cm.CollisionManagerBruteForce() palitraCollision = cm.CollisionManagerBruteForce() focusX = 1500 focusY = 500 currentType = 1 currentSprite = None appendMode = 1 buttonsTextHelp = "q-pallet, 1 - background, 2 - unmovable background, 3 - indestructible object, 4 - object, t - increase type" viewPoint = (0, 0) currentWidth = 0 currentHeight = 0 def __init__(self, keyboard, scroller): super(MouseInput, self).__init__() self.set_view(0, 0, 2000, 800, 0, 0) self.keyboard = keyboard self.scroller = scroller self.buttonsProvider = ButtonsProvider() self.objectProvider = ObjectProvider(self.keyboard, self.collision, self.palitraCollision) self.helperLayer = cocos.layer.Layer() self.buttonsInfo = Label(self.buttonsTextHelp, font_name='Helvetica', font_size=12, anchor_x='left', anchor_y='top') self.text = Label("Some text", font_name='Helvetica', font_size=12, anchor_x='left', anchor_y='bottom') self.helperLayer.add(self.text) self.helperLayer.add(self.buttonsInfo) self.add(self.helperLayer, z=5) self.palitra = cocos.layer.Layer() self.palitraObject = [] self.add(self.palitra, z=2) self.loadPalitra() self.resizeMap() map = self.buttonsProvider.getMap() if map: self.loadMap(map) def loadMap(self, map): for block in map: try: x, y = block['position'] spriteObj = sprite.Sprite(block['src']) spriteObj.src = block['src'] spriteObj.position = (x, y) spriteObj.type = block['type'] spriteObj.cshape = cm.AARectShape(spriteObj.position, spriteObj.width // 2, spriteObj.height // 2) self.walls.append(spriteObj) self.add(spriteObj) if spriteObj.type: self.collision.add(spriteObj) except pyglet.resource.ResourceNotFoundException: pass # spriteObj = sprite.Sprite('backgrounds/fill.png') # spriteObj.src = 'backgrounds/fill.png' # spriteObj.position = (0, 0) # spriteObj.type = 0 # # self.add(spriteObj) # # return def loadPalitra(self): #imgs = sorted(glob.glob('assets/*')) imgs = sorted(scandir('assets')) names = [] for file in imgs: names.append(file.name) for src in sorted(names): src = 'assets/' + str(src) land = sprite.Sprite(src) land.cshape = cm.AARectShape(land.position, land.width // 2, land.height // 2) land.src = src self.palitra.add(land) self.palitraObject.append(land) self.palitraCollision.add(land) def resizeMap(self): col = 0 row = 0 offset = 2 for land in self.palitraObject: x = land.width * .5 + land.width * col + offset - self.currentWidth // 2 y = land.height * .5 + land.height * row + offset - self.currentHeight // 2 col += 1 if col > 19: row += 1 col = 0 land.position = (x, y) land.cshape = cm.AARectShape(land.position, land.width // 2, land.height // 2) def checkButtons(self, dt): x_direction = self.keyboard[key.LEFT] - self.keyboard[key.RIGHT] y_direction = self.keyboard[key.DOWN] - self.keyboard[key.UP] x, y = self.position if self.keyboard[key.Q]: self.palitra.visible = 1 - self.palitra.visible sleep(0.1) if x_direction: x += x_direction * 20 if y_direction: y += y_direction * 20 if x_direction or y_direction: self.set_view(0, 0, self.currentWidth, self.currentHeight, x, y) if self.keyboard[key.SPACE]: self.set_view(0, 0, self.currentWidth, self.currentHeight, 0, 0) self.setLayersPosition() if self.keyboard[key.S]: self.buttonsProvider.exportToFile(self.walls) if self.keyboard[key.T]: self.currentType += 1 if self.currentType > 4: self.currentType = 1 self.updateInfo('T') sleep(0.1) if self.keyboard[key.NUM_1]: self.currentType = 1 self.updateInfo('1') if self.keyboard[key.NUM_2]: self.currentType = 2 self.updateInfo('2') if self.keyboard[key.NUM_3]: self.currentType = 3 self.updateInfo('3') if self.keyboard[key.NUM_4]: self.currentType = 4 self.updateInfo('4') def setLayersPosition(self): x, y = self.getCoordByViewPoint(0, 0) self.helperLayer.position = (x, y) self.palitra.position = (x + 2, y + 16) #self.text.position = (x, y) #self.buttonsInfo.position = (x, y + self.currentHeight) def resize(self, width, height): self.viewPoint = (width // 2, height // 2) self.currentWidth = width self.currentHeight = height self.buttonsInfo.position = (0, self.currentHeight) self.setLayersPosition() #self.resizeMap() def on_mouse_motion(self, x, y, dx, dy): pass #self.addBrick(x, y) def on_mouse_move(self, x, y): print 'mouse move' def on_mouse_drag(self, x, y, dx, dy, buttons, modifiers): x, y = self.getCoordByViewPoint(x, y) leftClick = buttons == 1 rightClick = buttons == 4 if not self.palitra.visible: if leftClick and self.currentSprite: self.addBrick(x, y) if rightClick: self.removeBrick(x, y) def getCoordByViewPoint(self, x, y): view_x, view_y = self.viewPoint pos_x, pos_y = self.position x = (x - view_x) - (pos_x - view_x) y = (y - view_y) - (pos_y - view_y) return (x, y) def on_mouse_press(self, x, y, buttons, modifiers): x, y = self.getCoordByViewPoint(x, y) leftClick = buttons == 1 rightClick = buttons == 4 if self.palitra.visible: if leftClick: self.selectBrick(x, y) else: if leftClick and self.currentSprite: self.addBrick(x, y) if rightClick: self.removeBrick(x, y) sleep(0.01) self.updateInfo(str(x) + ',' + str(y)) def updateInfo(self, info): info = "press: " + str(info) info += ", width: " + str(self.currentWidth) + ", height: " + str( self.currentHeight) if self.currentSprite: info += ", currentSprite: " + str(self.currentSprite.src) if self.currentType: info += ", currentType: " + str(self.currentType) self.text.element.text = info def selectBrick(self, x, y): dx, dy = self.palitra.position x = x - dx y = y - dy fakeObj = self.objectProvider.getFakeObject((x, y)) selectedSprite = self.objectProvider.checkIntersecWithRightPanel( fakeObj) if selectedSprite: self.currentSprite = selectedSprite else: self.currentSprite = None def addBrick(self, x, y): x = x // 32 * 32 + 16 y = y // 32 * 32 + 16 spriteObj = sprite.Sprite(self.currentSprite.src) spriteObj.src = self.currentSprite.src spriteObj.position = (x, y) spriteObj.type = self.currentType spriteObj.cshape = cm.AARectShape(spriteObj.position, spriteObj.width // 2, spriteObj.height // 2) intersec = self.objectProvider.checkIntersec(spriteObj) if intersec: return self.walls.append(spriteObj) self.collision.add(spriteObj) self.add(spriteObj) def removeBrick(self, x, y): x = x // 32 * 32 + 16 y = y // 32 * 32 + 16 fakeObj = self.objectProvider.getFakeObject((x, y)) collisions = self.collision.objs_colliding(fakeObj) if collisions: for wall in self.walls: if wall in collisions: if wall in self.walls: self.walls.remove(wall) if wall in self: self.remove(wall) if wall in self.collision.objs: self.collision.remove_tricky(wall)
def level_1_callback(self): print("第一关") self.game_menu = Game_menu() img = pyglet.image.load(address + "\skill_1.png") self.skill_1 = cocos.sprite.Sprite(img) self.skill_1.position = (100, 620) img = pyglet.image.load(address + "\skill_2.png") self.skill_2 = cocos.sprite.Sprite(img) self.skill_2.position = (220, 620) img = pyglet.image.load(address + "\skill_3.png") self.skill_3 = cocos.sprite.Sprite(img) self.skill_3.position = (340, 620) img = pyglet.image.load(address + "\skill_4.png") self.skill_4 = cocos.sprite.Sprite(img) self.skill_4.position = (460, 620) img = pyglet.image.load(address + "\skill_5.png") self.skill_5 = cocos.sprite.Sprite(img) self.skill_5.position = (580, 620) self.scene_3 = cocos.scene.Scene(MouseDisplay(), self.game_menu, self.skill_1, self.skill_2, self.skill_3, self.skill_4, self.skill_5) self.addable = False global scroller, speed_1, block_1, block_1_R speed_1 = 1 scroller = cocos.layer.ScrollingManager() self.e_list = [] self.skill = [[True, 0], [True, 0], [True, 0], [True, 0], [True, 0]] #两个数组第一个是技能1 每一个有两个参数:参数1:现在是否可以释放 参数2:冷却时间计数 self.player_damage = 5 self.m_layer = MainLayer() self.player_1 = Player_1() self.t_list = [] # self.t_list.append(Teammate(animation.myE_skeleton.skeleton,animation.myE_skin.skin,"/animation/q.anim","/animation/E_attack.anim","/animation/frozen.anim",0,120,200,100,'/sound/beheat_2.wav')) self.t_list.append( Teammate(animation.diy_skeleton1.skeleton, animation.diy_skin1.skin, "/animation/diy_man_walk.anim", "/animation/diy_man_attack.anim", "/animation/diy_frozen.anim", 0, diy_data[2], 200, 100, '/sound/beheat_2.wav')) # self.t_list.append(Teammate(animation.myanimal_skeleton.skeleton,animation.myanimal_skin.skin,"/animation/crawl.anim","/animation/animal_attack.anim","/animation/animal_beheat.anim",0,80,200,100,'/sound/cow_beheat.wav')) timer = threading.Timer(10, self.add_recover) timer.start() # self.e_list.append([Enemy_1(animation.test_skeleton.skeleton,animation.test_skin.skin,"/animation/2t.anim","/animation/E_attack.anim","/animation/frozen.anim",0,100,4650,60,'/sound/beheat_2.wav'), False]) #第一个是对象 第二个是是否死亡 第三个是count(子弹击中) self.e_list.append([ Enemy_1(animation.mybird_skeleton.skeleton, animation.mybird_skin.skin, "/animation/turn_fly.anim", "/animation/bird_attack.anim", "/animation/bird_beheat.anim", 0, 100, 4650, 350, '/sound/bird_beheat.wav'), False ]) #第一个是对象 第二个是是否死亡 第三个是count(子弹击中) self.coll_manager = cm.CollisionManagerBruteForce() self.coll_manager.add(self.player_1) self.coll_manager.add(self.t_list[0]) self.coll_manager.add(self.e_list[0][0]) self.coll_manager.add(self.player_1.bullet) self.coll_manager.add(self.m_layer.enemy_base) self.coll_manager.add(self.m_layer.my_base) self.fi = self.player_1 scroller.add(self.m_layer) scroller.add(self.e_list[0][0]) scroller.add(self.player_1) scroller.add(self.t_list[0]) self.scene_3.schedule_interval(self.player_1.status_detect, 1 / 30) self.scene_3.schedule_interval(self.player_1.update_position, 1 / 80) self.scene_3.schedule_interval(self.m_layer.enemy_base.update_position, 1 / 30) if not self.e_list[0][1]: self.scene_3.schedule_interval(self.e_list[0][0].update_position, 1 / 80) self.scene_3.schedule_interval(self.e_list[0][0].status_detect, 1 / 30) self.scene_3.schedule_interval(self.t_list[0].update_position, 1 / 80) self.scene_3.schedule_interval(self.t_list[0].status_detect, 1 / 30) self.scene_3.schedule_interval(self.update, 1 / 80) if self.double: self.player_2 = Player_2() self.coll_manager.add(self.player_2) scroller.add(self.player_2) self.scene_3.schedule_interval(self.player_2.status_detect, 1 / 30) self.scene_3.schedule_interval(self.player_2.update_position, 1 / 80) self.scene_3.add(scroller, 0) director.replace( scenes.transitions.SlideInBTransition(self.scene_3, duration=1))