效果演示:
【python 】pygame制作简单的游戏移动操作演示
完整操作视频:
【python 】pygame制作简单的游戏移动操作完全操作
1.创建游戏窗体
import pygame,sys
class Game:
def __init__(self):
pygame.init()
pygame.display.set_caption('game')
pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))
def run(self):
while 1:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
if __name__ == '__main__':
game=Game()
game.run()
2.分割默认的数值到配置文件
2.1创建配置文件config.py
![在这里插入图片描述](https://img-blog.csdnimg.cn/937f4e0af6124a808b1a4b21b0952cc0.png)
2.2 导包替换默认值
![在这里插入图片描述](https://img-blog.csdnimg.cn/9cffbbae35e64680b3629e04bef2c30a.png)
3.创建地图
3.1地图类
import pygame
class Map:
def __init__(self):
self.display=pygame.display.get_surface()
def run(self,dt):
self.display.fill('green')
3.2实例地图,运行方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/14a73f3e0baa44a4b1e93bf699a17854.png)
4.创建角色类
4.1生成类继承pygame精灵类,定义一个(30X30)红色的的方块,设置中心坐标点
import pygame
class Character(pygame.sprite.Sprite):
def __init__(self,pos,group):
super(Character, self).__init__(group)
self.image=pygame.Surface((30,30))
self.image.fill('red')
self.rect=self.image.get_rect(center=pos)
4.2 在地图里面导入并应用
![在这里插入图片描述](https://img-blog.csdnimg.cn/1272cc5af55b4b1197dff68d1f5278da.png)
5.实现键盘方向输入操作
5.1 增加方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/46ca6e20baf14cabb495be0489cc3d0e.png)
6.实现移动
6.1 mian.py添加刷新率属性
![在这里插入图片描述](https://img-blog.csdnimg.cn/e0465cf702984856965c21904615b595.png)
6.2将刷新率应用到各项,并角色添加移动方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/3491919069a7471f83b7dd41772ea53c.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/a0b6e46ed47744429722154af70f5fd5.png)
![![在这里插入图片描述](https://img-blog.csdnimg.cn/910490a7f3d34bb2aa8d43691c66dcb9.png](https://img-blog.csdnimg.cn/6f2175c3e3bf4c928638b9c4db14f809.png)
6.3添加方向向量
![在这里插入图片描述](https://img-blog.csdnimg.cn/789886242cde4db3893e348de42dac92.png![在这里插入图片描述](https://img-blog.csdnimg.cn/9862553a774242b1bd1cc11664c8e669.png)
6.4实现移动方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/08451fe9a1db42079b6eb052f9468fd0.png)
6.5修复对角移动比上下左右快的bug
![在这里插入图片描述](https://img-blog.csdnimg.cn/66ce2d4d0ed641f1b37ce5de6cc0fc29.png)
7.待续…
|