편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2022.05.29

    파이썬 게임 충돌 이벤트 오류


     class Ball
      def __init__(self)
      self.x = random.randrange(BALL_SIZE, SCREEN_WIDTH - BALL_SIZE)
      self.y = random.randrange(BALL_SIZE, SCREEN_HEIGHT - BALL_SIZE)
    
      self.change_x = 0
      while self.change_x == 0 or self.change_y == 0:
        self.change_x = random.randint(-4, 4)
        self.change_y = random.randint(-4, 4)
    
      r = random.randint(1, 255)
      g = random.randint(1, 255)
      b = random.randint(1, 255)
      self.color = (r, g, b)
      self.ball_size = random.randint(5,10)
      self.balls = 50
    
     lstballs = []
    
    for i in range(70):
          lstballs.append(Ball())
    
    pball = pygame.Rect(750,500,20,1) #플레이어 볼
    
    for ball in lstballs:
      pygame.draw.circle(screen, ball.color, [ball.x, ball.y], ball.ball_size)
    
    pygame.draw.circle(screen,WHITE,(pball.x,pball.y), 20)
    #충돌체크
    for balls in lstballs: 
      if pball.colliderect(balls):
        lstballs.remove(balls)
    

    안녕하세요 이번에 프로젝트를 한번 만들어 볼라고 하는대요.

    pball이라는 이름에 공을 만들어 lstball안에 클래스로 생성한 공들을 저장한뒤 무작위한 위치에 생성시켜서 서로 부딪히면 사라지게 하고싶은대

    충돌체크 부분에서 계속 Argument must be rect style object 이라는 오류가 계속 나는대 어떻게 해야하나요? 그리고 pball과 lstballs 끼리 충돌말고도 lstballs 리스트 안에 저장된 공들끼리 충돌 이벤트를 할려면 어떻게 해야하나요?

    답변 해주시면 감사하겠습니다

  • 프로필 배연준님의 편집
    날짜2022.05.28

    파이썬 게임 충돌 이벤트 오류


     class Ball
      def __init__(self)
      self.x = random.randrange(BALL_SIZE, SCREEN_WIDTH - BALL_SIZE)
      self.y = random.randrange(BALL_SIZE, SCREEN_HEIGHT - BALL_SIZE)
    
      self.change_x = 0
      while self.change_x == 0 or self.change_y == 0:
        self.change_x = random.randint(-4, 4)
        self.change_y = random.randint(-4, 4)
    
      r = random.randint(1, 255)
      g = random.randint(1, 255)
      b = random.randint(1, 255)
      self.color = (r, g, b)
      self.ball_size = random.randint(5,10)
      self.balls = 50
    
     lstballs = []
    
    for i in range(70):
          lstballs.append(Ball())
    
    pball = pygame.Rect(750,500,20,1) #플레이어 볼
    
    for ball in lstballs:
      pygame.draw.circle(screen, ball.color, [ball.x, ball.y], ball.ball_size)
    
    pygame.draw.circle(screen,WHITE,(pball.x,pball.y), 20)
    #충돌체크
    for balls in lstballs: 
      if pball.colliderect(balls):
        lstballs.remove(balls)
    

    안녕하세요 이번에 프로젝트를 한번 만들어 볼라고 하는대요... pball이라는 이름에 공을 만들어 lstball안에 클래스로 생성한 공들을 저장한뒤 무작위한 위치에 생성시켜서 서로 부딪히면 사라지게 하고싶은대 # 충돌체크 부분에서 계속 Argument must be rect style object 이라는 오류가 계속 나는대 어떻게 해야하나요? 그리고 pball과 lstballs 끼리 충돌말고도 lstballs 리스트 안에 저장된 공들끼리 충돌 이벤트를 할려면 어떻게 해야하나요? 답변 해주시면 감사하겠습니다