0

私が作成したゲームで使用するタイマー テンプレートに取り組んでいます。これは私がタイマーモジュール用に持っているコードです(まだクラスに入れていません)

import time
import math
import pygame
from livewires import games, color
timer = 0

games.init(screen_width = 640, screen_height = 480, fps = 50)

gamefont = pygame.font.Font(None, 30)
timertext = gamefont.render('Timer: ' +str(timer), 1, [255,0,0])
screen.blit(timertext, [scoreXpos,20])

最終的には、ライブ タイマーを使用する予定なので、render メソッドと blit メソッドを使用しますが、今のところは、timer という静的変数を 0 に設定するだけです。ただし、このプログラムを実行すると、 「画面上のオブジェクトを超えることはできません」というエラー。私はこれまでこのエラーを見たことがないと思うので、本当に混乱しています. 誰かが何が起こっているのかを理解するのを手伝ってくれたら、とても感謝しています。また、livewires からゲームと色をインポートした理由は、後でコード内で別の目的に使用するためです。

4

1 に答える 1

0

Screenのクラスによって例外が発生しlivewiresます。

...
class Screen(object): 

    initialized = 0 

    def __init__ (self, width=640, height=480, fps=50): 
        # Bomb if you try this more than once
        if Screen.initialized: 
            raise GamesError("Cannot have more than on Screen object")

        Screen.initialized = 1
...

Screenコード全体を表示していないので、クラスの 2 番目のインスタンスをどこかに作成したと思います。

于 2013-07-09T08:31:09.370 に答える