它不会绘制我的矩形(pydroid 上的 pygame)

Posted

技术标签:

【中文标题】它不会绘制我的矩形(pydroid 上的 pygame)【英文标题】:It wont draw my rectangle (pygame on prdroid) 【发布时间】:2021-11-29 07:00:07 【问题描述】:

屏幕无法填充,它说屏幕没有填充命令,我做错了什么?

import pygame
    
pygame.init()

screen = pygame.display
set_mode((0, 0))

white = (255, 255, 255)
Square =(0, 0, 0)

loop = True
while loop:
    screen.fill(white)
    pygame.draw.rect(screen, Square, pygame)Rect(100, 100, 200, 200)
    pygame.display.update()

【问题讨论】:

你能发布完整的回溯吗? 嘿,我是python的新手,基本上刚刚开始学习,我不知道那是什么 这应该在一行screen = pygame.display.set_mode((0, 0)) @ChainzGames 你有很多错误screen = pygame.display.set_mode((0, 0)),这就是你修复错误消息的方法,我认为那里也有缩进错误 @IainShelvington 我编辑了它,因为我发现一个新的错误 iv 试图在屏幕上添加一个矩形 【参考方案1】:

您的代码中有一些语法错误:

screen = pygame.displayset_mode((0, 0))

screen = pygame.display.set_mode((0, 0))

pygame.draw.rect(screen, Square, pygame)Rect(100, 100, 200, 200)

pygame.draw.rect(screen, Square, pygame.Rect(100, 100, 200, 200))

不仅如此,还缺少事件循环。这可能会导致您的应用程序冻结。分别见pygame.event.get()pygame.event.pump()

对于游戏的每一帧,您都需要对事件队列进行某种调用。这确保您的程序可以在内部与操作系统的其余部分进行交互。

正确的程序:

import pygame
    
pygame.init()
screen = pygame.display.set_mode((640, 480))

white = (255, 255, 255)
Square = (0, 0, 0)

loop = True
while loop:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            loop = False

    screen.fill(white)
    pygame.draw.rect(screen, Square, pygame.Rect(100, 100, 200, 200))
    pygame.display.update()

【讨论】:

@ChainzGames 请点击链接:replit.com/@Rabbid76/It-wont-draw-my-rectangle#main.py 这是工作示例。与答案中的代码相同。没有错误。 别介意它现在可以工作了,谢谢你的帮助(主要是缩进:))

以上是关于它不会绘制我的矩形(pydroid 上的 pygame)的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL用鼠标拖动绘制矩形?

在 Angular.js 上的 HTML5 Canvas 中的背景图像上绘制一个矩形

更改矩形的 X 值实际上不会在 GUI 中移动它

在android上的矩形中自动调整文本

当我绘制另一个矩形时,如何保留我在 Jpanel 上绘制的矩形?

java swing中绘制矩形的错误