基于Pygame的游戏制作
Pygame是跨平台Pyth,Pygame 作者是 Pete Shinners, 协议为 GNU Lesser General Public License。
包含图像、声音。pygame建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供,如Python。
Pygame 原为代替突然停止的 pySDL
一、pygame的窗口制作
开发坏境是vscode 1.43.0 python版本是3.7.6
代码
import pygame
from pygame.locals import *
import sys
def hello_world():
pygame.init()
pygame.display.set_mode((640,480))
pygame.display.set_caption("hello world")
while True:
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
if __name__=="__main__":
hello_world()
运行截图
二、游戏案例1:坦克大战
参考代码
import pygame,sys
from pygame.locals import *
def play_tank():
pygame.init()
window_size=(width,height)=(640,480)
speed=[1,1]
color_white=(255,255,255)
screen=pygame.display.set_mode(window_size)
pygame.display.set_caption("坦克大战")
tank_image=pygame.image.load(r'tankU.bmp')
tank_rect=tank_image.get_rect()
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
sys.exit()
tank_rect=tank_rect.move(speed)
if(tank_rect.left<0) or (tank_rect.right>width):
speed[0]=-speed[0]
if(tank_rect.top<0) or (tank_rect.bottom>height):
speed[1]=-speed[1]
screen.fill(color_white)
screen.blit(tank_image,tank_rect)
pygame.display.update()
if __name__=="__main__":
play_tank()
完善代码
import pygame,sys
from pygame.locals import *
def play_tank():
pygame.init()
window_size=(width,height)=(640,480)
speed=[1,1]
color_white=(255,255,255)
screen=pygame.display.set_mode(window_size)
pygame.display.set_caption("坦克大战")
tank_image=pygame.image.load(r'tankU.bmp')
tank_rect=tank_image.get_rect()
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
sys.exit()
tank_rect=tank_rect.move(speed)
if(tank_rect.left<0) or (tank_rect.right>width):
speed[0]=-speed[0]
if(tank_rect.top<0) or (tank_rect.bottom>height):
speed[1]=-speed[1]
screen.fill(color_white)
screen.blit(tank_image,tank_rect)
pygame.display.update()
if __name__=="__main__":
play_tank()
运行截图
原创文章,作者:云飞,如若转载,请注明出处:https://www.dizunwl.com/html/13.html
开发坏境是vscode 1.43.0 python版本是3.7.6
来自永久会员的评论!