2013-06-04 2 views
0

메신저는 기본적인 마우스 닷지 게임을 쓰고 작은 별을 피할 필요가 있습니다. 나는 그것을 만든 그래서 하나의 별이 작품은 상단에 다시 블릿 화면> 잎하지만 같은 x 위치 여기새로운 x 위치에서 블로깅하기 파이 게임

별 이동 업데이트 코드에서 그것을 블릿 번 :

def update(self): 
    self.mouse_pos = pygame.mouse.get_pos() 
    (self.player_r.x, self.player_r.y) = self.mouse_pos 

    self.star_r.x = ran_x 
    self.star_r.y += 2 
    if self.star_r.y > 640: 
     self.star_r.y = 0 
가 여기

는 별이 소총탄됩니다 어디 :

ran_x = random.randint(10,470) 
:

def blitPlayer(self, screen): 
    screen.blit(background,(0,0)) 
    screen.blit(self.player,(self.mouse_pos)) 
    screen.blit(self.star,(ran_x, self.star_r.y)) 

내가 이런 상단에있는 클래스 외부 ran_x를 정의 0

내가 생각한 것은 ran_x가 임의의 숫자로 정의되고 그 숫자를 유지하지만 별이 화면을 떠날 때마다 변경되기를 원할 때입니다.

감사합니다. -ChristianCareaga

답변

1

그럼 왜 여기 ran_x 다시 계산하지 :

if self.star_r.y > 640: 
    self.star_r.y = 0 
    ran_x = new random number 
+0

그래 그게 당신이 대신 한 – Serial

+1

의 한 번에 2 또는 3 같은 블럭 전송하는 쉬운 방법이 있다고 생각합니까해야 @ Christian Careaga'run_x'를 정적 변수가 아닌 인스턴스 변수로 만듭니다. 예 : 각 별은 x 좌표에 대한 자체 값과 연관되어야하므로 'star.ran_x' – Patashu