2017-01-29 4 views
0

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

File "1stgame.py", line 43 elif event.key == pygame.K_RIGHT: ^ IndentationError: unindent does not match any outer indentation level

import pygame 

#Start pygame 

pygame.init() 

#Window/Screen/Display 

display_x = 1280 
display_y = 720 
display = pygame.display.set_mode((display_x,display_y)) 
pygame.display.set_caption('Platforms') 

clock = pygame.time.Clock() 

#Colors 

black = (0,0,0) 
green = (1,166,17) 

#Images 
character = pygame.image.load('character.gif') 
def chrctr(x,y): 
    display.blit(character,(x,y)) 
x_c = (display_x/2) 
y_c = (display_y/2) 

floor_1 = pygame.image.load('wood.jpg') 
def floor(x,y): 
    display.blit(floor_1,(x,y)) 
x = (display_x * 0) 
y = (display_y * 0.9) 

not_dead=True 
while not_dead: 
    for event in pygame.event.get(): 
     if (event.type==pygame.QUIT): 
      not_dead=False 

     if event.type == pygame.KEYDOWN: 
      if event.key == pygame.K_LEFT: 
       x_c = -5 
      elif event.key == pygame.K_RIGHT: 
       x_c = 5 
     if event.type == pygame.KEYUP: 
      if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT: 
       x_c = 0 

    display.fill(green) 
    pygame.draw.rect(display, black, [0, 550, 200, 50]) 
    pygame.draw.rect(display, black, [0, 450, 200, 50]) 
    pygame.draw.rect(display, black, [0, 350, 200, 50]) 
    pygame.draw.rect(display, black, [0, 250, 200, 50]) 
    pygame.draw.rect(display, black, [0, 150, 200, 50]) 
    pygame.draw.rect(display, black, [0, 50, 200, 50]) 
    pygame.draw.rect(display, black, [1080, 550, 200, 50]) 
    pygame.draw.rect(display, black, [1080, 450, 200, 50]) 
    pygame.draw.rect(display, black, [1080, 350, 200, 50]) 
    pygame.draw.rect(display, black, [1080, 250, 200, 50]) 
    pygame.draw.rect(display, black, [1080, 150, 200, 50]) 
    pygame.draw.rect(display, black, [1080, 50, 200, 50]) 

    floor(0,display_y * 0.9) 
    floor(236, display_y * 0.9) 
    floor(472, display_y * 0.9) 
    floor(708, display_y * 0.9) 
    floor(944, display_y * 0.9) 
    floor(1180, display_y * 0.9) 
    chrctr(x_c, y_c) 


    pygame.display.update() 
    clock.tick(60) 
print "Hello" 

pygame.quit() 
+0

Прочитано: http://stackoverflow.com/a/10238788/4927751 –

ответ

0

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

И как примечание, я также предлагаю вам добавить скобки вокруг «привет» для печати, чтобы сделать его совместимым с версией. print("hello").

+0

спасибо, я не знаю, как код изменился с блокнота ++, но он работает для меня сейчас 2. спасибо, я знал, что я что-то забыл (" Здравствуйте) – jmonster555games

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