关于pygame自定义窗口创建及相关操作指南

目录
  • 1.首先,我们需要导入几个相关模块
  • 2,初始化游戏
  • 3,创建窗口及标题
  • 4,创建主循环
  • 附:pygame 窗口无法正常关闭的解决方法
  • 总结

1.首先,我们需要导入几个相关模块

import pygame
import sys
from pygame.locals import *

2,初始化游戏

pygame.init()#是一定要添加的

与其对应的是pygame.quit(),关闭pygame。

3,创建窗口及标题

screen = pygame.display.set_mode(size=(1118,633),flags=0,depth=32)#绘制屏幕大小及相关数据
pygame.display.set_caption('小游戏')#设置标题
background = pygame.image.load('')#加载背景图片,括号里填图片位置
screen.blit(background,(0,0))#绘制背景图片位置,括号内表示坐标
pygame.display.update()#记得刷新屏幕,很重要

pygame.display.set_mode()函数中size=(a,b)表示绘制屏幕尺寸大小,a,b分别代表长和宽,

pygame中坐标情况如下:

这里要注意:其原点在左上角。

flags是标志位,默认为0。

对其常见相关参数说明 :

  • flags = 0 用户设置的窗口大小
  • flags = pygame.FULLSCREEN 创建一个全屏窗口
  • flags = pygame.RESIZABLE 创建一个可以改变大小的窗口
  • flags = pygame.NOFRAME 创建一个没有边框的窗口
  • flags = pygame.OPENGL 创建一个OPENGL渲染的窗口

depth 是颜色位数

8位:含有256种颜色

16位:包含高达65000种颜色

32位:包含4294967296种颜色

4,创建主循环

while True :
    for event in pygame.event.get() :
        if event.type == QUIT :
            pygame.quit()
            sys.quit()

pygame.event.get(),,从事件队列中获取一个事件,并从队列中删除该事件,这里用到了QUIT事件,也就是用户按下窗口的关闭按钮,然后退出pygame.有了主循环,我们可以长时间的观察我们建立的窗口,也可对此窗口大小进行更改。

常用的enent事件有如下:

  • QUIT:用户按下窗口的关闭按钮
  • ATIVEEVENT:Pygame被激活或者隐藏
  • KEYDOWN:键盘按下
  • KEYUP:键盘放开

我们其实还可以用time.sleep()方法停留我们建立的窗口,以此来观察其尺寸大小

import time#需要我们导入time模块

再后面添加利用此函数

time.sleep(5)

此时我们便有5s观察时间。

附:pygame 窗口无法正常关闭的解决方法

运行以下程序,将解决问题

import sys
import pygame

def run_game():
    pygame.init()
    screen = pygame.display.set_mode((1200,800))
    pygame.display.set_caption("Apple")
    #开始游戏的主循环
    while True:
        #监视键盘和鼠标事件
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
run_game()

总结

