Урок 2. Усовершенствуем вид экрана
Созданный нами экран выглядит довольно примитивно, надо его усовершенствать
Замените содержимое окна в файле Экран.py на следующий код, но пока что не запускайте его на исполнение, иначе получите сообщение об ошибке!
# импортируем в среду программирования библиотеку (модуль) pygame import pygame # используем метод pygame.display.set_mode()для ввода ширины и высоты окна pygame.display.set_mode((640,480)) # используем метод pygame.display.set_caption()для вывода названия игры в шапке окна pygame.display.set_caption("Мой первый проект") # используем метод pygame.image.load("")для загрузки изображение в переменную my_icon = pygame.image.load("img/mouse.png") # используем метод pygame.display.icon()для вывода названия игры в шапке окна pygame.display.set_icon(my_icon) # создаем переменную и присваиваем ей значение True run = True # запускаем бесконечный цикл while run: # с помощью цикла for находим нужный нам тип события - event.type, которое содержится в методе pygame.event.get() for event in pygame.event.get(): # если произошло событие, которое называется pygame.QUIT, и которое выполняется при нажатии на кнопку-крестик на шапке экрана, то: if event.type == pygame.QUIT: # переменная run получит значение False и цикл while перестанет работать run = False # как обычно, перерисовываем экран pygame.display.update()
После того, как вы ввели или скопировали этот код, вам нужно создать в верхнем (корневом) каталоге новую папку, в которой будут храниться файлы изображений.
Выберите любую картинку у себя на компьютере, которая будет изображение иконки в окне игры, скопируете файл этой картинки командой Copy, затем активируйте мышкой созданную папку и вставьте (Paste) в нее скопированный файл картинки.
2. Размер изображения не имеет значения, поскольку Pygame сам уменьшит ее до необходимых величин.
3. Теперь вам нужно изменить строку кода, куда вместо того файла, который я привел в качестве примера, вы введете имя файла вашего изображения иконки и можете запустить выполнение программы:
icon = pygame.image.load("img/имя вашего файла")
Так выглядит окно программы после внесенных изменений в код.
В итоге этого урока …
1. Вы продолжили знакомство с методом pygame.display, который используется как для задания размеров окна, так и для вывода заголовка и иконки в шапке этого окна: pygame.display.set_caption (“заголовок проекта”) и pygame.display.set_icon (файл изображения иконки).
2. Кроме того, вы создали отдельную папку для изображений с именем img, вставили в нее файл иконки и использовали метод pygame.image.load (“img/имя файла”), который передает созданной вами переменной my_icon это изображение.
3. Цикл while, который раньше работал “по правде”, вне зависимости от чего-либо, теперь подчиняется значению созданной вами переменной run. Пока она равна True – цикл работает и экран обновляется. Как только вы нажмете на крестик на шапке экрана, эта переменная получит значение False и цикл прекратит свою работу.
Обратите внимание, что логические значения True и False в языке Python принято писать с заглавной буквы!
4. Некоторые затруднения могут возникнуть с пониманием того, как работает цикл for event in pygame.event.get ( ). Давайте заменим его на более понятное выражение на русском языке.
Звучит оно примерно так: для каждого события в списке событий pygame получи ( ):
То, что мы должны получить – это некий тип события, которые называется event.type и если – if таким типом события является нажатие на кнопку выхода, то есть event.type == pygame.QUIT, то переменная run получит значение False.
Здесь очень важно отметить следующее: если вы не писали программ на каких-либо других языках программирования, кроме Scratch, то обратите внимание на написание знаков равенства в вашем коде. Обычный знак равенства = используется для присвоения переменной или объекту какого-либо значения, а вот двойной знак == служит для проверки условия, имеет ли некий объект или переменная то или иное значение. Обычно двойной знак равенства используется совместно с конструкцией if.
5. Кроме того, очень важно обращать внимание на заглавные или строчные буквы, которые используются в кодах Python и Pygame. Невнимание к этой “мелочи” может привести в ошибкам в исполнении кода ваших программ.