python可视化界面开发工具,python 可视化界面开发

  python可视化界面开发工具,python 可视化界面开发

  根据Pygame APP的文档,Pygame是一个“游戏开发库”,是一套帮助程序员制作游戏的代码库。包括:

  图形和声音(包括音乐)控件(键盘、鼠标、游戏手柄等。)Pygame游戏结构框架

  每一个游戏的核心都是一个循环,我们称之为“游戏循环”。这个循环不断运行,一次次完成游戏工作所需的一切。游戏的当前画面每循环显示一次,称为帧。

  Pygame游戏周期主要处理三件事:1。处理外部输入(鼠标点击或键盘按压事件)。这意味着在游戏进行的同时,必须响应用户的操作进行处理。这些可能是诸如键盘按键被按下或鼠标被点击的事件。

  2.更新游戏对象的位置和状态。当飞行器物体在空中飞行,受重力影响,需要改变位置。如果两个物体相互碰撞,它们需要爆炸。

  3.渲染在这一步,用屏幕上更新的位置重新绘制所有的游戏对象。

  构建Pygame程序框架1。Pygame程序开始的基本配置。导入所需的库,设置一些变量,然后创建窗口和程序循环。

  初始化importpygameimportrandomwidth=360 #游戏窗口宽度高度=480 #游戏窗口高度FPS=30 #帧率pygame,用于创建窗口pygame.init(声音初始化py game . init(py game . mixer . init=py game . display . set _ mode(width,HEIGHT)) pygame.dight最后我们创建了时钟clock对象,使游戏运行在预期的FPS上。

  #游戏循环running=trueweelrunning3360 # ProcessInput(Events)# Update # # Draw/Render这是一个游戏循环,由变量running控制。如果要结束游戏,只需将running设置为False,循环就结束了。接下来,用一些基本代码填充这些部分。

  2.渲染/绘制从绘制部分开始。目前没有可用的游戏对象来用单色填充屏幕。

  图像由具有三个部分的像素组成:红色、绿色和蓝色。每个部分的发光量决定了像素的颜色。如下图。

  三原色可以有从0到255的值,所以三原色中的每一种可能有256种差异。下面是一个三种颜色组合的例子。

  当你开始设置变量时,你可以通过设置这些颜色的数量,然后绘制它们,来直接应用和填充这些颜色。

  #colors(r,g,b) black=(0,0,0) white=) 255,255) red=) 255,0,0) green=) 0,255,0) blue=屏幕像素。从计算机的角度来看,这是一个非常缓慢的过程。所以如果在屏幕上画很多东西,可能要花很长时间才能画出来。处理能力低的电脑表现为运行纸箱的游戏。

  我们可以通过使用一种叫做双缓冲的技术来巧妙地解决这个问题。

  想象一下,有一个双面白板,可以翻转一面或另一面。正面是显示器(玩家正在观看的屏幕),背面是隐藏的,所以只有电脑才能“看到”。每帧画背面所有图片(内存中)。人物,子弹,闪亮的灯光等。然后,完成后,将白板翻过来展示。这意味着您只需逐帧执行白板翻转过程。

  这些都是在pygame中自动发生的。画好之后,告诉他们翻转白板就行了。命令是flip():

  # draw/renderscreen.fill(黑色)之后)绘制一切,flipthedisplaypygame . display . flip)3 .游戏事件现在这个程序这是因为当用户点击“关闭”按钮时发生了一个事件,程序需要监听这个事件并采取相应的动作。结束游戏。

  Pygame在内部保存自上一帧以来发生的所有事件。下面的代码可以确认发生了什么。

  foreinpygame . event . get(:# checkforclosingwindowevent . type==py game . quit:running=False)py game中有很多事件程序。在检查到这个事件发生后,程序将running变量设置为false以挤出游戏循环,然后结束游戏。

  输出文本pygame支持使用pygame.font对象在窗口中打印文本。要打印文本,首先需要创建一个字体对象。font的第一个参数是None,它告诉pygame获取系统默认字体,也可以是特定的字体名称。Font的第二个参数表示字体大小。

  Myfont=pygame.font (none,60)文本渲染的过程比较耗时。常见的做法是首先在内存中创建一个文本图像,然后将文本呈现为图像。

  Text image=my font . render( pygame ,true,white)可以使用screen.blit()绘制text image对象。上面代码中render函数的第一个参数是要绘制的文本,第二个参数是启用抗锯齿能力,第三个参数是文本的颜色。

  以下代码将刚刚生成的文本图像绘制到屏幕的坐标(10,100)处:

  screen . fill(black)screen . blit(text image,(10,100)) pygame.display.flip () fps设置pygame时钟游戏周期的另一个重要方面是控制整个周期的运行速度。游戏里有个术语叫FPS(每秒帧数),代表每秒帧数,也叫帧率。这意味着游戏循环每秒应该发生多少次。这很重要,因为我们不希望游戏运行得太快或太慢。我不希望它在不同的计算机上以不同的速度运行。

  控制FPS虽然现在“更新”部分还没什么可放的,但是你还是需要设置FPS来控制游戏的运行速度。您可以这样做:

  运行时:#保持循环以正确的速度运行clock.tick (fps)这个tick()命令告诉pygame一秒钟循环多少次。如果FPS设置为20,这意味着我们命令游戏的每个循环持续1/20(0.05)秒。如果循环代码(更新、绘图等。)只需要0.03秒,那么pygame就要等0.02秒。以上是电脑处理比较快的情况。如果计算机很差并且运行缓慢,它可能无法每秒执行20个周期—那么clock.tick(20)就成了一个准则。

  显示FPS可以循环计算FPS并显示在屏幕上。

  首先,在while循环之前定义两个变量:

  Count=0start=time.time()计算方法:获取周期开始前的当前系统时间,在每个周期内,累计周期数count;同时,在每个周期中,获得当前系统时间,所以从周期开始到现在所经过的时间(时差)为:now-start。将count除以这个时间差,这个时间差就是FPS(每秒多少个周期)。代码如下:

  # update count=1 now=time . time()fps=count/(now-start)FPS image=my font . render(str(FPS),True,WHITE)# Draw/render screen . fill(BLACK)screen . blit(FPS image,(10,100))# *绘制完所有内容后,翻转displaypygame.display.flip()我们可以修改FPS的值,看看界面上的输出值是否会随之变化。我的电脑,在设置FPS为10000的时候,发现屏幕上打印的是2300,说明我的电脑配置可以支持1秒内最多运行循环中的代码2300次。

  最后,为了保证游戏周期结束时,游戏窗口正确退出。我们通过将代码pygame.quit()放在最后一行来实现这一点。

  FPS=10FPS=100FPS=1000FPS=10000

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: