利⽤python制作⾃⼰的⼩游戏,超简教程懒得客套,直接步⼊主题
⾸先,利⽤python来做游戏需要⽤到python中的pygame模块,这个我们在终端cmd中安装
输⼊:pip install pygame 安装好后我们进⼊pycharm查询我们有的模块(打开路径:⽂件-设置)
中国古典名著可以看到我们软件包中有pygame,安装好后我们在python中输⼊
新年祝福贺词四个字#调⽤模块
import pygame
然后我们开始搭建场景
def start():
#游戏页⾯⼤⼩
screen = pygame.display.set_mode((1200, 700), 0, 32)
#游戏名称
pygame.display.set_caption('靓富打僵⼫')
#调⽤背景 load后⾯是你的背景⽂件路径
background = pygame.image.load("./daoju/background.png").convert()
# 循环每个事件
while True:
screen.blit(background, (0, 0))
# 这个不⽤管,功能为刷新页⾯
pygame.display.update()
if __name__ == '__main__':
start()
我们运⾏试试
接下来我们导⼊⼈物这部分,在调⽤模块中导⼊pygame.locals模块(这个模块的作⽤是使⽤各种常量,⼈物⾏⾛就会⽤到)
#在⾸⾏调⽤模块中添加
from pygame.locals import *
在while循环中添加检测⿏标和键盘事件
# 判断是否退出
for event in ():
pe == QUIT:
print("exit")
exit()
pe == KEYDOWN:
keys_pressed = _pressed()
# 调⽤键盘,其中K_a中的a可以为任何数(看个⼈喜好)⽽后⾯的left为向左移动
if event.key == K_a or event.key == K_LEFT:
明道女朋友print('left')
# ⼀样
elif event.key == K_d or event.key == K_RIGHT:
print('right')
elif event.key == K_w or event.key == K_UP:
print('up')
elif event.key == K_s or event.key == K_DOWN:
print('down')
elif event.key == K_j:
print('j')
运⾏如下
我们现在做⼈物的相关参数
新建个python⽂件 名为plane
import pygame
#定义玩家的相关数据
class HeroPlane(object) :
def __init__(self, screen) :
# 玩家默认位置
self.x = 50
self.y = 445
# 窗⼝与玩家
self.screen = screen
self.image_name = "./rwu/hero.gif"
self.image = pygame.image.load(self.image_name).convert() #定义⾏⾛变量
def display(self):
self.screen.blit(self.image, (self.x, self.y))
# 移动的速度 xy为⽅向根据⾃⼰游戏画⾯调
def move_left(self):
self.x -= 10
def move_right(self):
郑爽要退出追光吧哥哥self.x += 10
def move_up(self):张卫健张茜孩子
self.y -= 10
def move_down(self):
self.y += 10
然后我们回到zhuyemian⽂件中
调⽤模块的地⽅中输⼊调⽤plane⽂件
#调⽤模块
import pygame
import time
from pygame.locals import *
#调⽤plane⽂件
from plane import *
回到 def start(): 中创建⼀个⼈物对象
#创建⼈物对象
hero_plane = HeroPlane(screen)
然后我们在while键盘参数中对接我们⼈物的各个参数
# 循环每个事件
while True:
screen.blit(background, (0, 0))
# 这个不⽤管,功能为刷新页⾯
pygame.display.update()
#连接plane(新添加)
hero_plane.display()
# 判断是否退出
for event in ():
pe == QUIT:
print("exit")
exit()
pe == KEYDOWN:
keys_pressed = _pressed()
# 调⽤键盘,其中K_a中的a可以为任何数(看个⼈喜好)⽽后⾯的left为向左移动 if event.key == K_a or event.key == K_LEFT:
print('left')
#(新添加)
ve_left()
# ⼀样
井底之蛙的歇后语elif event.key == K_d or event.key == K_RIGHT:
print('right')
#(新添加)
ve_right()
elif event.key == K_w or event.key == K_UP:
print('up')
#(新添加)
ve_up()
elif event.key == K_s or event.key == K_DOWN:
print('down')
#(新添加)
ve_down()
# 这个为射击参数,对接玩家⼦弹参数
elif event.key == K_j:
print('j')
#(新添加)
pygame.display.update()
运⾏的时候会有⼈物闪烁的问题
导⼊import time 然后再def start 中添加
clock = pygame.time.Clock()
再在while循环中添加刷新帧率
#刷新帧率 60 为60帧
clock.tick(60)
我们运⾏看看
完美实现⼈物移动
⼤家总说来⽇⽅长,殊不知世事⽆常,珍惜当下,做⾃⼰想做的事
好啦,第⼀篇就讲完啦,后续更新⼦弹和敌⼈模块(不是不想⼀次写完,真的太累了这篇有4000字左右,这个游戏我早在⼀个⽉前左右就写好了,现在回去看,有些有啥作⽤我⾃⼰都忘记了)
有不懂的评论或者私信
觉得对你有帮助的⼩伙伴评论下,我就喜欢别⼈认可我做的东西
发布评论