Jump to content
  • Advertisement
Sign in to follow this  
K1NNY

I need help on why this isn't working

This topic is 2087 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm trying to make it where i display my main starting screen with a while loop and it doesn't seem to be working. If i blit the pictures normally outside of the loop it works, but just simply having the loop stops the program from even going. This is my while loop:

[source lang="python"]#Menu screen
start_screen = True

while start_screen:
DISPLAY.blit(sbg, (0, 0))
DISPLAY.blit(stitle, (188, 10))
DISPLAY.blit(textObj1, RectObj1)

for event in pygame.event.get():

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
start_screen == False
game == True[/source]
"game" being another loop that simply fills the screen white(for testing, later this will initiate the game).

Here's the whole code:

[source lang="python"]import pygame, random
import randint
import pplrty
import sys
from pygame.locals import *

pygame.init()

FPS = 30
fpsClock = pygame.time.Clock()

#variables
x = randint.x
year = 2011
p = pplrty.p

#get colors
WHITE = (255, 255, 255)
RED = (255, 0, 0)

#get display stuff
DISPLAY = pygame.display.set_mode((640,480))
pygame.display.set_caption('Program')

#create fonts
fontObj1 = pygame.font.Font('freesansbold.ttf', 16)

#make words
textObj1 = fontObj1.render('Hit Enter', True, RED)
RectObj1 = textObj1.get_rect()
RectObj1.center = (315, 240)

#get images
title = pygame.image.load('title.png')
stitle = pygame.transform.scale(title, (264, 64))

bg = pygame.image.load('bg.png')
sbg = pygame.transform.scale(bg, (640, 480))


#Menu screen
start_screen = True

while start_screen:
DISPLAY.blit(sbg, (0, 0))
DISPLAY.blit(stitle, (188, 10))
DISPLAY.blit(textObj1, RectObj1)

for event in pygame.event.get():

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
start_screen == False
game == True

while game:
DISPLAY.fill(WHITE)


#Main Loop
while True:

for event in pygame.event.get():

if event.type == QUIT:
pygame.quit()
sys.exit()

pygame.display.update()

[/source]

The game is going to be a simple game with a simple gui and is in its first stages so certain things are not there, but it was working until i put the blit images in the loop.

Share this post


Link to post
Share on other sites
Advertisement

Did you mean to use == instead of = for start_screen == False?


Yes that was a mistake, i'll fix it when i get back to working on it.

Share this post


Link to post
Share on other sites
That actually didn't work either. Am i using the while loop wrong? when i replaced the "=" with "==" it errored and said "start_screen is not defined"

EDIT:

I fixed it, i was forgetting to call pygame.display.update Edited by K1NNY

Share this post


Link to post
Share on other sites
You mistake his meaning. Your initialization of start_screen needs to remain start_screen=True, but in your conditionals if event.key==pygame.K_RETURN you need to change start_screen==False and game==True to start_screen=False and game=True. Because as it stands, you are not assigning to those values you are just comparing them to True or False.

Share this post


Link to post
Share on other sites

[sub]

That actually didn't work either. Am i using the while loop wrong? when i replaced the "=" with "==" it errored and said "start_screen is not defined"
[/sub]
[sub]That's partially because you corrected in the wrong direction. Line 42 in your post above (the "entire code" section) is fine. It declares and defines the start_screen variable. The problem is lines 53 and 54. Those should be assignments and not boolean checks, so replace their =='s with a single =.[/sub]

[sub]Edit: slightly too slow. Ah well.[/sub] Edited by BCullis

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!