Главная » 2015 » Апрель » 29 » урок 2
23:23
урок 2

Урок 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()   # всё отобразить 

 

Пример информационного окна меню игры.

  Добавляются строки функций клавиш , при этом инициализируем модуль шрифтов и задаём параметр шрифтов.

 

#!/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()   # всё отобразить      

             

Kuzma-Kuzin
Код 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() # всё отобразить
#!/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() # всё отобразить
#!/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() # всё отобразить 
Просмотров: 456 | Добавил: kuzma | Рейтинг: 0.0/0
Всего комментариев: 0
avatar

Сайт создан для помощи тем, кто делает первые шаги в программировании.

- автор идеи Кузьма Кузин

Возможность бесплатного доступа ко всем материалам и скриптам.

-совместная работа с группой молодых программистов

Срипты для автоматического заработка на SEO сайтах.

- для всех пользователей всё по цене в 1 EUR