Урок 2
Простое игровое поле с героями видеоурок 2.
Программный код демонстрирует как можно добавлять картинки в питоне, а та же создавать статические красочные окна.
Такие окна могут использоваться как страницы меню, с описаниями функций присвоенных клавишам. Картинка в формате .gif и именем m2.gif, позволяет импорировать её без фона. Её нужно скопировать и сохранить в туже папку где находится программа написанная на питоне (наш файл с игрой).
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import pygame
pygame.init()
# окно
window = pygame.display.set_mode((600,630))# создаём окно
pygame.display.set_caption('Masha and Misha') # титул строка
# поле игры-холст
info_string = pygame.Surface((600,30)) # информационная строка
screen = pygame.Surface((600,600)) # создаем игровое поле(экран)
im1 =pygame.image.load(u'm2.gif') # создаём картинку 1
done = True # создаем условие существования цикла игры
while done:
screen.fill((100,0,200)) # закраска игрового поля
for e in pygame.event.get(): # для любого события
if e.type == pygame.QUIT: # если событие выход(крестик)
sys.exit() # выход в систему
if e.type == pygame.KEYDOWN: # если событие нажатие клавиши
if e.key == pygame.K_ESCAPE: # если клавиша Esc
sys.exit() # выход в систему
screen.blit(im1,(240,140)) # на экране отобразить рис1(m1) в координате х=240, у=140
im2 = pygame.transform.flip(im1,True,False)# поворот обьекта im1 - горизонтально
screen.blit(im2,(40,140)) # отображение обьекта im2 на экране
window.blit(screen,(0,30)) # прорисовка на окне экрана для меню
pygame.display.flip() # всё отобразить
Пример информационного окна меню игры.
Добавляются строки функций клавиш , при этом инициализируем модуль шрифтов и задаём параметр шрифтов.
Код Python |
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import pygame
pygame.init()
# окно
window = pygame.display.set_mode((600,630))# создаём окно
pygame.display.set_caption('Masha and Misha') # титул строка
pygame.font.init() # иницифлизация модуля шрифтов
inf_font = pygame.font.SysFont('Comic Sans MS',24)
# поле игры-холст
info_string = pygame.Surface((600,30)) # информационная строка
screen = pygame.Surface((600,600)) # создаем игровое поле(экран)
im1 =pygame.image.load(u'm2.gif') # создаём картинку 1
done = True # создаем условие существования цикла игры
while done:
screen.fill((100,0,200)) # закраска игрового поля
for e in pygame.event.get(): # для любого события
if e.type == pygame.QUIT: # если событие выход(крестик)
sys.exit() # выход в систему
if e.type == pygame.KEYDOWN: # если событие нажатие клавиши
if e.key == pygame.K_ESCAPE: # если клавиша Esc
sys.exit() # выход в систему
screen.blit(im1,(440,40)) # на экране отобразить рис1(m1) в координате х=240, у=140
im2 = pygame.transform.flip(im1,True,False)# поворот обьекта im1 - горизонтально
screen.blit(im2,(40,40)) # отображение обьекта im2 на экране
# отображаем информационную строку
screen.blit(inf_font.render(u'движение вниз - курсор DOWN',1,(0,250,250)),(130,260))
screen.blit(inf_font.render(u'движение вверх - курсор UP',1,(0,250,250)),(130,300))
screen.blit(inf_font.render(u'движение влево - курсор LEFT',1,(0,250,250)),(130,340))
screen.blit(inf_font.render(u'движение вправо - курсор RIGHT',1,(0,250,250)),(130,380))
screen.blit(inf_font.render(u'огонь - ПРОБЕЛ',1,(0,250,250)),(180,200))
screen.blit(inf_font.render(u'выход в меню - ESC',1,(0,250,250)),(180,450))
window.blit(screen,(0,30)) # прорисовка на окне экрана для меню
pygame.display.flip() # всё отобразить
|
|
|