簡體   English   中英

在 Pygame 畫一條線

[英]Draw a Line in Pygame

我想在 Python 中畫一條線,但是當我運行下面的代碼時,這條線永遠不會出現。 事實上,我需要制作一個具有 4x4 部分的字段,但讓我們從一行開始。 我的代碼:

import sys, pygame
from pygame.locals import*

width = 1000
height = 500
screen_color = (49, 150, 100)
line_color = (255, 0, 0)

def main():
    screen=pygame.display.set_mode((width,height))
    screen.fill(screen_color)
    pygame.display.flip()
    pygame.draw.line(screen,line_color, (60, 80), (130, 100))

    while True:
        for events in pygame.event.get():
            if events.type == QUIT:
                sys.exit(0)
main()

怎么了?

畫線后,您必須使用pygame.display.flip更新計算機的顯示。

pygame.draw.line(screen, Color_line, (60, 80), (130, 100))
pygame.display.flip()

這通常在 while 循環的底部每幀執行一次。

畫線后執行 pygame.display.flip() 你正在這樣做:

screen.fill(color)
pygame.display.flip()
pygame.draw.line(...)

問題是你在它出現之前覆蓋了它。 改為這樣做:

screen.fill(color)
pygame.draw.line(...)
pygame.display.flip()

畫線后添加pygame.display.flip()

嘗試給線一個寬度(線方法的最后一個參數)並更新顯示

pygame.draw.line(screen, Color_line, (60, 80), (130, 100), 1)
pygame.display.update()

你忘了做:pygame.display.flip()

"

import pygame as pg

pg.init()

pg.display.set_caption("Linija")

prozor-pg.display.set_mode((200, 200))

prozor.fill(pg.Color("white"))

pg.draw.line(prozor,pg.Color("red"), (0,100),(200, 100), 5)

pg.display.update()

pg.time.wait(5000)

pg.quit()100

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM