美文网首页ITS·黑客
小实验2:用python做小游戏

小实验2:用python做小游戏

作者: JEZAU | 来源:发表于2017-04-03 16:07 被阅读0次

    写代码的时候注意保持结构清晰
    如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做小游戏

        本文链接:https://www.haomeiwen.com/subject/othoottx.html