저는 'Absolute Beginner를위한 더 많은 파이썬 프로그래밍'이라는 책을 읽고 있습니다. 물론 27 페이지에 코드를 작성하려고합니다. (애니메이션 사각형) 물론 개선이 필요합니다.파이 게임 - 왜 내 모양이 움직이지 않습니까?
저는 pygame에게 모양의 x 값을 변경한다고 분명하게 말하고 있지만 움직이지는 않습니다. 나는 모양이 화면을 가로 질러 수평으로 움직이고 다른 끝에 도달 할 때 돌아 서고 그 반대도 마찬가지입니다. 여기
는 코드 : 문제가있는 곳입니다# Animated Rectangle
#
# Demonstrating the basics of ANIMATION!!!
#
# ---------------------------------------------------
import pygame, sys
from pygame.locals import *
WHITE = 255, 255, 255
GREEN = 0, 255, 255
# rectangle properties
COLOUR = GREEN
POS_X = 400 # position
POS_Y = 200
THICKNESS = 0
VELOCITY = 1
pygame.init()
SURFACE = pygame.display.set_mode((600, 500))
SURFACE.fill(WHITE)
pygame.display.set_caption("Animationing")
if POS_X > 400 or POS_X < 100:
VELOCITY = -VELOCITY
def draw(POS_X, VELOCITY):
pygame.draw.rect(SURFACE, COLOUR, (POS_X, POS_Y, 100, 100), THICKNESS)
POS_X -= VELOCITY # HERE IS THE SOURCE OF MY PROBLEM
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
draw(POS_X, VELOCITY)
;
def draw(POS_X, VELOCITY):
pygame.draw.rect(SURFACE, COLOUR, (POS_X, POS_Y, 100, 100), THICKNESS)
POS_X -= VELOCITY # HERE IS THE SOURCE OF MY PROBLEM
pygame.display.update()
편집 : 일부 사람이 내 문법을 수정하려고했습니다. 나는 이것을 좋아한다, 적어도 당신은 그것을 이해할 수있다.
편집 2 : 내 질문은 주제를 벗어나기 위해 잠시 대기 했으므로 수정하려고했습니다. 당신이이 지역 변수 POS_X
def draw(POS_X, VELOCITY):
을 만들 전역 변수와 지역 변수 POS_X
에 같은 이름을 사용하고
사용 global
이 함수 내에서 POS_X
지역 변경 때문에이 문제가
'어떤 사람이, 내가 이렇게 좋아 내 문법 문제를 해결하려고, 적어도 당신이 it.'을 이해할 수처럼 보일 수 있습니다 - 어쩌면 당신이 그것을 좋아하지만 우리는 당신을 이해할 수 없을 것입니다. – furas
"우리는 당신을 이해할 수 없습니다" – PylonBuffering