美文网首页
用python3从零开始开发一款烧脑射击游戏#1

用python3从零开始开发一款烧脑射击游戏#1

作者: 李相赫的乐芙兰 | 来源:发表于2019-01-21 21:19 被阅读133次

    打算diy一个2D视角的3D空间多人射击游戏(玩家需要通过多个2D平面的信息推理出完整的3D空间,并与其它玩家展开对战)
    开发环境是python3 + pygame库
    只要你已经掌握了python的基础语法,就可以跟我一起从0开始做一款自己设计的游戏

    安装开发环境:
    1.从官网下载python3安装包https://www.python.org/

    2.安装完成后在命令行输入python,测试环境变量是否已经被添加(一般安装步骤中会有配置)


    命令行.png

    若没有进入如图所示的python交互环境,则需要手动配置Path的环境变量(百度配置python环境变量)

    3.安装pygame
    (如果在python交互环境,需要输入exit()退回到命令行环境)
    在命令行输入pip install pygame

    至此开发环境已经配置完毕,下面就可以愉快的编写代码辣

    写一个HelloWorld程序

    导入pygame库
    import pygame

    导入pygame库中的常量
    from pygame.locals import *

    初始化pygame
    pygame.init()

    创建一个窗口,参数表示窗口的宽和高
    size = width, height = 600, 500
    screen = pygame.display.set_mode(size)

    绘制窗口
    screen.fill(color)

    在窗口的中间画一个20*20的正方形
    pygame.draw.rect(screen,color1,Rect(300,250,20,20))

    刷新窗口(将本次绘制在窗口中的图形显示出来)
    pygame.display.flip()

    最后为了程序可以一直跑下去而不是绘制一次就退出,我们需要将绘图的代码放到一个while循环中
    并且为了防止while循环占用全部的cpu,我们用clock的tick来限制游戏的帧数
    完整代码如下

    import pygame
    import sys
    from pygame.locals import *
    
    pygame.init()
    size = width, height = 600, 500
    screen = pygame.display.set_mode(size)
    color = (0, 0, 0)
    color1 = (127,1,7)
    
    clock = pygame.time.Clock()
    
    while True:
        clock.tick(60)#限制60帧
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
    
        screen.fill(color)
        pygame.draw.rect(screen,color1,Rect(300,250,20,20))
        pygame.display.flip()
    
    pygame.quit()
    

    好了,最基础的代码结构已经完成,运行程序将会出现如图所示的窗口


    窗口.png

    在后续的文章中将会处理下面这些问题:
    通过键盘和鼠标控制小方块的移动
    绘制地图以及处理阻挡碰撞
    增加子弹发射
    用socket完成初步的客户端、服务器结构
    通过多线程使服务器支持多个客户端同时登陆游戏
    服务器同步角色单位和子弹的位置

    相关文章

      网友评论

          本文标题:用python3从零开始开发一款烧脑射击游戏#1

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