난 파이 게임 스프라이트 하위에있어서, 그러한 정의가 :파이썬 : 메소드가 추가 된 매개 변수와 다르게 작동하는 이유는 무엇입니까?
def walk(self):
"""move across screen"""
displacement = self.rect.move((self.move, 0))
if self.rect.left < self.area.left or self.rect.right > self.area.right:
self.move = -self.move
displacement = self.rect.move((self.move, 0))
self.rect = displacement
제가 speed_x
파라미터를 추가하여 수정을하고, 지금 프로그램 고장. 나는이 같은 방법이라고하기 전에
def walk(self, speed_x):
"""move across screen"""
displacement = self.rect.move((speed_x, 0))
if self.rect.left < self.area.left or self.rect.right > self.area.right:
speed_x = -speed_x
displacement = self.rect.move((speed_x, 0))
self.rect = displacement
: 이제
def update(self):
self.walk()
을 나는 수행
def update(self):
self.walk(self.move)
왜이 일하지 않습니다?
아, 그건 의미가 있습니다. 감사. 물체 (이미지)가 화면의 가장자리에 부딪 칠 때마다 방향을 바꾸는 대신 이미지가 그면에 붙어 있습니다. 그것이 깨진 방법입니다. – SteveStifler
@ 스티브, 언제나 환영합니다. 언제나 도움이되기를 기원합니다! –