THIS IS THE ERROR I AM GETTING:
Traceback (most recent call last):
File "C:\Users\usuario\Documents\abscorp\232\232.py", line 132, in <module>
newdrop()
File "C:\Users\usuario\Documents\abscorp\232\232.py", line 44, in newdrop
d = Drop1()
TypeError: 'Group' object is not callable
THIS IS MY CODE:
Traceback (most recent call last):
File "C:\Users\usuario\Documents\abscorp\232\232.py", line 132, in <module>
newdrop()
File "C:\Users\usuario\Documents\abscorp\232\232.py", line 44, in newdrop
d = Drop1()
TypeError: 'Group' object is not callable
THIS IS MY CODE:
import pygame import time import sys import random WIDTH = 800 HEIGHT = 600 FPS = 360 WHITE = (255, 255, 255) BLACK = (0, 0, 0) GRAY = (168, 169, 173) font_name = pygame.font.match_font('arial') pygame.init() pygame.mixer.init() screen=pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("where is the drop!") clock = pygame.time.Clock() #Load all game graphics and sounds background = pygame.image.load("bckgrnd_3.png").convert() background_rect = background.get_rect() boy_1_img = pygame.image.load("boy_1_img.png").convert() drop_img = pygame.image.load("drop_img.png").convert() explosion_anim = {} explosion_anim['lg'] = [] explosion_anim['sm'] = [] for i in range(3): filename = 'exp_{}.png'.format(i) img = pygame.image.load(filename).convert() img.set_colorkey(GRAY) img_lg = pygame.transform.scale(img, (75, 75)) explosion_anim['lg'].append(img_lg) img_sm = pygame.transform.scale(img, (32, 32)) explosion_anim['sm'].append(img_sm) def newdrop(): Drop1 = pygame.sprite.Group() d = Drop1() all_sprites.add(d) drop.add(d) class Drop(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image = pygame.transform.scale(drop_img, (50, 38)) self.image.set_colorkey(BLACK) self.rect = self.image.get_rect() self.radius = int(self.rect.width * .85/ 2) #pygame.draw.circle(self.image, RED, self.rect.center, self.radius) self.rect.x = random.randrange(WIDTH - self.rect.width) self.rect.y = random.randrange(-100, -40) self.speedy = random.randrange(1, 2) self.speedx = random.randrange(-1, 1) def update(self): self.rect.x += self.speedx self.rect.y += self.speedy if self.rect.top > HEIGHT + 10: self.rect.x = random.randrange(WIDTH - self.rect.width) self.rect.y = random.randrange(-100, -40) self.speedy = random.randrange(1, 2) class Player(pygame.sprite.Sprite): #sprite for the Player def __init__(self): pygame.sprite.Sprite.__init__(self) self.image = pygame.transform.scale(boy_1_img, (50, 38)) self.image.set_colorkey(WHITE) self.rect = self.image.get_rect() self.radius = 25 #pygame.draw.circle(self.image, RED, self.rect.center, self.radius) self.rect.center = (WIDTH / 1.5, HEIGHT / 1.5) self.shield = 100 self.shoot_delay = 250 self.last_shot = pygame.time.get_ticks() def update(self): self.speedx = 0 self.speedy = 0 keystate = pygame.key.get_pressed() if keystate[pygame.K_LEFT]: self.speedx = -2 if keystate[pygame.K_RIGHT]: self.speedx = 2 if keystate[pygame.K_UP]: self.speedy = -2 if keystate[pygame.K_DOWN]: self.speedy = 2 if keystate[pygame.K_SPACE]: self.throw() self.rect.x += self.speedx self.rect.y += self.speedy if self.rect.right > WIDTH: self.rect.right = WIDTH if self.rect.left < 0: self.rect.left = 0 if self.rect.top > HEIGHT: self.rect.top = HEIGHT if self.rect.bottom < 0: self.rect.bottom = 0 ## def shoot(self): ## now = pygame.time.get_ticks() ## if (now - self.last_shot > self.shoot_delay): ## self.last_shot = now ## bullet = Bullet(self.rect.centerx, self.rect.top) ## all_sprites.add(bullet) ## bullets.add(bullet) ## shoot_sound.play() ##shoot_sound = pygame.mixer.Sound('pew.wav') ##expl_sounds = [] ##for snd in ['expl3.wav', 'expl6.wav']: ## expl_sounds.append(pygame.mixer.Sound(snd)) ##pygame.mixer.music.load('bckgrnd_1.wav') ##pygame.mixer.music.set_volume(0.4) all_sprites = pygame.sprite.Group() drop = pygame.sprite.Sprite() player=Player() all_sprites.add(player) for i in range(8): newdrop() ##pygame.mixer.music.play(loops=-1) # Game Loop score = 0 running= True while running: #keep loop running at the right speed clock.tick(FPS) #Process input (events) for event in pygame.event.get(): #check for closing window if event.type == pygame.QUIT: running= False #Update all_sprites.update() #check to see if a drop hits bucket hits = pygame.sprite.spritecollide(drop, player, True, True) for hit in hits: score += 1 ##random.choice(expl_sounds).play() expl = Explosion(hit.rect.center, 'lg') all_sprites.add(expl) newdrop() #check to see if a drop hits floor hits = pygame.sprite.spritecollide(bucket, drop, True, pygame.sprite.collide_circle) for hit in hits: newdrop() player.shield -= 10 expl = Explosion(hit.rect.center, 'sm') all_sprites.add(expl) if player.shield <= 0: running = False #print (player.shield) #Draw / render screen.fill(BLACK) screen.blit(background, (0, 0)) all_sprites.draw(screen) draw_text(screen, str(score), 18, WIDTH / 2, 10) draw_shield_bar(screen, 5, 5, player.shield) #*after* drawing everything, flip the display pygame.display.flip() pygame.quit()