2011-12-24 5 views
-1

Я пытаюсь заполнить экран белым, а затем импортировать изображение, но когда я использую display.flip(), кнопки все еще там, и он все еще обнаруживает столкновение? Как это исправить??Я очищаю попытку очистки поверхности в python, затем она по-прежнему рисует кнопку?

def stagesel(): 
screen.fill(WHITE) 
StageselPic = image.load("Locationmenu.png") # done once 
screen.blit(StageselPic, Rect(0,0,800,600)) 
display.flip() 

def getmouse(): 
    mx, my = mouse.get_pos() 
    mb = mouse.get_pressed()[0] 
    return (mx, my, mb) 

def Menu(): 
    global GREEN 
    global WHITE 
    if mx >= rectx and mx <= rectx + rectw and my >= recty and my <= recty + recth: 
     x = GREEN 
     menutext(x) 
    elif mx >= instx and mx <= instx + instw and my >= insty and my <= insty + insth: 
     y = GREEN 
     menuhelp(y) 
    else: 
     x = WHITE 
     y = WHITE 
     menutext(x) 
     menuhelp(y) 
    if mx >= rectx and mx <= rectx + rectw and my >= recty and my <= recty + recth and mb == True: 
    stagesel() 
running = True 


while running: 
    for evnt in event.get(): 
     if evnt.type == QUIT: 
      running = False 

mx,my,mb = getmouse() 
Menu() 
TITLE() 

quit() 

ответ

1

Ваш источник является неполным и фиктивным. Таким образом, вы не можете рассчитывать на какую-либо помощь. Кажется, вам не хватает понимания поверхностной механики pygame, но то, как вы представляете свои неправильные подходы, невозможно.

Мое лучшее предположение заключается в том, что вы не можете скопировать свою поверхность экрана на поверхность дисплея. Часть об обнаружении столкновений выше меня, потому что вы не указали даже самый простой намек на обнаружение столкновения. (В надежде, что ваши проверки мыши-координаты не могут быть определены как обнаружение столкновений.)

Пожалуйста, разделите источник на соответствующие части и предоставьте указателям на проблемы в нем.

 Смежные вопросы

  • Нет связанных вопросов^_^