-2
私はwhileループを作成し、.blit()はうまく動作しますが、ifステートメントに到達すると、ロードサインが表示され、何も動作しないようです。 whileループを間違ってやっていますか?私はまた、私のmenu1 == False
が次のwhileループをトリガーしたい。あなたはなぜ私のwhileループのif文は動作しませんか?
=
代わりの代わりにwhile menu1 == True
のmenu1 = False
if menu1 == True
で==
を必要とする。しかし、あなたがより良い方法(または使用中のコードを整理することができ #Importing Stuff
import pygame
import sys
import time
import random
from pygame.locals import*
pygame.init()
#Naming Variables
menu = 0
color = (65,105,225)
tcolor = (255,255,255)
pcolor = (255,255,255)
hcolor = (255,255,255)
width, height = 1920, 1080
screen = pygame.display.set_mode((width, height))
hecolor = (255,255,255)
sys_font = pygame.font.SysFont \
("None", 60)
menu1 = True
#Initializing Screen
pygame.display.set_caption("TSA Trend Game")
screen.fill(((color)))
pygame.display.update()
#Making Menu
while 1 == 1 and menu == 0:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
#More Variables
rendered = sys_font.render \
("Welcome to Trends of 2016!", True, ((tcolor)))
play = sys_font.render \
("Play Game", True, ((pcolor)))
help = sys_font.render \
("Help", True, ((hcolor)))
play_r = play.get_rect()
play_r.x, play_r.y = 710, 500
help_r = help.get_rect()
help_r.x, help_r.y = 1170, 500
render_r = play.get_rect()
render_r.x, render_r.y = 710, 500
#Display Text
while menu1 == True:
screen.blit(rendered, (710, 440))
screen.blit(help, (1170, 500))
screen.blit(play, (710, 500))
pygame.display.update()
if render_r.collidepoint(pygame.mouse.get_pos()):
pcolor = (255,255,0)
else:
pcolor = (255,255,255)
if help_r.collidepoint(pygame.mouse.get_pos()):
hcolor = (255,255,0)
else:
hcolor = (255,255,255)
if event.type == pygame.MOUSEBUTTONDOWN and help_r.collidepoint(pygame.mouse.get_pos()):
menu1 == False
while menu1 == False:
screen.fill(color)
pygame.display.update()
pygame.display.update()
'MENU1 == false'のは、' '真!= false'のようfalse'を、**ない**割り当てに評価し、比較したものです。また、あなたはちょうど '中断することができます。 – jonrsharpe
ゲームの各状態(メニュー、オプション、ゲーム、ヘルプなど)には、それ自身のループがあり、以下が含まれている必要があります。** 1 **。一定のフレームレートを維持するクロック。 ** 2 **。イベントループ。 ** 3 **。オブジェクトの更新。 ** 4 **。オブジェクトを描画/描画します。 ** 5 **。ディスプレイを更新します。 [Here](http://stackoverflow.com/documentation/pygame/3959/getting-started-with-pygame/14697/a-simple-game#t=201702041456298336222)は簡単なウォークスルーです。 –
'menu1 == True'の代わりに' if menu1 == True'が必要かもしれません。分割されたループに分割することもできます:http://imgur.com/MT7tZ4s – furas