小实验2:用python做小游戏

写代码的时候注意保持结构清晰
如import全部写入#1中,定义变量全部写入#2中

1.下载pygame
输入命令 pip3 install pygame即可
打开python3 输入import pygame
没有输出错误即说明安装完成

2.准备好游戏资源(image+audio)

3.导入库
import pygame
from pygame.locals import *
这样才可以使用库内的函数

4.初始化游戏
pygame.init() 初始化界面
width, height = a, b 游戏界面大小
screen=pygame.display.set_mode((width, height))能够出现pygame窗口来显示效果

5.载入图像并赋值给变量
a = pygame.image.load(“图片位置/图片名")

6.不停的循环下面的部分 while 1/True:
screen.fill(0) 0为黑色,把整个屏幕填充成黑色
在画面中加入图片元素(画出对象)
screen.blit(a, (x,y))
a为变量名,(x,y)为图像的坐标
代码位置越后面图片显示覆盖在越上面

7.实现按键使对象移动
首先建立一个表示按键状态的队列与一个表示位置的数组
keys = [False, False, False, False]
playerpos=[x,y]
playerpos这个变量表示程序画出玩家的位置(可以用其他变量名)。因为这个游戏会让玩家向不同的方向移动,用一个变量来表示玩家的位置便于改变其位置。
现在你需要修改现在画出玩家的代码,需要用上playerpos变量。把代码进行修改:
screen.blit(player,(a,b))改为screen.blit(player,playerpos)
再将建立的表示按键状态的队列通过条件语句和按键联系起来
最后将按键状态与位置的数组联系起来。
如:
if keys[0]: playerpos[1]-=5

8.利用鼠标更改对象的朝向
position = pygame.mouse.get_pos()获取鼠标的位置
在最前面的代码中加入import math
使用python自带的math包中的atan2函数计算角度然后使对象转向
playerrot = pygame.transform.rotate(对象名, 旋转的角度)
这里旋转的角度需要是角度制,math包中的三角函数均为弧度制,需要乘以57.29转换
当兔子被旋转的时候,它的位置将会改变。所以你需要计算兔子新的位置:playerpos1 = (playerpos[0]-playerrot.get_rect().width/2, playerpos[1]-playerrot.get_rect().height/2)
screen.blit(playerrot(对象旋转过后的新对象), playerpos1)
此时需要删去本来的对象载入代码否则会出现两个对象

9.判断两个对象的位置是否相等
a.get_rect.colliderect(b.get_rect)判断a、b两者位置是否相同
此函数为PyGame的内建功能,即最前面用from导入的pygame.locals包,因此不需要包名。
其中a、b均为载入的图像

你可能感兴趣的:(小实验2:用python做小游戏)