Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 19.07.2021
Сообщений: 3

Текстура выходит за пределы экрана

19.07.2021, 19:03. Показов 4748. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если я создаю экран с параметрами фулскрина своего монитора (1920х1080), то текстура которая я загрузил выходит за пределы экрана, хотя параметр нижней стороны текстуры я поставил равным нижнее стороны экрана. При расширении 900х600 этой проблемы не возникает. В чем проблема?

А также, хотелось бы узнать как отмасштабировать изображения, слишком уж большое оно выходит

Заранее спасибо!
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import pygame
 
 
class Ship():
    def __init__(self, screen):
        self.screen = screen
        self.image = pygame.image.load("Textures/Spaceships/ship5.bmp")
        self.rect = self.image.get_rect()
        self.screen_rect = screen.get_rect()
        self.rect.centerx = self.screen_rect.centerx
        self.rect.bottom = self.screen_rect.bottom
 
    def bltime(self):
        self.screen.blit(self.image, self.rect)
Миниатюры
Текстура выходит за пределы экрана   Текстура выходит за пределы экрана  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.07.2021, 19:03
Ответы с готовыми решениями:

FolderBrowserDialog выходит за пределы экрана
Добрый день. FolderBrowserDialog при вызове выходит частично за пределы экрана. Как с этим бороться или как, может быть, привязать его...

График выходит за пределы экрана
Здравствуйте. Составил программу, которая строит график на определенном промежутке: #include <stdio.h> #include <conio.h> ...

Мышка выходит за пределы экрана
У меня один монитор, есть скрипт управления камерой (для пк), у меня все хорошо. У человека 2 монитора, и курсор выскакивает за границы...

5
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
19.07.2021, 20:54
Ntsky, можно весь код?
0
0 / 0 / 0
Регистрация: 19.07.2021
Сообщений: 3
20.07.2021, 00:45  [ТС]
@user-ganz

мейн код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import sys
 
import pygame
 
from settings import Settings
 
from ship import Ship
 
 
def run_game():
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
    ship = Ship(screen)
    pygame.display.set_caption("Alien Invasion")
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
        screen.fill(ai_settings.bg_color)
        ship.bltime()
        pygame.display.flip()
 
 
run_game()
settings (стоят последние настройки расширения, при которых все норм):
Python
1
2
3
4
5
6
class Settings():
 
    def __init__(self):
        self.screen_width = 900
        self.screen_height = 600
        self.bg_color = (230, 230, 230)
Добавлено через 56 секунд
мейн код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import sys
 
import pygame
 
from settings import Settings
 
from ship import Ship
 
 
def run_game():
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
    ship = Ship(screen)
    pygame.display.set_caption("Alien Invasion")
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
        screen.fill(ai_settings.bg_color)
        ship.bltime()
        pygame.display.flip()
Добавлено через 1 минуту
user-ganz, кинул выше
0
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
20.07.2021, 20:58
Ntsky, Уменя код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import sys
 
import pygame
 
class Settings():
    def __init__(self):
        self.screen_width = 1920
        self.screen_height = 1080
        self.bg_color = (230, 230, 230)
 
 
class Ship():
    def __init__(self, screen):
        self.screen = screen
        self.image = pygame.image.load("1.png")
        self.rect = self.image.get_rect()
        self.screen_rect = screen.get_rect()
        self.rect.centerx = self.screen_rect.centerx
        self.rect.bottom = self.screen_rect.bottom
 
    def bltime(self):
        self.screen.blit(self.image, self.rect)
 
 
def run_game():
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
    ship = Ship(screen)
    pygame.display.set_caption("Alien Invasion")
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
        screen.fill(ai_settings.bg_color)
        ship.bltime()
        pygame.display.flip()
 
 
run_game()
работает корректно. Указаная ошибка возникает, когда указываю разрешение экрана выше текущего.
какое разрешение выводится pygame.display.Info() ?
0
0 / 0 / 0
Регистрация: 19.07.2021
Сообщений: 3
21.07.2021, 12:53  [ТС]
user-ganz, я решил проблему, переписав строчку вот так
Python
1
screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
Но если честно, не понял как в данном коде использовать pygame.display.Info(), и как проще всего изменить масштабирование, через код или поменять как-то само изображение. Буду рад если подскажете!
0
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
22.07.2021, 20:41
Ntsky, pygame.display.Info возвращает массив с данными в которм есть разрешение монитора. Я предполагал, что оно не верно определяется и поэтому возникает ошибка (так же жёстко прописывать размер окна не комильфо,- будут проблемы при переносе программы)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.07.2021, 20:41
Помогаю со студенческими работами здесь

Изображение выходит за пределы экрана
Телевизор - SHARP AQUOS LC32X20RU Видеокарта - GIGABYTE GV-NTITAN-6GD-B (RTL) DualDVI+HDMI+DP+SLI <GeForce GTX TITAN> Телевизор...

Меню выходит за пределы экрана
Всем привет! Ребят подскажите как поправить меню: <div style="width:100%;background:#152635;float:left;"> <div...

.bmp изображение выходит за пределы экрана
Изображение в формате .bmp отображается в PictureBox , расположенным на панели, свойство Dock = Fill . Но при выводе, изображение...

Всплывающая подсказка (ToolTip) выходит за пределы экрана
Я перерисовал ToolTip, и возникла такая проблема: эта подсказка выходит за пределы экрана. Как можно решить эту проблему?

Все, что выходит за пределы экрана не включало overflow
Помогите решить проблему. Мне нужно сделать так, что бы в ситуации, где блок выходит за пределы экрана монитора - обрезался, а не показывал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru