コード例 #1
0
class TestLayer(cocos.layer.Layer):
    def __init__(self):
        super(TestLayer, self).__init__()

        x, y = director.get_window_size()
        self.color = [127, 127, 127, 255]

        self.label = Label(time.ctime(), (x / 2, y / 2))
        self.label.do(Rotate(360, 10))
        self.add(self.label)

        self.schedule_interval(self.update_time, .1)

    def update_time(self, dt):
        self.label.element.text = time.ctime()
        self.color[:3] = [self._change_color(self.color[i]) for i in range(3)]
        self.label.element.color = self.color

    def _change_color(self, old_color):
        new_color = old_color + random.randint(-10, 10)
        if new_color > 255:
            new_color = 255
        if new_color < 0:
            new_color = 0
        return new_color
コード例 #2
0
ファイル: client.py プロジェクト: MagicPwn/ZombiePlusUltra
 def __init__(self, scene):
     from cocos.text import Label
     from cocos.actions import FadeIn
     from zombie.constants import VERSION
     
     super(TitleScreen, self).__init__()
     
     self.scene = scene
     
     title_label = Label(
         'Zombie+ Ultra',
         font_name='Extrude',
         font_size=48,
         anchor_x='center',
         anchor_y='center',
     )
     
     version_label = Label(
         VERSION,
         font_name='TinyUnicode',
         font_size=32,
         anchor_x='center',
     )
     
     title_label.position = 320, 240
     version_label.position = 320, (240 / 4) * 3
     title_label.do(FadeIn(duration=10))
     version_label.do(FadeIn(duration=10))
     
     self.add(title_label)
     self.add(version_label)
コード例 #3
0
class TestLayer(cocos.layer.Layer):
    def __init__(self):
        super( TestLayer, self ).__init__()

        x,y = director.get_window_size()
        self.color = [127, 127, 127, 255]

        self.label = Label(time.ctime(), (x/2, y/2))
        self.label.do( Rotate( 360, 10 ) )
        self.add( self.label  )

        self.schedule_interval(self.update_time, .1)

    def update_time(self, dt):
        self.label.element.text = time.ctime()
        self.color[:3] = [self._change_color(self.color[i]) for i in range(3)]
        self.label.element.color = self.color

    def _change_color(self, old_color):
        new_color = old_color + random.randint(-10, 10)
        if new_color > 255:
            new_color = 255
        if new_color < 0:
            new_color = 0
        return new_color
コード例 #4
0
ファイル: pause.py プロジェクト: brunonova/collision
	def __init__(self):
		super().__init__()

		width, height = director.get_window_size()
		paused = Label(_("PAUSE"), font_name="Ubuntu", font_size=64, bold=True,
		               color=Options.FONT_COLOR, anchor_x="center", anchor_y="center")
		paused.position = width // 2, height // 2
		paused.do(Repeat(FadeOut(0.3) + FadeIn(0.3)))  # blink
		self.add(paused)
コード例 #5
0
ファイル: gameover.py プロジェクト: DatRollingStone/nwidget
    def __init__(self, win=False):
        super(GameOver, self).__init__(32, 32, 32, 64)

        w, h = director.get_window_size()

        if win:
            soundex.play('oh_yeah.mp3')
            msg = 'YOU WIN'
        else:
            soundex.play('no.mp3')
            msg = 'GAME OVER'

        label = Label(msg,
                      font_name='Edit Undo Line BRK',
                      font_size=54,
                      anchor_y='center',
                      anchor_x='center')
        label.position = (w / 2.0, h / 2.0)

        self.add(label)

        angle = 5
        duration = 0.05
        accel = 2
        rot = Accelerate(Rotate(angle, duration // 2), accel)
        rot2 = Accelerate(Rotate(-angle * 2, duration), accel)
        effect = rot + (rot2 + Reverse(rot2)) * 4 + Reverse(rot)

        label.do(Repeat(Delay(5) + effect))

        if hiscore.hiscore.is_in(status.status.score):
            self.hi_score = True

            label = Label(
                'Enter your name:',
                font_name='Edit Undo Line BRK',
                font_size=36,
                anchor_y='center',
                anchor_x='center',
                color=(32, 32, 32, 255),
            )
            label.position = (w / 2.0, h / 2.0)
            label.position = (w // 2, 300)
            self.add(label)

            self.name = Label(
                '',
                font_name='Edit Undo Line BRK',
                font_size=36,
                anchor_y='center',
                anchor_x='center',
                color=(32, 32, 32, 255),
            )
            self.name.position = (w // 2, 250)
            self.add(self.name)
        else:
            self.hi_score = False
コード例 #6
0
ファイル: gameover.py プロジェクト: DatRollingStone/nwidget
    def __init__( self, win = False):
        super(GameOver,self).__init__( 32,32,32,64)

        w,h = director.get_window_size()

        if win:
            soundex.play('oh_yeah.mp3')
            msg = 'YOU WIN'
        else:
            soundex.play('no.mp3')
            msg = 'GAME OVER'

        label = Label(msg,
                    font_name='Edit Undo Line BRK',
                    font_size=54,
                    anchor_y='center',
                    anchor_x='center' )
        label.position =  ( w/2.0, h/2.0 )

        self.add( label )

        angle = 5
        duration = 0.05
        accel = 2
        rot = Accelerate(Rotate( angle, duration//2 ), accel)
        rot2 = Accelerate(Rotate( -angle*2, duration), accel)
        effect = rot + (rot2 + Reverse(rot2)) * 4 + Reverse(rot)
        
        label.do( Repeat( Delay(5) + effect ) )

        if hiscore.hiscore.is_in( status.status.score ):
            self.hi_score = True

            label = Label('Enter your name:',
                        font_name='Edit Undo Line BRK',
                        font_size=36,
                        anchor_y='center',
                        anchor_x='center',
                        color=(32,32,32,255),
                        )
            label.position =  ( w/2.0, h/2.0 )
            label.position = (w//2, 300)
            self.add( label )

            self.name= Label('',
                        font_name='Edit Undo Line BRK',
                        font_size=36,
                        anchor_y='center',
                        anchor_x='center',
                        color=(32,32,32,255),
                        )
            self.name.position=(w//2,250)
            self.add(self.name)
        else:
            self.hi_score = False
コード例 #7
0
ファイル: hud.py プロジェクト: ZoroOP/python-game-book
class HUDLayer(Layer):
    def __init__(self):
        super().__init__()

        self.position = (440, 10)  # left-bottom corner

        # hint region
        self.hint = ColorLayer(128, 128, 128, 128, 240, 120)
        self.hint.position = (0, 460)
        self.add(self.hint, z=-1)

        self.level = self.create_text(0, 380)
        self.lines = self.create_text(0, 300)
        self.score = self.create_text(0, 220)

        self.msg = Label("",
                         font_name="Kristen ITC",
                         font_size=46,
                         color=(176, 48, 96, 255),
                         anchor_x="left",
                         anchor_y="bottom")

        self.msg.position = (0, 50)
        self.add(self.msg)

    def create_text(self, x, y):
        text = Label("",
                     font_name="Kristen ITC",
                     font_size=32,
                     color=(105, 105, 105, 255),
                     anchor_x="left",
                     anchor_y="bottom")

        text.position = (x, y)
        self.add(text)
        return text

    def draw(self):
        self.level.element.text = "level  " + str(stats.level)
        self.lines.element.text = "lines  " + str(stats.lines)
        self.score.element.text = "score " + str(stats.score)

        stats.next_block.draw((self.position[0]-Settings.SQUARE_SIZE, self.position[1]-Settings.SQUARE_SIZE))

        if stats.msg_queue:
            self.show_msg(stats.msg_queue.popleft())

    def show_msg(self, msg):
        self.msg.element.text = msg
        self.msg.do(Show() + Delay(1) + Hide())
コード例 #8
0
ファイル: gamelayers.py プロジェクト: mcgillij/pygauntlet
class MessageLayer(Layer):
    def show_message(self, message, callback=None):
        width, height = director.get_window_size()
        self.message = Label(message, 
                             font_size=52,
                             font_name='Times New Roman',
                             anchor_x='center',
                             anchor_y='center')
        self.message.position = (width/2.0, height)
        self.add(self.message)
        
        actions = Accelerate(MoveBy( (0,-height/2.0), duration=0.5)) + \
                    Delay(1) +  \
                    Accelerate(MoveBy( (0,-height/2.0), duration=0.5)) + \
                    Hide()
        if callback:
            actions += CallFunc( callback )
        self.message.do( actions )
コード例 #9
0
ファイル: errorlayers.py プロジェクト: ice3/Glovebox
    def __init__(self, message):
        """Initialize an error layer."""
        super(ErrorLayer, self).__init__()
        w, h = director.get_window_size()

        lbl_title = Label("Fatal Error",
                          bold=True,
                          font_size=64,
                          anchor_x="center",
                          anchor_y="center",
                          color=(255, 255, 255, 0))
        lbl_title.position = w * 0.5, h * 0.75
        lbl_title.do(FadeIn(1))
        self.add(lbl_title)

        lbl_message = Label(message,
                            anchor_x="center",
                            anchor_y="center",
                            font_size=12,
                            color=(255, 255, 255, 0))
        lbl_message.position = w * 0.5, h * 0.5
        lbl_message.do(FadeIn(1))
        self.add(lbl_message)

        lbl_advice = Label(
            "Please restart the application once you have fixed the problem.",
            font_size=10,
            anchor_x="center",
            anchor_y="center",
            color=(255, 255, 255, 0))
        lbl_advice.position = w * 0.5, h * 0.25
        lbl_advice.do(Accelerate(FadeIn(3), 2))
        self.add(lbl_advice)
コード例 #10
0
class MessageLayer(Layer):
    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)
コード例 #11
0
class TestLayer(cocos.layer.Layer):
    def __init__(self):
        super( TestLayer, self ).__init__()

        x,y = director.get_window_size()
        self.color1 = [255, 0, 0, 255]
        self.color2 = [0, 0, 255, 255]

        self.label = Label('', (x//2, y//2))
        self.label.do( Rotate( 360, 10 ) )
        self.label.do( Repeat( Delay(1) + CallFunc(self.set_color, 0) +
                               Delay(1) + CallFunc(self.set_color, 1) +
                               Delay(1) + CallFunc(self.set_color, 2)
                              )) 
        self.add(self.label)
        self.set_color(2)

    def set_color(self, color_selector):
        colors = [ (255, 32, 64, 255), (0, 240, 100, 255), (90, 90, 250, 255) ]
        color = colors[color_selector]
        text = "(%s, %s, %s, %s)"%color
        self.label.element.text = text
        self.label.element.color = color
コード例 #12
0
class TestLayer(cocos.layer.Layer):
    def __init__(self):
        super(TestLayer, self).__init__()

        x, y = director.get_window_size()
        self.color1 = [255, 0, 0, 255]
        self.color2 = [0, 0, 255, 255]

        self.label = Label('', (x // 2, y // 2))
        self.label.do(Rotate(360, 10))
        self.label.do(
            Repeat(
                Delay(1) + CallFunc(self.set_color, 0) + Delay(1) +
                CallFunc(self.set_color, 1) + Delay(1) +
                CallFunc(self.set_color, 2)))
        self.add(self.label)
        self.set_color(2)

    def set_color(self, color_selector):
        colors = [(255, 32, 64, 255), (0, 240, 100, 255), (90, 90, 250, 255)]
        color = colors[color_selector]
        text = "(%s, %s, %s, %s)" % color
        self.label.element.text = text
        self.label.element.color = color
コード例 #13
0
ファイル: gameover.py プロジェクト: mcgillij/pyglet_mvc_rps
    def __init__(self, win):
        super(GameOver, self).__init__(32, 32, 32, 64)
        width, height = director.get_window_size()

        if win == 'win':
            #play win sound
            msg = 'You win!'
        elif win == 'lose':
            #play fail sound
            msg = 'Game Over Man!'
        else: #tie
            print "tie"
            msg = 'Tie! Awe Muffin!'

        label = Label(msg, font_name='Times New Roman', font_size=54, anchor_x='center', anchor_y='center')
        label.position = (width/2.0, height/2.0)
        self.add(label)
        angle = 5
        duration = 0.05
        accel = 2
        rotation = Accelerate(Rotate(angle, duration//2), accel)
        rotation2 = Accelerate(Rotate(-angle*2, duration), accel)
        effect = rotation + (rotation2 + Reverse(rotation2)) * 4 + Reverse(rotation)
        label.do(Repeat(Delay(5) + effect))
コード例 #14
0
ファイル: errorlayers.py プロジェクト: ice3/Glovebox
	def __init__(self, message):
		"""Initialize an error layer."""
		super(ErrorLayer, self).__init__()
		w, h = director.get_window_size()
		
		lbl_title = Label("Fatal Error", bold=True, font_size=64, anchor_x="center", anchor_y="center", color=(255,255,255,0))
		lbl_title.position = w * 0.5, h * 0.75
		lbl_title.do(FadeIn(1))
		self.add(lbl_title)
		
		lbl_message = Label(message, anchor_x="center", anchor_y="center", font_size=12, color=(255,255,255,0))
		lbl_message.position = w * 0.5, h * 0.5
		lbl_message.do(FadeIn(1))
		self.add(lbl_message)
		
		lbl_advice = Label("Please restart the application once you have fixed the problem.", font_size=10, anchor_x="center", anchor_y="center", color=(255,255,255,0))
		lbl_advice.position = w * 0.5, h * 0.25
		lbl_advice.do(Accelerate(FadeIn(3), 2))
		self.add(lbl_advice)
コード例 #15
0
ファイル: EffectLayer.py プロジェクト: TheZoq2/SummonerWars
 def _show_spell_label(self, user, spell):
     label = Label(spell, anchor_x="center", font_size=16, font_name=Globals.FONT_NAME)
     label.position = user.spellWheel.position[0]+Globals.LABEL_OFFSET[0],user.spellWheel.position[1]+Globals.LABEL_OFFSET[1]
     label.opacity = 0
     label.do(FadeIn(0.2) + Delay(1.0) + FadeOut(0.5) + Remove())
     self.add(label)
コード例 #16
0
class GameScreen(ColorLayer):
    is_event_handler = True

    def __init__(self):
        super(GameScreen, self).__init__(0xBF907A, 0x806052, 0xFFC0A3,
                                         0x403029)

        # Placeholders
        self.answer = "0"
        self.question = None

        # Initialize game
        self.game = Game(
            game_engine=GameEngine.BuildGameEngineFromStatesAndTransitions(
                GAME_STATES_FILENAME, GAME_TRANSITIONS_FILENAME),
            player_name=playerName,
            difficulty_level=difficultyLevel)

        # Create required labels.
        self.timer_label = Label("00",
                                 font_name="Times New Roman",
                                 font_size=32,
                                 anchor_x='center',
                                 anchor_y='center')

        self.question_label = Label("Question Text",
                                    font_name="Times New Roman",
                                    font_size=32,
                                    anchor_x='center',
                                    anchor_y='center')

        self.answer_label = Label("Answer Text",
                                  font_name="Times New Roman",
                                  font_size=32,
                                  anchor_x='center',
                                  anchor_y='center')

        self.score_board_label = Label("Score: ",
                                       font_name="Times New Roman",
                                       font_size=32,
                                       anchor_x='center',
                                       anchor_y='center')

        self.instruction_label = Label("Press Enter to submit answer!",
                                       font_name="Times New Roman",
                                       font_size=32,
                                       anchor_x='center',
                                       anchor_y='center')

        self.timer_label.position = (
            director._window_virtual_width /
            10) * 9, director._window_virtual_height / 10
        self.question_label.position = director._window_virtual_width / 2, director._window_virtual_height / 2
        self.answer_label.position = director._window_virtual_width / 2, director._window_virtual_height / 2 - 50
        self.score_board_label.position = director._window_virtual_width / 10, director._window_virtual_height / 10
        self.instruction_label.position = director._window_virtual_width / 2, (
            director._window_virtual_height / 10) * 9

        self.add(self.instruction_label)
        self.add(self.timer_label)
        self.add(self.question_label)
        self.add(self.score_board_label)
        self.add(self.answer_label)

        self.display_question()

    # Method that checks if timer is done at intervals of 1 second.
    def is_timer_done(self, callback, *args, **kwargs):
        if self.timer_label.element.text == '0':
            self.handle_answer()

    def display_question(self):
        # Reinitialize answer to empty string.
        self.answer = ""
        self.answer_label.element.text = "_"

        self.question = self.game.get_question()
        self.question_label.element.text = str(self.question)
        self.timer_label.element.text = str(self.question.time)

        # Schedule callback to check for timer every second.
        self.schedule_interval(callback=self.is_timer_done, interval=1)

        # Add action for timer.
        self.timer_label.do(UpdateTimerAction(self.question.time))

    def handle_answer(self):
        if not self.answer:
            self.answer = 10
        if self.game.submit_answer(int(self.answer)):
            print("Correct Answer")
        else:
            print("Incorrect Answer")

        # Update Score board.
        self.score_board_label.element.text = " Score: {}".format(
            self.game.get_current_state())

        # If not game over, continue with next question.
        if not self.game.is_game_over():
            self.display_question()
        else:
            # Move to next screen with score.
            director.replace(FadeTransition(Scene(ScoreBoardScreen())))

    def on_key_press(self, key, modifiers):
        if symbol_string(key) == "ENTER":
            self.handle_answer()
        else:
            print(key - ord('0'))
            self.answer += chr(key)
            self.answer_label.element.text = self.answer

    def on_exit(self):
        global game
        game = self.game
        super(GameScreen, self).on_exit()
コード例 #17
0
ファイル: gameover.py プロジェクト: HieuLsw/pedoman
    def __init__( self, win = False):
        super(GameOver,self).__init__( 32,32,32,64)

        w,h = director.get_window_size()

        self.win = win

        if win:
            soundex.play('sounds/you_win.mp3')
            msg = 'FART IN LOVE'
        else:
            soundex.play('sounds/game_over_01.mp3')
            msg = 'GAME OVER'

        label = Label(msg,
                    font_name=FONT_NAME,
                    font_size=54,
                    anchor_y='center',
                    anchor_x='center' )
        label.position =  ( w/2.0, h/2.0 )

        self.add( label )

        angle = 5
        duration = 0.05
        accel = 2
        rot = Accelerate(Rotate( angle, duration//2 ), accel)
        rot2 = Accelerate(Rotate( -angle*2, duration), accel)
        effect = rot + (rot2 + Reverse(rot2)) * 4 + Reverse(rot)
        
        label.do( Repeat( Delay(5) + effect ) )

        if hiscore.hiscore.is_in( state.score ):
            self.hi_score = True

            label = Label('Enter your name:',
                        font_name=FONT_NAME,
                        font_size=36,
                        anchor_y='center',
                        anchor_x='center',
                        color=(32,32,32,255),
                        )
            label.position =  ( w/2.0, h/2.0 )
            label.position = (w//2, 130)
            self.add( label )

            self.name= Label('',
                        font_name=FONT_NAME,
                        font_size=36,
                        anchor_y='center',
                        anchor_x='center',
                        color=(32,32,32,255),
                        )
            self.name.position=(w//2,80)
            self.add(self.name)
        else:
            self.hi_score = False

            if not self.win:
                label = Label("Press 'R' to restart level",
                            font_name=FONT_NAME,
                            font_size=18,
                            anchor_y='center',
                            anchor_x='center' )
                label.position =  ( w/2.0, 20 )
                self.add( label )
コード例 #18
0
ファイル: CutScene.py プロジェクト: falled10/Nightmare
    def __init__(self):
        super(MainLayer, self).__init__()
        skip = Label("Натисніть ПРОБІЛ, щоб пропустити", position = (100,550), color = (255,0,0, 255), font_size = 25, bold = True)
        skip.do(Blink (20,20))
        self.add(skip)
        self.img_h = image.load('res/animation/level1_monsters/hell_hound/hell-hound-run.png')
        self.img_grid_h = image.ImageGrid(self.img_h, 1, 5, item_width=67, item_height=31)
        self.anim_h = image.Animation.from_image_sequence(self.img_grid_h[0:], 0.2, loop=True)
        
        self.hell_hound = cocos.sprite.Sprite(self.anim_h)

        self.hell_hound.position = (-100, 180)
        self.hell_hound.scale = 2
        self.hell_hound.scale_x = -1
        self.add(self.hell_hound)

        self.portal = cocos.sprite.Sprite('res/animation/catscene/portal.png')
        self.portal.position = (500, 500)
        self.portal.scale = 0.3
        self.add(self.portal)

        self.img = pyglet.image.load('res/animation/catscene/Character_03/Idle/idle_sheet.png')
        self.img_grid = pyglet.image.ImageGrid(self.img, 1, 13, item_width=64, item_height=64 )
        self.anim = pyglet.image.Animation.from_image_sequence(self.img_grid[0:], 0.1, loop=True)

        self.hero_1 = cocos.sprite.Sprite(self.anim)
        self.hero_1.scale = 2.2
        self.hero_1.position = (300, 180)
        self.add(self.hero_1)

        self.img_1 = pyglet.image.load('res/animation/catscene/girl/Idle_Png/idle_sheet.png')
        self.img_grid_1 = pyglet.image.ImageGrid(self.img_1, 1, 5, item_width=128, item_height=128 )
        self.anim_1 = pyglet.image.Animation.from_image_sequence(self.img_grid_1[0:], 0.1, loop=True)

        self.hero_2 = cocos.sprite.Sprite(self.anim_1)
        self.hero_2.position = (200, 190)
        self.hero_2.scale = 1.6
        self.add(self.hero_2)


        self.img_2 = pyglet.image.load('res/animation/idle/idlesheet.png')
        self.img_grid_2 = pyglet.image.ImageGrid(self.img_2, 1, 4, item_width=50, item_height=37 )
        self.anim_2 = pyglet.image.Animation.from_image_sequence(self.img_grid_2[0:], 0.2, loop=True)

        self.hero_3 = cocos.sprite.Sprite(self.anim_2)
        self.hero_3.position = (100, 180)
        self.hero_3.scale = 2.2
        self.add(self.hero_3)


        self.img_3 = pyglet.image.load('res/animation/level3_monsters/demon boss/demon-idle.png')
        self.img_grid_3 = pyglet.image.ImageGrid(self.img_3, 1, 6, item_width=160, item_height=144 )
        self.anim_3 = pyglet.image.Animation.from_image_sequence(self.img_grid_3[0:], 0.1, loop=True)
        
        self.demon = cocos.sprite.Sprite(self.anim_3)
        self.demon.position = (400, 500)
        self.demon.scale = 1.4
        self.add(self.demon)

        self.hell_hound.do(MoveTo((1000, 180), 11))
        self.hero_3.do(MoveBy((170, 0), 3) + Delay(9.5) + MoveBy((1000, 0), 7.5))

        self.hero_1.do(MoveBy((100,0), 3) + Delay(8.5) + FadeOut(0.5))
        self.hero_2.do(MoveBy((250,0), 3) + Delay(8.5) + FadeOut(0.5))

        self.portal.do(FadeOut(0) + MoveTo((700, 300), 5) + FadeIn(1) + Delay(7.5) + FadeOut(0.5))
        self.demon.do(FadeOut(0) + MoveTo((700, 350), 5) + FadeIn(4) + Delay(1) + MoveTo((550, 250), 1) + Delay(2) + MoveTo((550, 1000), 1))

        self.schedule(self.update)