• Как упаковать скрип python в pycharm в exe файл?

    @maximq
    QA Engineer
    Для начала почините pip, ваши ошибки происходят из-за использования python 3.12, из него удалили устаревший класс pkgutil.ImpImporter.
    Инструкция по ремонту pip для python 3.12: https://stackoverflow.com/a/77364602

    Либо удалите python 3.12 и установите более раннюю — последний вариант предпочтительнее, т.к. в дальнейшем с другими библиотеками может возникнуть аналогичная ситуация с поддержкой на последней версии python. Часто используемые версии python обычно не последние версии, по этому не стоит бежать впереди поезда: 3.7-3.10
    Ответ написан
    Комментировать
  • Пишу игру на python на windows 10, по курсу и у меня выходит ошибка, как ее исправить?

    @DollaR84
    Вот эту строку:
    player_img = pygame.image.load(os.path.join(img_folder, 'p1_jump.png')).convert()

    Надо перенести после инициализации pygame и установки экрана.
    Например сюда:
    ...
    # Создаем игру и окно
    pygame.init()
    pygame.mixer.init()
    screen = pygame.display.set_mode((WIDTH, HEIGHT))
    pygame.display.set_caption("My Game")
    clock = pygame.time.Clock()
    player_img = pygame.image.load(os.path.join(img_folder, 'p1_jump.png')).convert()
    ...


    UPDATE
    Код файла main.py:
    import pygame
    import random
    import os
    from player import *
    
    # настройка папки ассетов
    game_folder = os.path.dirname(__file__)
    img_folder = os.path.join(game_folder, 'img')
    
    WIDTH = 800
    HEIGHT = 650
    FPS = 30
    
    # Задаем цвета
    WHITE = (255, 255, 255)
    BLACK = (0, 0, 0)
    RED = (255, 0, 0)
    GREEN = (0, 255, 0)
    BLUE = (0, 0, 255)
    
    
    # Создаем игру и окно
    pygame.init()
    pygame.mixer.init()
    screen = pygame.display.set_mode((WIDTH, HEIGHT))
    pygame.display.set_caption("My Game")
    clock = pygame.time.Clock()
    player_img = pygame.image.load(os.path.join(img_folder, 'p1_jump.png')).convert()
    player = Player(player_img, BLACK, WIDTH, HEIGHT)
    all_sprites = pygame.sprite.Group()
    all_sprites.add(player)
    
    # Цикл игры
    running = True
    while running:
        # Держим цикл на правильной скорости
        clock.tick(FPS)
        # Ввод процесса (события)
        for event in pygame.event.get():
            # check for closing window
            if event.type == pygame.QUIT:
                running = False
    
        # Обновление
        all_sprites.update()
        
        # Рендеринг
        screen.fill(BLACK)
        all_sprites.draw(screen)
        # После отрисовки всего, переворачиваем экран
        pygame.display.flip()
    
    pygame.quit()

    Код файла player.py:
    import pygame
    import random
    import os
    
    
    class Player(pygame.sprite.Sprite):
        def __init__(self, player_img, color, w, h):
            pygame.sprite.Sprite.__init__(self)
            self.image = player_img
            self.image.set_colorkey(color)
            self.rect = self.image.get_rect()
            self.w = w
            self.h = h
            self.rect.center = (self.w / 2, self.h / 2)
    
        def update(self):
            self.rect.x += 5
            if self.rect.left > self.w:
              self.rect.right = 0
    Ответ написан
  • Пишу игру на python на windows 10, по курсу и у меня выходит ошибка, как ее исправить?

    Sergomen
    @Sergomen
    Просто делай добро и оно вернётся
    Попробуй pygame.init() перенести в самый верх(после импортов). Знакомому когда-то помогло
    Ответ написан
    2 комментария
  • Как в js сделать так что бы наведении на блок текст в нем менялся?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Вместо #test используйте .tooltip в обработчике.
    Ответ написан
    2 комментария