到此这篇关于pygame自定义窗口创建及相关操作指南的文章就介绍到这了,更多相关pygame自定义窗口创建内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 教你用Python pygame设置窗口标题和图标

    窗口标题 pygame.display.set_caption(title, icontitle=None) ''' • title设置窗口的标题内容 • icontitle设置图表化后的小标题 † 小标题可选,部分系统没有,一般不设置 ''' pygame.display.get_caption() ''' • 返回当前设置窗口的标题及小标题内容 • 返回结构为(title, icontitle) • 该函数与游戏交互逻辑配合,可以根据游戏情节修改标题内容 ''' 设置图标 pygame.di

  • python中pygame针对游戏窗口的显示方法实例分析(附源码)

    本文实例讲述了python中pygame针对游戏窗口的显示方法.分享给大家供大家参考,具体如下: 在这篇教程中,我将给出一个demo演示: 当我们按下键盘的'f'键的时候,演示的窗口会切换到全屏显示和默认显示两种显示模式 并且在后台我们可以看到相关的信息输出: 上面给出了一个简单的例子,当然在pygame的官方文档中有对显示策略的更权威的说明: http://www.pygame.org/docs/ref/display.html#pygame.display.set_mode ''' pyga

  • pygame游戏之旅 创建游戏窗口界面

    pygame创建游戏窗口界面,供大家参考,具体内容如下 使用pygame前一定要先导入pygame而且肯定要先初始化pygame import pygame pygame.init() 创建一个800 x 600的窗口,函数返回一个显示界面 gameDisplay = pygame.display.set_mode( (800,600) ) 修改窗口的标题,无需返回 pygame.display.set_caption('A bit Racey') pygame.time模块给我们提供了一个Cl

  • 关于pygame自定义窗口创建及相关操作指南

    目录 1.首先,我们需要导入几个相关模块 2,初始化游戏 3,创建窗口及标题 4,创建主循环 附:pygame 窗口无法正常关闭的解决方法 总结 1.首先,我们需要导入几个相关模块 import pygame import sys from pygame.locals import * 2,初始化游戏 pygame.init()#是一定要添加的 与其对应的是pygame.quit(),关闭pygame. 3,创建窗口及标题 screen = pygame.display.set_mode(siz

  • JS自定义对象创建与简单使用方法示例

    本文实例讲述了JS自定义对象创建与简单使用方法.分享给大家供大家参考,具体如下: <html> <head> <title>js自定义函数</title> <meta charset="UTF-8"/> <script type="text/javascript"> //创建自定义对象 //方法一: // var obj=new Object(); //方法二 var obj={}; obj.n

  • Vue 3自定义指令开发的相关总结

    什么是指令(directive) 在Angular和Vue中都有Directive的概念,我们通常讲Directive 翻译为"指令". 在计算机技术中,指令是由指令集架构定义的单个的CPU操作.在更广泛的意义上,"指令"可以是任何可执行程序的元素的表述,例如字节码. 那么在前端框架Vue中"指令"到底是什么,他有什么作用呢? 在Vue开发中我们在模板中经常会使用v-model和v-show等以v-开头的关键字,这些关键字就是Vue框架内置的指令

  • Jquery实现自定义窗口随意的拖拽

    在网页上我们经常看到,当点击一个按钮时,弹出一个自定义窗口,并且可以随意的拖拽,从而改变其位置 使用jquery实现拖拽,则必须要jquery的文件了,实现步骤: 1.引入jquery文件 2.编写js脚本 具体代码: html代码: 复制代码 代码如下: <button id="show">显示</button> <div class="win"> <div class="wTop"><p

  • vue自定义过滤器创建和使用方法详解

    本文实例为大家分享了vue自定义过滤器创建和使用方法,供大家参考,具体内容如下 过滤器:生活中有很多例子,净水器 空气净化器 . 过滤器的作用:实现数据的筛选.过滤.格式化. vue1.*版本是有内置的过滤器,但是在vue2.*所有的版本都已经没有自带的过滤器了. 1.过滤器创建 过滤器的本质 是一个有参数 有返回值的方法 new Vue({ filters:{ myCurrency:function(myInput){ return 处理后的数据 } } }) 2.过滤器使用 语法: <any

  • Knockout自定义绑定创建方法

    概述 除了上一篇列出的KO内置的绑定类型(如value.text等),你也可以创建自定义绑定. 注册你的binding handler ko.bindingHandlers.yourBindingName = { init: function(element, valueAccessor, allBindings, viewModel, bindingContext) { // This will be called when the binding is first applied to an

  • python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法

    本文借用HTML的css语法,将样式表应用到窗口部件.这里只是个简单的例子,实际上样式表的语法很丰富. 以下类似于css: StyleSheet = """ QComboBox { color: darkblue; } QLineEdit { color: darkgreen; } QLineEdit[mandatory="true"] { #mandatory="true"时,QLineEdit的样式会变化 background-co

  • 基于vue与element实现创建试卷相关功能(实例代码)

    由于最近在一个项目中需要实现创建试卷与预览试卷的功能,所以就自己动手写了一个,效果还不错,目前项目已经交付使用,今天就先和大家分享一下创建试卷. 创建试卷 先放一下效果图 首先是试卷的相关设置 考试对象是通过接口返回的数据 <span class="content-label">选择考试对象</span> <el-form-item prop="roleList"> <el-select v-model="form

  • oracle临时表空间的作用与创建及相关操作详解

    目录 1.1 临时表空间作用 1.2 临时表空间和临时表空间组 1.3 临时表空间操作 (1) 查看表空间 (2) 查看表空间详细信息 (3) 查看除临时表空间外 表空间对应的数据文件 (4) 查看临时表空间对应的数据文件 (5) 查看临时表空间组信息 (6) 查看默认的临时表空间 1.4 创建临时表空间 补充:对临时文件进行删除 总结 1.1 临时表空间作用 用来存放用户的临时数据,临时数据就是在需要时被覆盖,关闭数据库后自动删除,其中不能存放永久临时性数据. 如: 当用户对大量数据进行排序时

  • 一个win32窗口创建示例

    复制代码 代码如下: /*一个简单的win32窗口调用*/#include<Windows.h>#include<tchar.h> //声明窗口函数LRESULT CALLBACK WindowProc(HWND hwnd,       UINT uMsg,       WPARAM wParam,       LPARAM lparam       );int WINAPI WinMain(     HINSTANCE hInstance,     HINSTANCE hPrev

随机推荐