Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/55: Рейтинг темы: голосов - 55, средняя оценка - 4.85
2 / 1 / 1
Регистрация: 14.03.2019
Сообщений: 25

Наложение текстуры на прямоугольник

30.11.2019, 12:39. Показов 11059. Ответов 5

Студворк — интернет-сервис помощи студентам
Собираюсь создавать игру. В ней необходимо сделать автомобили.
Их собираюсь представлять прямоугольниками с наложенными текстурами.
И при попытке наложения текстура полностью не отображается.
Подскажите пожалуйста, как наложить изображения,
чтобы при вращении все работало корректно?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2019, 12:39
Ответы с готовыми решениями:

Наложение текстуры на прямоугольник
Привет. Пытаюсь наложить текстуру на обычный прямоугольник. Что делаю не так? GLuint texture; как глобальная переменная ...

Наложение текстуры
Не могу понять в чем ошибка, текстура накладывается, буквально на дооолю секунды и эллипс просто окрашивается в более темный цвет(оттенок...

Наложение UV текстуры
Здравствуйте! Необходимо написать программу, которая сможет "натянуть" на модель текстуру, которую выбрал пользователь. Есть модель: ...

5
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
01.12.2019, 00:42
Код покажите, что и как вы делаете
0
2 / 1 / 1
Регистрация: 14.03.2019
Сообщений: 25
01.12.2019, 10:23  [ТС]
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
41
42
43
44
45
46
47
48
49
import pygame as pg
 
 
class Entity(pg.sprite.Sprite):
 
    def __init__(self, pos):
        super().__init__()
        self.image = pg.image.load("tank.jpg")
        pg.draw.rect(self.image, pg.Color('black'),
                     pg.Rect((10, 10), (1, 1)))
        # A reference to the original image to preserve the quality.
        self.orig_image = self.image
        self.rect = self.image.get_rect(center=pos)
        self.angle = 0
 
    def update(self):
        self.angle += 2
        self.rotate()
 
    def rotate(self):
        """Rotate the image of the sprite around its center."""
        # `rotozoom` usually looks nicer than `rotate`. Pygame's rotation
        # functions return new images and don't modify the originals.
        self.image = pg.transform.rotozoom(self.orig_image, self.angle, 1)
        # Create a new rect with the center of the old rect.
        self.rect = self.image.get_rect(center=self.rect.center)
 
 
def main():
    screen = pg.display.set_mode((640, 480))
    clock = pg.time.Clock()
    all_sprites = pg.sprite.Group(Entity((320, 240)))
 
    while True:
        for event in pg.event.get():
            if event.type == pg.QUIT:
                return
 
        all_sprites.update()
        screen.fill((30, 30, 30))
        all_sprites.draw(screen)
        pg.display.flip()
        clock.tick(30)
 
 
if __name__ == '__main__':
    pg.init()
    main()
    pg.quit()
Это то, что я нашел. Но тут вращается surface, а Rect служит заглушкой.
Как сделать так чтобы Rect вращался на surface и при этом был еще и с картинкой я не понял
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
01.12.2019, 11:26
Вроде крутит нормально, на imgur /a/xZrxu3P
0
2 / 1 / 1
Регистрация: 14.03.2019
Сообщений: 25
01.12.2019, 13:09  [ТС]
Цитата Сообщение от tooru Посмотреть сообщение
Вроде крутит нормально
Да, это работает, но совместить это с нормальным окном у мея не получилось.
При попытке создания основной поверхности ничего не изменяется.
Python
1
2
3
bg = pg.Surface((800, 800))  # Создание видимой поверхности
# будем использовать как фон
bg.fill(pg.Color("white"))  # Заливаем поверхность сплошным цветом
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
01.12.2019, 22:10
Лучший ответ Сообщение было отмечено King of Shadow как решение

Решение

Цитата Сообщение от King of Shadow Посмотреть сообщение
Да, это работает, но совместить это с нормальным окном у мея не получилось.
При попытке создания основной поверхности ничего не изменяется.
Да нет, меняется

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
def main():
    screen = pg.display.set_mode((640, 480))
    clock = pg.time.Clock()
    all_sprites = pg.sprite.Group(Entity((320, 240)))
    bg = pg.Surface((800, 800))  # Создание видимой поверхности
 
    while True:
        for event in pg.event.get():
            if event.type == pg.QUIT:
                return
 
 
        all_sprites.update()
        screen.fill((30, 30, 30))
        bg.fill(pg.Color("white"))  # Заливаем поверхность сплошным цветом
        all_sprites.draw(bg)
        screen.blit(bg, [0, 0, 800, 800])
        pg.display.flip()
        clock.tick(30)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2019, 22:10
Помогаю со студенческими работами здесь

Наложение текстуры
Здравствуйте, как наложить текстуру на пятиугольник?

Наложение текстуры
Создаю обод при помощи gluDisk. Можно ли наложить текстуру только на полученный обод исключая отверстие? Пока у меня получается наложение...

наложение текстуры
Здравствуйте, помогите, пожалуйста наложить какую-нибудь текстуру на поверхность Безье !!! Вот код программы: unit Unit1; ...

Наложение текстуры
Здравствуйте. Давно уже мучает один вопрос... Можно ли наложить текстуру с прозрачностью поверх сайта? Пробовал через отдельные блоки ...

Наложение текстуры
Добрый день! Пытаюсь наложить текстуру. Прочитать получается, а наложить не могу. Код: #include "stdafx.h" #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru