2012-02-16 10 views
0

私はpygameで色を徐々に変えるためにネストされたforループを使用しています。私の問題は、変化は青色にしか起こらないということです。なぜ????ここではコードです:入れ子になったforループが私の望むように動作していません

は、forループ
while True:   
    for a in range(256): 
     for b in range(256): 
      for c in range(256): 
       for event in pygame.event.get(): 
        if event.type == QUIT: 
         pygame.quit() 
         sys.exit() 
       text = basicFont.render('Hello world!', True, (a, b, c), black) 
       textRect = text.get_rect() 
       textRect.centerx = windowSurface.get_rect().centerx 
       textRect.centery = windowSurface.get_rect().centery 
       windowSurface.fill(black) 
       windowSurface.blit(text, textRect) 
       pygame.display.update() 
       mainClock.tick(40) 

のみに適用されるには、「」

+0

人々が読めるようにコードを書式設定することを検討することもできます。 –

+0

多分あなたは表とスペースを混在させています。それはPythonを混乱させる。 – Maciek

+0

私はそれを正しく動作させる方法はありますか? –

答えて

0

あなたがループの中に、a、b及びcの値をプリントアウトすることにより、何が起こるかを見ることができます。

for a in range(256): 
    for b in range(256): 
     for c in range(256): 
      print(a, b, c) 

これは、c(青)の結果を最初に0から255にし、次にbを1に増やし、cを0に戻してから再び255に増やし、次にbが2になり、cに行く再び0から255までです。

私はあなたがそれを殺す前にプログラムに緑に影響を与える時間を与えていないと思う。赤に影響を与えるために65536枚の絵画が必要になるため、かなり時間がかかります。

実際にどのような効果が期待されているのでしょうか。

関連する問題