Thank you all!!!! you are helping me so much. I thought i was pretty proficient 
in pygame so im very sorry for my 'stupid' questions but i cannot for the life 
of me figure this one out. I made all the neceesary changes and ive blitted 
correctly i think but i keep getting... KeyError: 4


import pygame 

pygame.init()
import sys,random,os
from pygame.locals import*
from Classes import Arrow 

clock=pygame.time.Clock()
clock.tick(30)

def main_menu():
    menuclock=pygame.time.Clock()
    clock.tick(30)
    
    menuscreen=pygame.display.set_mode((640, 480))#FULLSCREEN
    pygame.display.set_caption('Dog Fight')
    #pygame.mouse.set_visible(False)

    WHITE=(255,255,255)
    BLACK=(0,0,0)
    GREEN=(0,255,0)
    BLUE=(0,0,255)
    background=pygame.image.load('data/background.png')
    lasersound=pygame.mixer.Sound('data/lasershot.wav')
    arrow=pygame.image.load('data/arrow.png')
    menuscreen.blit(background,(0,0))
    arrowpos = { 0 : (100,20) , 1:(100,40) , 2:(100,60) , 3 :(100,60) }
    def dostuff():
        print('Hi')
    

    menu='go'
    counter = 0
    menuscreen.blit(arrow,arrowpos[counter])

    while menu == "go":
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()
        if event.type == KEYDOWN:
            if event.key == K_ESCAPE:
                menu = "off"

            if event.key == K_UP:
                if counter > 0:
                    counter -= 1
                    menuscreen.blit(arrow,arrowpos[counter])


            if event.key == K_DOWN:
                if counter < 4:
                    counter += 1
                    menuscreen.blit(arrow,arrowpos[counter])


            if event.key == K_RETURN:
                return counter

        pygame.display.update()



main_menu()







    
    

THANK YOU!!!!!



On Feb 28, 2012, at 1:21 AM, Bartosz Debski wrote:

> Dict is storing coordinates where your arrow will be placed on
> specific location.
> 
> menuscreen.blit(arrow,arrowpos[counter])
> 
> so if counter is = 0 then arrowpos[counter] will be whatever key 0 is
> assigned to. in example will be (20,20)
> 
> result:
> 
> menuscreen.blit(arrow,(20,20))
> 
> With each up or down press value will change accordingly, dictionary
> is just a storage here.
> 
> Cheers
> Bart
> 
> On Mon, Feb 27, 2012 at 10:43 PM, Zack Baker <zbaker1...@gmail.com> wrote:
>> Wow! Insanely helpful! One last question though, how do i use the dictionary
>> to blit the arrow?
>> This is what i have now..
>> 
>> import pygame
>> 
>> pygame.init()
>> import sys,random,os
>> from pygame.locals import*
>> from Classes import Arrow
>> 
>> clock=pygame.time.Clock()
>> clock.tick(30)
>> 
>> def main_menu():
>>     menuclock=pygame.time.Clock()
>>     clock.tick(30)
>> 
>> 
>> 
>>     menuscreen=pygame.display.set_mode((640, 480))#FULLSCREEN
>>     pygame.display.set_caption('Dog Fight')
>>     #pygame.mouse.set_visible(False)
>> 
>>     WHITE=(255,255,255)
>>     BLACK=(0,0,0)
>>     GREEN=(0,255,0)
>>     BLUE=(0,0,255)
>>     background=pygame.image.load('data/background.png')
>>     lasersound=pygame.mixer.Sound('data/lasershot.wav')
>>     aroow=pygame.image.load('data/arrow.png')
>>     menuscreen.blit(background,(0,0))
>>     arrowpos = { 0 : (20,20) , 1:(20,40) , 2:(20,60) , 3 :(20,60) }
>>     def dostuff():
>>         print('Hi')
>> 
>> 
>> 
>> 
>>     menu='go'
>>     counter = 0
>>     while menu == "go":
>>         for event in pygame.event.get():
>>             if event.type == QUIT:
>>                 pygame.quit()
>>                 sys.exit()
>>         if event.type == KEYDOWN:
>>             if event.key == K_ESCAPE:
>>                 menu = "off"
>> 
>>             if event.key == K_UP:
>>                 if counter > 0:
>>                     counter -= 1
>>                     menuscreen.blit(arrow,(#WHAT GOES HERE?)
>> 
>>             if event.key == K_DOWN:
>>                 if counter < 4:
>>                     counter += 1
>> 
>>             if event.key == K_RETURN:
>>                 return counter
>> 
>>         pygame.display.update()
>> 
>> 
>> 
>> main_menu()
>> 
>> 
>> its the what goes here part im confused at. How does the dict help me blit?
>> On Feb 27, 2012, at 4:23 PM, Bartosz Debski wrote:
>> 
>> counter = 0
>> while menu == "go":
>> for event in pygame.event.get():
>> if event.type == QUIT:
>> pygame.quit()
>> sys.exit()
>> if event.type == KEYDOWN:
>> if event.key == K_ESCAPE:
>> menu = "off"
>> 
>> if event.key == K_UP:
>> if counter > 0:
>> counter -= 1
>> 
>> if event.key == K_DOWN:
>> if counter < 4:
>> counter += 1
>> 
>> if event.key == K_RETURN:
>> "action"
>> 
>> 

Reply via email to