示例#1
0
    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)]))
示例#2
0
    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倍
示例#3
0
    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))
示例#4
0
 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)
示例#5
0
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
示例#6
0
 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)
示例#7
0
    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)]))
示例#8
0
    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))
示例#9
0
    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))
示例#10
0
    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))
示例#11
0
    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))
示例#12
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))
示例#13
0
 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
示例#14
0
    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()
        )
示例#15
0
文件: menu.py 项目: bingo957/cocos
def zoom_out():
    """Predefined action that scales to 1.0 factor in 0.2 seconds"""
    return ac.ScaleTo(1.0, duration=0.2)
示例#16
0
 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))