Пример #1
0
    def __init__(self, name):

        self.name = name

        self.scroller = cocos.layer.ScrollingManager()
        self.char_layer = cocos.layer.ScrollableLayer()
        self.map_layer = cocos.tiles.load('maps/'+self.name+'.tmx')["ground1"]
        self.map_layer2 = cocos.tiles.load('maps/'+self.name+'.tmx')["ground2"]
        self.map_layer3 = cocos.tiles.load('maps/'+self.name+'.tmx')["foreground"]

        self.scroller.add(self.map_layer, z = 0)

        self.scroller.add(self.map_layer2, z = 1)

        self.scroller.add(self.char_layer, z = 2)

        self.scroller.add(self.map_layer3, z = 3)


        #self.player = None

        self.npcs = {}
        self.items = []

        cocos.scene.Scene.__init__(self, self.scroller)

        self.dialog_layer = cocos.layer.Layer()
        self.dialog_box = cocos.sprite.Sprite(pyglet.image.load('img/GUI/dialog_box.png'), anchor=(0,0))
        self.dialog_layer.add(self.dialog_box,z=0)
        self.dialog_layer.visible = False
        self.add(self.dialog_layer, z = 4)
        self.dialog_line1 = cocos.text.Label(anchor_x = 'left',font_name='Statix',position=(100,90), color=(36,36,36,255), font_size=30)
        self.dialog_line2 = cocos.text.Label(anchor_x = 'left',font_name='Statix',position=(100,46), color=(36,36,36,255), font_size=30)

        self.dialog_arrow = cocos.sprite.Sprite(pyglet.image.load('img/GUI/dialog_arrow.png'), anchor=(0,0))
        self.dialog_arrow.position = (690,15)
        self.dialog_arrow.visible = False
        self.dialog_layer.add(self.dialog_arrow, z = 5)

        self.dialog_layer.add(self.dialog_line1, z = 5)
        self.dialog_layer.add(self.dialog_line2, z = 5)

        self.current_dialog = []
        self.current_dialog_speaker = []
        self.current_dialog_counter = 0
        self.speaker_boxes = {}

        # Spawn characters
        player = Character('nod1',(0,0))
        player.map_mode()

        self.timer = 0.0

        self.in_transition = True

        if name == 'village':
            name += str(1)

        for character in MAPCHARA[name]:
            chara = Character(character[0][0:-1], (0,0))
            chara.name = character[0]
            self.placeCharacter(chara, character[1])

        cocos.director.director.window.push_handlers(self)

        # self.bgm = pyglet.media.load('bgm/'+BGM[name], streaming=False)
        # self.bgm_player = pyglet.media.Player()
        # self.bgm_player.queue(self.bgm)
        # self.bgm_player.eos_action = self.bgm_player.EOS_LOOP

        self.ready = 0
Пример #2
0
    def __init__(self, name):

        self.name = name

        self.scroller = cocos.layer.ScrollingManager()
        self.char_layer = cocos.layer.ScrollableLayer()
        self.map_layer = cocos.tiles.load('maps/' + self.name +
                                          '.tmx')["ground1"]
        self.map_layer2 = cocos.tiles.load('maps/' + self.name +
                                           '.tmx')["ground2"]
        self.map_layer3 = cocos.tiles.load('maps/' + self.name +
                                           '.tmx')["foreground"]

        self.scroller.add(self.map_layer, z=0)

        self.scroller.add(self.map_layer2, z=1)

        self.scroller.add(self.char_layer, z=2)

        self.scroller.add(self.map_layer3, z=3)

        #self.player = None

        self.npcs = {}
        self.items = []

        cocos.scene.Scene.__init__(self, self.scroller)

        self.dialog_layer = cocos.layer.Layer()
        self.dialog_box = cocos.sprite.Sprite(
            pyglet.image.load('img/GUI/dialog_box.png'), anchor=(0, 0))
        self.dialog_layer.add(self.dialog_box, z=0)
        self.dialog_layer.visible = False
        self.add(self.dialog_layer, z=4)
        self.dialog_line1 = cocos.text.Label(anchor_x='left',
                                             font_name='Statix',
                                             position=(100, 90),
                                             color=(36, 36, 36, 255),
                                             font_size=30)
        self.dialog_line2 = cocos.text.Label(anchor_x='left',
                                             font_name='Statix',
                                             position=(100, 46),
                                             color=(36, 36, 36, 255),
                                             font_size=30)

        self.dialog_arrow = cocos.sprite.Sprite(
            pyglet.image.load('img/GUI/dialog_arrow.png'), anchor=(0, 0))
        self.dialog_arrow.position = (690, 15)
        self.dialog_arrow.visible = False
        self.dialog_layer.add(self.dialog_arrow, z=5)

        self.dialog_layer.add(self.dialog_line1, z=5)
        self.dialog_layer.add(self.dialog_line2, z=5)

        self.current_dialog = []
        self.current_dialog_speaker = []
        self.current_dialog_counter = 0
        self.speaker_boxes = {}

        # Spawn characters
        player = Character('nod1', (0, 0))
        player.map_mode()

        self.timer = 0.0

        self.in_transition = True

        if name == 'village':
            name += str(1)

        for character in MAPCHARA[name]:
            chara = Character(character[0][0:-1], (0, 0))
            chara.name = character[0]
            self.placeCharacter(chara, character[1])

        cocos.director.director.window.push_handlers(self)

        self.bgm = pyglet.media.load('bgm/' + BGM[name], streaming=False)
        self.bgm_player = pyglet.media.Player()
        self.bgm_player.queue(self.bgm)
        self.bgm_player.eos_action = self.bgm_player.EOS_LOOP

        self.ready = 0