用python的pygame,但每次程式一執行,pygame window視窗能出現,但是下圖這種狀態

時間 2021-05-04 15:39:21

1樓:我爸喜歡

event英文翻譯是事件 get 獲取  type是樣式,型別的意思,所以他這個都是有規律的,但是有順序事件在前,後面跟屬性

同時也有父子(層級)關係

event.get() 獲取到的事件

event.type() 事件型別

event.key() 按鍵事件

一般都是寫在while裡面,因為這是個不斷迴圈的過程,不然,只執行一便達不到實際要求,這是pygame裡面設定好的

這是貪吃蛇遊戲的一段**(一部分):

txt = font.render('game over', true, (255, 0, 0))

screen.blit(txt, (size[0]/6, size[1]*2/5-20))   # (0, 0)   (size[0]/6, size[1]*2/5)100號字中心位置

direction = 'right'    # 初始方向,向右

changedirection = direction    # 定義一個改變方向的變數,按鍵

running = true

while trunning:

for event in pygame.event.get():    # 從佇列中獲取事件

if event.type == quit:    # 判斷事件型別是否為退出事件

# pygame.quit()

sys.exit()

elif event.type == keydown:    # 如果按鍵被按下(事件)

if event.key == k_right or event.key == k_d: # 如果是右鍵頭或者是d,蛇向右移動

changedirection = 'right'

if event.key == k_left or event.key == k_a:  # 如果是左鍵頭或者是a,蛇向左移動

changedirection = 'left'

if event.key == k_up or event.key == k_w:

changedirection = 'up'

if event.key == k_down or event.key == k_s:

changedirection = 'down'

#這下面一行可以忽略,

if event.key == k_escape:    # 對應鍵盤上的esc鍵,表示退出

pygame.event.post(pygame.event.event(quit))

# 繪製文字,重新整理顯示

screen.blit(txt, (20, 10))

screen.fill(blackcolor)  #放在for語句一列,屬於while的(子)層級,迴圈不斷的重新整理

2樓:yuuy小童鞋

import pygame,sys

from pygame.locals import *pygame.init()

windowwidth=480

windowheight=700

caption_name='hello woad'

displaysurf=pygame.display.set_mode((windowwidth,windowheight))

pygame.display.set_caption(caption_name)

while true:

‍    displaysurf.fill((255,255,255))#初始化螢幕 白色

for event in pygame.event.get():

if event.type == quit:#退出檢測pygame.quit()

sys.exit()

pygame.display.update()#更新‍

3樓:使用者協議書

while true:

for event in pygame.event.get():

if event.type = = pygame.quit:

pygame.quit()

quit()

# 螢幕填充在while迴圈下,而不在for迴圈下screen.fill((0, 0, 0))# 反轉螢幕以展示最近一次的繪製,非常重要!

pygame.display.flip()

4樓:匿名使用者

你的while true沒有處理,也沒有main loop

進入了死迴圈,當然沒有響應了

python pygame的執行問題?

5樓:匿名使用者

你只截圖出錯的地方,但是截圖中沒有包含你出錯的**

不方便分析錯誤原因啊

6樓:900就

建議安裝最新pygame版本。

python利用pygame模組編遊戲遇到個小問題 30

7樓:jason粉絲團

錯誤提示說sprite沒有__int__方法,應該是__init__吧,第九行,因為你是繼承pygame.sprite.sprite,然後要初始化他的類,所以應該是__init__少了一個i吧。

學會debug看錯誤提示

8樓:

updates=sprites.draw(screen) 這是隻畫了螢幕,就是白色的部分,雖然載入**了,但是並沒有blit到screen上,試下screen.blit(weight_image,(0,0)),就會被新增到螢幕上了

9樓:

樓主你用的python是3.0以上版本嗎?建議用2.7版本試一下,我用3.6的pygame初始化和呼叫鍵盤都報錯,但是重新配置2.7版本就可以了

10樓:匿名使用者

這是因為源**和**檔案不在同一個目錄裡

應該把**和源**放在一個資料夾

11樓:爵亙

求**,[email protected]

12樓:江滬椿明

樓主 你的skier_images 裡面的5個**檔案可以發給我一份嗎? 找了好多地方都沒找到。謝謝

[email protected]

13樓:匿名使用者

樓主求skier的相關**檔案,目前也在看這本書,**在網上找了很久沒有。[email protected]謝謝

我在匯入python的一個庫pygame的時候出現了下面這種問題,求回答:

14樓:匿名使用者

這種情況多數是因為 你作業系統是64位的,但是python安裝的是32位的,而現在安裝的模組又是64位的。

解決辦法就是,把pygame模組換成 32位的就可以了。

python pygame執行問題

15樓:匿名使用者

updates=sprites.draw(screen) 這是隻畫了螢幕,就是白色的部分,雖然載入**了,但是並沒有blit到screen上,試下screen.blit(weight_image,(0,0)),就會被新增到螢幕上了

16樓:

是放到當前目錄嗎?執行路徑是可執行檔案當前路徑嗎

17樓:匿名使用者

把最後四行**縮排下放到while塊中就對了哈

python基礎,求解這個pygame為什麼關不掉

18樓:匿名使用者

在sys.exit前加一行:pygame.quit()

我試著能正常退出,你試試

19樓:匿名使用者

判斷退出時候,應該是這個

event.type==pygame.locals.quit

20樓:活寶黑色咖啡

試試這段

while true:

for event in pygame.event.get():

if event.type==pygame.quit:

pygame.quit()

exit()

21樓:匿名使用者

在sys.exit()前,加一行pygame.quit()

用python怎麼用類的方法計算圓柱的表面積和體積

墨汁諾 12345678910111213import mathclass cylinder def init self,r,h self.r r self.h h def volume self return math.pi self.r self.r self.h def area self r...

用Python輸出0 100之間的奇數之和

具體算式如下 t 0 for i in range 100 if i 2 1 t i print t 這句if i 2 1 是i對2求餘即偶數對2求餘為0,奇數對2求餘為1。python,是一種物件導向的解釋型計算機程式設計語言,由荷蘭人guido van rossum於1989年發明,第一個公開發...

怎麼用python直接讀取檔案中的數字

網際網路前世今生 coding utf 8 f open test.txt s f.readline print s while s n arr s.split a1 arr 0 a2 arr 1 replace n readline 讀取檔案的時候,預設加上 n print a1 print a2...