小编Pyt*_*ice的帖子

如何将文本添加到pygame矩形

我已经到了在pygame中绘制一个矩形但是我需要能够将"Hello"这样的文本输入到该矩形中.我怎样才能做到这一点?(如果你能解释一下,那将非常感激.谢谢你)

这是我的代码:

import pygame
import sys
from pygame.locals import *

white = (255,255,255)
black = (0,0,0)


class Pane(object):
    def __init__(self):

        pygame.init()
        pygame.display.set_caption('Box Test')
        self.screen = pygame.display.set_mode((600,400), 0, 32)
        self.screen.fill((white))
        pygame.display.update()

    def addRect(self):
        self.rect = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
        pygame.display.update()

    def addText(self):
        #This is where I want to get the text from

if __name__ == '__main__':
    Pan3 = Pane()
    Pan3.addRect()
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit(); sys.exit();
Run Code Online (Sandbox Code Playgroud)

感谢您的时间.

python text pygame class drawrectangle

6
推荐指数
1
解决办法
2万
查看次数

为什么PyGame显示黑屏感到困惑

所以在我决定提出这个问题之前,我做了一些研究,看看我的问题是什么,并且遇到了这个问题:代码仅在Pygame窗口中生成黑屏然而这并不是全部有用,因为我没有得到同样的问题人.我肯定知道我的PyGame没有过时或类似的东西,因为我的代码的先前版本工作.

每次我运行代码时,我都会得到一个黑屏.

这是我的代码(有点遗憾):

import pygame
import sys
from pygame.locals import *

white = (255,255,255)
black = (0,0,0)

objs = []

MAIN_BUTTON = 1

class Pane():

    def __init__(self):
        self.Screen = pygame.display.set_mode((1000,600), 0, 32)
        self.font = pygame.font.SysFont('Arial', 25)

    def drawPane(self, textToDisplay):
        self.Screen.blit(self.font.render(textToDisplay, True, (black)), (250, 115))
        pygame.draw.rect(self.Screen, (black), (175, 75, 200, 100), 2)

    def drawPane1(self, textToDisplay):
        self.Screen.blit(self.font.render(textToDisplay, True, (black)), (250, 115))
        pygame.draw.rect(self.Screen, (black), (175, 75, 200, 100), 2)

    def drawPane2(self, textToDisplay):
        self.Screen.blit(self.font.render(textToDisplay, True, (black)), (250, 115))
        pygame.draw.rect(self.Screen, (black), (175, 75, …
Run Code Online (Sandbox Code Playgroud)

python pygame screen

1
推荐指数
1
解决办法
6441
查看次数

在python中是否有一种关闭系统的简洁方法

所以我想知道的是:有没有办法能够退出一些python代码而不会出现所有这些:

Traceback (most recent call last):
  File "H:\My Documents\Year 13\COMP4\trial.3.1.4.1.py", line 590, in <module>
    myApp.monitorInput()
  File "H:\My Documents\Year 13\COMP4\trial.3.1.4.1.py", line 578, in monitorInput
    self.close()
  File "H:\My Documents\Year 13\COMP4\trial.3.1.4.1.py", line 293, in close
    sys.exit()
SystemExit
Run Code Online (Sandbox Code Playgroud)

这看起来好像是一个错误,但实际上我正在做的就是退出一些代码.我不介意它出现,但如果它作为一个错误信息存在,它看起来并不整洁和好.

这是我的代码中我退出正在运行的程序的区域:

def close(self):
    print ("pygame quit")
    pygame.quit()
    sys.exit()
Run Code Online (Sandbox Code Playgroud)

所有这一切的主要领域:

def monitorInput(self):

    clock = pygame.time.Clock()

    RUNNING = True
    while RUNNING:

        for event in pygame.event.get():

            if event.type == pygame.QUIT:
                RUNNING = False
                break

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    self.show_keyboard = not self.show_keyboard
                    self.show_panes = …
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
56
查看次数

如何解决属性错误?

就像我在我的代码(或者我正在处理的当前项目)之前所说的那样充满了错误.到目前为止,我至少已经解决了十几个错误或更多,老实说,我只是放弃了.我的意思是上帝知道还有多少.

我当前遇到的问题是一个AttributeError,在我看来是最容易修复的错误之一,但我似乎已经完成了意大利面模式,我不知道如何解决这个问题.

{错误本身:

Traceback (most recent call last):
      File "C:\Users\Burak\Desktop\boxtrial.py", line 87, in <module>
        myScreen.addPane("1")
      File "C:\Users\Burak\Desktop\boxtrial.py", line 67, in addPane
        myPane.drawPane()
      File "C:\Users\Burak\Desktop\boxtrial.py", line 19, in drawPane
        self.Screen.blit(self.font.render(textToDisplay, True, (black)), (250, 115))
AttributeError: 'Pane' object has no attribute 'Screen'
Run Code Online (Sandbox Code Playgroud)

}

我将列出下面的代码,但我觉得我应该解释我想要做什么,所以你对代码有一些了解.基本上在主循环中,我调用了"类屏幕",这有助于创建一旦运行就出现的PyGame屏幕.在那个屏幕上,我试图让固定位置的屏幕上出现矩形(坐标是特定的,但我在代码中使用的只是出于测试目的).然后我有另一个名为"Pane"的类,这个类就在那里,以便我可以在屏幕中绘制类窗格的许多实例(如果这是有道理的).

如果有人可以帮助我摆脱那些会引起帮助的错误,但如果您认为这不是解决问题的好方法,那么请成为我的客人提出或教我更好的方法同一件事情.

{代码:

import pygame
import sys
from pygame.locals import *

white = (255,255,255)
black = (0,0,0)
objs = []
MAIN_BUTTON = 1


class Pane():

    def __init__(self, textToDisplay, coordinates, screen):
        self.textToDisplay = textToDisplay
        self.coordinates = …
Run Code Online (Sandbox Code Playgroud)

python pygame attributeerror

-1
推荐指数
1
解决办法
696
查看次数

标签 统计

python ×4

pygame ×3

attributeerror ×1

class ×1

drawrectangle ×1

screen ×1

text ×1