コード例 #1
0
ファイル: intro.py プロジェクト: Daleang/RasPipBoy3000-MK4
 def roll_text(self, dt):
     if self.text_y < ((self.surface.get_height()) * -1):
         self.state = 1
         Resource.getInstance().play_sound('sounds/boot/b.ogg')
         pg.time.delay(500)
     else:
         self.text_y -= self.velocity * dt
     pass
コード例 #2
0
ファイル: stats.py プロジェクト: antomarsi/RasPipBoy3000-MK4
    def __init__(self):
        super().__init__()

        self.image = Resource.getInstance().get_image('temp/menu1.png')
        self.image = pg.transform.smoothscale(
            self.image, (int(self.image.get_width() * 0.45),
                         int(self.image.get_height() * 0.45))).convert()
        self.rect = self.image.get_rect()
        self.dirty = 1
コード例 #3
0
 def update(self, dt):
     if self.state == 0:
         self.roll_text(dt)
     elif self.state == 1:
         self.blink_cursor(dt)
         self.loader_sequence(dt)
     elif self.state == 2:
         if self.state2_cd >= 1.5:
             self.surface_loader.fill((0, 0, 0))
             background = pg.Surface(self.surface_loader.get_size())
             background.fill((0, 0, 0))
             self.initialize = pg.sprite.LayeredDirty()
             text = InitializingText()
             self.initialize.add(text)
             self.vault_boy = VaultBoyThumbUp()
             self.vault_boy.rect.x = self.surface_loader.get_width()/2 - \
                 self.vault_boy.rect.width/2
             self.vault_boy.rect.y = self.surface_loader.get_height()/2 - \
                 self.vault_boy.rect.height/2
             self.initialize.add(self.vault_boy)
             self.download_progress = ProgressBar(
                 pg.Rect(self.surface_loader.get_width() / 4,
                         int(self.surface_loader.get_height() * 0.9),
                         self.surface_loader.get_width() / 2, 20))
             self.initialize.add(self.download_progress)
             self.initialize.clear(self.surface_loader, background)
             self.text_download_pos = (self.download_progress.rect.centerx,
                                       self.download_progress.rect.centery +
                                       self.download_progress.rect.height)
             self.state = 3
             self.thread_load_files = threading.Thread(
                 target=self.load_files)
             self.thread_load_files.start()
         self.blink_cursor(dt)
         self.state2_cd += dt
     if self.state == 3:
         self.initialize.update(dt)
         if (not self.thread_load_files.isAlive()
                 and self.vault_boy.finished):
             Resource.getInstance().play_music(
                 'sounds/UI_PipBoy_Hum_LP.wav')
             self.state = 4
     pass
コード例 #4
0
ファイル: intro.py プロジェクト: Daleang/RasPipBoy3000-MK4
 def __init__(self):
     AnimatedSprite.__init__(self, duration_per_frame=0.1)
     self.images = []
     for i in range(1, 8):
         image = Resource.getInstance().get_image(
             os.path.join("sprites", "boot",
                          "vault_boy_" + str(i) + ".png"))
         image = pg.transform.smoothscale(
             image,
             (int(image.get_width() / 2), int(image.get_height() / 2)))
         self.images.append(image)
     self.image = self.images[0]
     self.rect = self.image.get_rect()
コード例 #5
0
ファイル: intro.py プロジェクト: Daleang/RasPipBoy3000-MK4
    def load_files(self):
        self.set_download_text("Loading Assets")
        Resource.getInstance().play_sound('sounds/boot/c.ogg')
        files_images = list(Path(cfg.assets_folder).rglob("*.[pP][nN][gG]"))
        files_sounds = list(Path(cfg.assets_folder).rglob("*.[oO][gG][gG]"))
        value = 0
        self.download_progress.set_value(0)
        self.download_progress.set_max_value(
            len(files_images) + len(files_sounds))
        for img in files_images:
            img = str(img).replace(cfg.assets_folder + "/", '')
            Resource.getInstance().get_image(img)
            value += 1
            self.download_progress.set_value(value)
        print("All images loaded")
        for img in files_sounds:
            img = str(img).replace(cfg.assets_folder + "/", '')
            Resource.getInstance().get_sound(img)
            value += 1
            self.download_progress.set_value(value)
        Resource.getInstance().play_sound(
            'sounds/UI_PipBoy_Map_Rollover_01.ogg')
        print("All sounds loaded")
        self.set_download_text("Assets Loaded")

        if cfg.is_connected() and cfg.download_radio:
            print("downloading radios")
            radio_dir = os.path.join(cfg.download_folder, 'music')
            if not os.path.exists(radio_dir):
                os.makedirs(radio_dir)
            self.initialize.add(self.download_progress)
            for name, url in cfg.radios.items():
                self.music_name = os.path.join(radio_dir, name + ".ogg")
                if not os.path.isfile(self.music_name):
                    self.set_download_text("Downloading: " + name)
                    yt = YouTube(url)
                    yt.register_on_progress_callback(self.show_progress_bar)
                    yt.register_on_complete_callback(self.convert_rename)
                    stream = yt.streams.filter(file_extension="webm",
                                               only_audio=True).first()
                    self.download_progress.set_max_value(stream.filesize)
                    self.download_progress.set_value(0)
                    stream.download(radio_dir)
        self.vault_boy.play()
        self.set_download_text("All songs downloaded")
        pg.time.delay(2000)
        self.switch_to_scene(StatsScene())
        pass
