2013-02-28 5 views
-1

내 게임이 총알을 쏘지 만, 문제는 당신이 넣은 양보다 많은 총알을 쏠 수 없다는 것입니다 (imageA, imageB, imageC 등 ...) 그래서 모든 플레이어에 대해 총을 30 번 정도 "blit blah blah imageA"라고 써야합니다. 이것은 단지 자극적입니다.이벤트 후 제거 된 한 줄의 끝없는 양의 코드가 나중에 생성됩니다.

글 머리 기호의 총 개수에 따라 코드를 생성 한 다음 blit 코드를 생성합니까? 그런 다음 새 코드가 화면에서 사라지면 제거 할 수 있습니다. (그냥 제거하는 법을 알고 싶습니다. 화면에서 벗어날 때 만드는 방법이 아닙니다. 알겠습니다.)

+0

동적으로 코드를 만드는 것처럼 들립니다. 사실입니까? 그것이해서는 안되기 때문입니다. – phkahler

+0

imageA, imageB 무엇입니까 ?? – phkahler

+1

모든 글 머리 기호를 [목록] (http://docs.python.org/2/tutorial/introduction.html#lists)에 저장할 수 있습니다.이 경우 총알 수에 제한이 없으므로 하나의 변수 만 있으면됩니다 . – Kevin

답변

2

잘못된 방식으로 문제가 다가오고 있다고 생각합니다. 총을 가지고있는 플레이어가 있다고합시다. 그래서 플레이어 클래스는 다음과 같이 부분적으로 보입니다 :

우리는 또한 포지션을 가질 총알 클래스가 필요합니다. 이제 플레이어가 스페이스 바를 누를 때마다 목록에 새 글 머리 기호가 추가됩니다.

def shoot(self): 
    self.bullets += Bullet(self.position) 

플레이어를 그리는 while 루프에서 총알을 그리려면 foreach를 수행해야합니다. 각 탄환에 이름을 지정할 필요가 없으며 심지어 사진이 있습니다.