小实验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均为载入的图像

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,571评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 本文目录: 一:绘制椭圆 二:用随机的值绘制1000个线条 三:绘制一个绕着屏幕移动的矩形,任何时候,当该矩形碰到...
    张幸清阅读 1,306评论 0 2
  • 三十而立,是太多人的担子所在,28也依然能感受中年在轻轻的向我招手……顽皮的少年时代,叛逆的冲动年华早已随风而逝,...
    潇洒地流浪阅读 633评论 0 3
  • 春花伴雨, 叹一水轻荡渔舟。 翠山绝地, 枉娇柔风中听笛。 闲来赋琴, 引多情莺歌燕语。 蝶舞黄昏, 胜仙境神仙眷侣。
    纳兰妞妞阅读 201评论 0 0