コード例 #6
0
ファイル: intro.py プロジェクト: Daleang/RasPipBoy3000-MK4
    def __init__(self):
        super().__init__()
        # o texto de código deve se repitir 8 vezes e deve passar na tela na duração de 4 segundos
        text = []
        text_size = [0, 0]
        boot_text = [
            "1 0 0x000A4 0x00000000000000000 start memoty discovery 0 0x0000A4",
            "0x00000000000000000 1 0 0x000014 0 0x00000000000000000 CPUO starting cell",
            "relocation0 0x0000A4 0x00000000000000000 1 0 0x000009",
            "0x00000000000000000 CPUD launch EFI0 0x0000A4 0x00000000000000000 1 0",
            "0x000009 0x000000000000E003D CPUO starting EFI0 0x0000A4",
            "0x00000000000000000 1 0 0x0000A4 0x00000000000000000 start memory",
            "discovery0 0x0000A4 0x00000000000000000 1 0 0x0000A4 0x00000000000000000",
            "start memory discovery 0 0x0000A4 0x00000000000000000 1 0 0x000014",
            "0x00000000000000000 CPUO stating cell relocation0 0x0000A4",
            "0x00000000000000000 1 0 0x000009 0x00000000000000000 CPUO launch EFI0",
            "0x0000A4 0x00000000000000000 1 0 0x000009 0x000000000000E003D CPUO",
            "stating EFI0 0x0000A4 0x00000000000000000 1 0 0x0000A4",
            "0x00000000000000000 start memory discovery 0 0x0000A4 0x00000000000000000"
        ]

        self.loader_text = [
            "*************** PIP-OS(R) V7.1.08 ***************", "", "", "",
            "COPYRIGHT 2075 ROBCO(R)", "LOADER V1.1", "EXEC VERSION 41.10",
            "64k RAM SYSTEM", "38911 BYTES FREE", "NO HOLOTAPE FOUND",
            "LOAD ROM(1): DEITRIX 303"
        ]

        for i in range(0, 8):
            for t in boot_text:
                text.append(t)
        text[0] = "* " + text[0]

        font = fonts.MONOFONTO_12
        font_size = font.size(' ')
        surf_size = (font_size[0] * 73, font_size[1] * 104)
        self.surface = pg.Surface(surf_size)

        for idx, t in enumerate(text):
            text_s = font.render(t, True, (255, 255, 255))
            self.surface.blit(text_s, (0, int(idx * font_size[1])))

        self.velocity = surf_size[1] / 3
        self.text_y = cfg.height

        self.fontX2 = fonts.MONOFONTO_16
        font_size = self.fontX2.size(' ')
        surf_size = (font_size[0] * 73, font_size[1] * 104)
        self.cursor_rect = pg.Rect((0, 0), font_size)
        self.surface_loader = pg.Surface(
            (font_size[0] * 49, font_size[1] * len(self.loader_text)))
        self.cursor_show = True
        self.cursor_cd = 0
        self.loader_y = 0
        self.typing_cd = 0
        self.loader_text = "\n".join(self.loader_text)

        self.state = 1
        self.text_pos = [0, 0, 0]
        self.typing_time = 0.01
        self.state2_cd = 0
        self.cursor_rect_extra = [0, 0]
        self.text_download = None
        pg.time.delay(1500)
        Resource.getInstance().play_sound('sounds/boot/a.ogg')
        pg.time.delay(800)
コード例 #7
0
ファイル: intro.py プロジェクト: Daleang/RasPipBoy3000-MK4
 def convert_rename(self, stream, file_handle):
     AudioSegment.from_file(file_handle.name).export(self.music_name,
                                                     format="ogg")
     Resource.getInstance().play_sound(
         'sounds/UI_PipBoy_Map_Rollover_01.ogg')