def __init__(self): super(ChooseOneMenu, self).__init__("Загрузка ботов") self.font_title['font_name'] = 'Oswald' self.font_title['font_size'] = 50 self.font_title['bold'] = True self.item1 = ImageMenuItem('res/download_white.png', self.on_image_callback_red) self.item2 = ImageMenuItem('res/download_black.png', self.on_image_callback_blue) self.item1.do(ac.ScaleBy(10)) self.item2.do(ac.ScaleBy(10)) self.font_item['font_name'] = 'Oswald' self.font_item['font_size'] = 20 self.font_item_selected['font_size'] = 20 self.font_item_selected['color'] = (255, 255, 255, 1000) self.create_menu([self.item1, self.item2], ac.ScaleTo(10.0, duration=0.1), ac.ScaleTo(8, duration=0.1), layout_strategy=fixedPositionMenuLayout([(180, 300), (620, 300), (450, 260), (750, 360)]))
def __init__(self): super(MainMenu, self).__init__('Tower Defense') self.font_title[ 'font_name'] = 'Oswald' #使用towerdefense.py載入的字體 標題、選項、選中的選項都使用 self.font_item['font_name'] = 'Oswald' self.font_item_selected['font_name'] = 'Oswald' # self.menu_anchor_y = 'center' #設定置中 self.menu_anchor_x = 'center' items = list() #選項用list來儲存 items.append(cocos.menu.MenuItem('New Game', self.on_new_game)) #一般可點擊一次的選項,開始新遊戲 items.append( cocos.menu.ToggleMenuItem('Show FPS: ', self.show_fps, director.show_FPS) ) #布林選項,傳入值至show_fps(),決定是否要顯示FPS則在show_fps()內以及第三個參數都要director.show_FPS,缺一不可 items.append(cocos.menu.MenuItem('Quit', pyglet.app.exit)) #離開遊戲 self.create_menu( items, ac.ScaleTo(1.25, duration=0.25), ac.ScaleTo(1.0, duration=0.25) ) #由於cocos2d 除了精靈以外 其他東西也都是繼承是cocosNode 這意味著一般操控精靈的"動作"也可以使用於這,ScaleTo用於將目標縮放至倍數大小,第一個設定選中時將該選項放大至1.25倍在0.25秒內,第二個是放開時在0.25秒內回復到1倍
def __init__(self): super(MainMenu, self).__init__('WCTC Defense') # use a custom font for menu title self.font_title['font_name'] = 'Oswald' # use same font for menu items self.font_item['font_name'] = 'Oswald' self.font_item_selected['font_name'] = 'Oswald' # easier to center menu items in window if menu's # anchor points are also in its centers self.menu_anchor_y = 'center' self.menu_anchor_x = 'center' # create list to hold menu items items = list() # calls on_new_game() when clicked items.append(cocos.menu.MenuItem('New Game', self.on_new_game)) # calls show_fps() when clicked # third argument is the initial state of the toggle: True/False items.append( cocos.menu.ToggleMenuItem('Show FPS: ', self.show_fps, director.show_FPS)) # call pyglet's exit() function items.append(cocos.menu.MenuItem('Quit', pyglet.app.exit)) self.create_menu( items, # action when menu is activated ac.ScaleTo(1.25, duration=0.25), # action when menu is deactivated ac.ScaleTo(1.0, duration=0.25))
def on_key_press(key, modifier): if key == pyglet.window.key.Z: if scroller.scale == .75: scroller.do(actions.ScaleTo(1, 2)) else: scroller.do(actions.ScaleTo(.75, 2)) elif key == pyglet.window.key.D: test_layer.set_debug(True)
def get_test_scene(): template_action = ac.Repeat( # repeat forever ( ac.Delay(1.0) # wait 1 second + # and then ac.Rotate(360, 2.0) # rotate 360 degrees in 2 seconds + # and then ac.Delay(1.0) # wait 1 second + # and then ac.ScaleTo(2.0, 1.0) # zoom to 2x in 1 second + # and then ac.ScaleTo(1.0, 1.0) # zoom to 1x in 1 second ) w, h = director.get_window_size() world = cocos.layer.Layer() # bluish square bluish_square = cocos.layer.ColorLayer(0, 160, 176, 255, width=100, height=100) # transform_anchor set to the center position of itself bluish_square.transform_anchor = (bluish_square.width / 2.0, bluish_square.height / 2.0) bluish_square.position = (w // 3, h // 2) bluish_square.do(template_action) world.add(bluish_square, z=2) mark_anchor = cocos.layer.ColorLayer(161, 191, 54, 255, width=8, height=8) mark_anchor.position = (bluish_square.x + bluish_square.transform_anchor_x, bluish_square.y + bluish_square.transform_anchor_y) world.add(mark_anchor, z=3) # redish square redish_square = cocos.layer.ColorLayer(201, 43, 0, 255, width=100, height=100) # transform_anchor set to the bottomleft corner of itself redish_square.transform_anchor = (0, 0) redish_square.position = (w * 2 // 3, h // 2) redish_square.do(template_action) world.add(redish_square, z=2) mark_anchor = cocos.layer.ColorLayer(161, 191, 54, 255, width=8, height=8) mark_anchor.position = (redish_square.x + redish_square.transform_anchor_x, redish_square.y + redish_square.transform_anchor_y) world.add(mark_anchor, z=3) scene = cocos.scene.Scene() scene.add(world) return scene
def on_key_press(self, k, modifiers): if (k in g.keyBindings): hitbox = self.hitBoxes[g.keyBindings.index(k)] hitbox.do( ac.ScaleTo(spriteScale * 1.2, 0.05) + ac.ScaleTo(spriteScale, 0.1)) keySprite = self.keyIndicators[g.keyBindings.index(k)] if (keySprite): self.keyIndicators[g.keyBindings.index(k)] = {} action = (ac.FadeOut(2.25)) + ac.CallFuncS(self.remove_child) keySprite.do(action)
def __init__(self): super(FinalMenu, self).__init__() self.menu_valign = BOTTOM Quit = MenuItem('Выход', self.on_qiut) self.font_item['font_name'] = 'Oswald' self.font_item['font_size'] = 25 self.create_menu([Quit], Acrions.ScaleTo(0.8, duration=0.25), Acrions.ScaleTo(0.7, duration=0.25), layout_strategy=fixedPositionMenuLayout([(400, 150), (130, 150)]))
def __init__(self): super(MainMenu, self).__init__('Tower Defense') self.font_title['font_name'] = 'Oswald' self.font_item['font_name'] = 'Oswald' self.font_item_selected['font_name'] = 'Oswald' self.menu_anchor_y = 'center' self.menu_anchor_x = 'center' items = list() items.append(cocos.menu.MenuItem('New Game', self.on_new_game)) items.append(cocos.menu.ToggleMenuItem('Show FPS: ', self.show_fps, director.show_FPS)) items.append(cocos.menu.MenuItem('Quit',pyglet.app.exit)) self.create_menu(items, ac.ScaleTo(1.25, duration=0.25), ac.ScaleTo(1.0, duration=0.25))
def __init__(self): super(MainMenu, self).__init__('Rode Runner V' + Scenario.VERSION) self.menu_anchor_y = 'center' self.menu_anchor_x = 'center' self.level_start = 1 items = list() items.append(cocos.menu.MenuItem('New Game', self.on_new_game)) items.append( cocos.menu.EntryMenuItem('Level Start:', self.on_level_start, str(self.level_start))) items.append(cocos.menu.MenuItem('Quit', pyglet.app.exit)) self.create_menu(items, ac.ScaleTo(1.0, duration=3), ac.ScaleTo(1.0, duration=0.25))
def __init__(self): super(Authors, self).__init__("Paradox") self.font_title['font_name'] = 'Oswald' self.font_title['font_size'] = 50 self.font_title['bold'] = True auth_1 = MenuItem(' Константин Чимпоеш ', self.on_callback) auth_2 = MenuItem(' Доктор Артём', self.on_callback) auth_3 = MenuItem(' Спасенов Иван', self.on_callback) auth_4 = MenuItem(' Васильев Никита', self.on_callback) back_item = ImageMenuItem('res/back.png', self.on_back) self.create_menu([auth_1, auth_2, auth_3, auth_4, back_item], ac.ScaleTo(1.25, duration=0.25), ac.ScaleTo(1.0, duration=0.25))
def __init__(self): super(MainMenu, self).__init__('') items = list() items.append( cocos.menu.ImageMenuItem('assets/startButton.png', self.on_new_game)) items.append( cocos.menu.ImageMenuItem('assets/startButton.png', self.exit)) # Start Button items[0].position = 340, -150 items[1].position = 340, -250 self.create_menu(items, ac.ScaleTo(3.0, duration=0), ac.ScaleTo(3.0, duration=0))
def __init__(self): super(MainMenu, self).__init__('Меню') self.font_title['font_name'] = 'Oswald' self.font_title['font_size'] = 35 self.font_title['bold'] = True item1 = MenuItem('Начать игру', self.on_play) item3 = MenuItem('Авторы', self.on_authors) item4 = MenuItem('Выход', self.on_quit) self.font_item['font_name'] = 'Times New Roman' self.sprite = Sprite('res/back.png') self.sprite.position = 0, 0 self.create_menu([item1, item3, item4], ac.ScaleTo(1.25, duration=0.25), ac.ScaleTo(1.0, duration=0.25))
def on_mouse_scroll(self, x, y, dx, dy): if dy < 0: if self._desired_scale < .2: return True self._desired_scale -= .1 elif dy > 0: if self._desired_scale > 2: return True self._desired_scale += .1 if dy: self.manager.do(actions.ScaleTo(self._desired_scale, .1)) return True
def __init__(self): super().__init__() l = [] l.append( MenuItem('New Game', self.on_new_game) ) l.append( MenuItem('Options', self.on_options) ) l.append( MenuItem('Quit', self.on_quit) ) self.create_menu( l, ac.ScaleTo(1.2, duration=0.2), zoom_out() )
def zoom_out(): """Predefined action that scales to 1.0 factor in 0.2 seconds""" return ac.ScaleTo(1.0, duration=0.2)
def fire(self,x,y): self.do(actions.MoveTo((x,y),0.5) | actions.ScaleTo(0.5,0.5) + actions.Delay(0.5) + actions.CallFunc(self.explode))