Beispiel #1
0
    def createSprites(self, ret=1):
        print "Creating sprites..."
        if (self.type == 'Normal'):
            group = sprite.Group()
        elif (self.type == 'Camera'):
            group = sprite.CamGroup()
        elif (self.type == 'Camera-Zoom'):
            group = sprite.ZoomGroup()

        for R in range(0, self.size[0]):
            for C in range(0, self.size[1]):
                if (self.layout[R][C] != 0):
                    rect = _pygame.rect.Rect(C * self.tileSize[0],
                                             R * self.tileSize[1],
                                             self.tileSize[0],
                                             self.tileSize[1])
                    image = self.layoutImage[self.layout[R][C]].copy()

                    collision = self.collisionTypes[self.collision[R][C]]
                    camera = self.camera
                    #if ('Camera' not in self.type):
                    #    group.add(sprite.Sprite(rect, image, collision))
                    if (self.type == 'Camera'):
                        group.add(
                            sprite.CamSprite(rect, image, camera, collision))
                    elif (self.type == 'Camera-Zoom'):
                        group.add(
                            sprite.ZoomSprite(rect, image, camera, collision))
        self._sprites = group
        print "Done"
        print ""
        if (ret != 0):
            return group
Beispiel #2
0
    def updateAndRender(self):
        back_sprites = sprite.Group()
        bkg1, bkg2, bkg3, bkg4  = background(), background2(), background3(), \
                                                    background4()
        back_sprites.add(bkg1, bkg2, bkg3, bkg4)

        screen_sf = upg.display.set_mode()
        while True:
            if (self.scrollBack):
                back_sprites.update()
                back_sprites.draw(screen_sf)
            self.drawText()
            if (self.buttonPress()):
                return cs.state(self.nextState, gv.level)
            upg.display.flip()
Beispiel #3
0
                #
                self.animDurCounter = self.animDur

                # Set current image
                self.image = self.frames[self.currentFrameNum]
                self.rect.x += self.frameOffsets[self.currentFrameNum][0]
                self.rect.y += self.frameOffsets[self.currentFrameNum][1]
            else:
                self.animDurCounter -= 1

        # Advance position
        self.rect.x += self.vx
        self.rect.y += self.vy

#
all_sprites = sprite.Group()
all_frogittos = sprite.Group()
all_cars = sprite.Group()

# Create frogitto sprites
for i in range(1):
    frogittoGob = GameObject(
        [spritedata.frogittoSurf_f1, spritedata.frogittoSurf_f2, spritedata.frogittoSurf_f3],
        [[0,0],[0,0],[0,0]])

    # out of screen
    frogittoGob.rect.x = 50
    frogittoGob.rect.y = 70

    frogittoGob.animDur = 2;
Beispiel #4
0
        surface_blit = surface.blit

        # draw sprite and pile of clones
        for spr in sprites:

            # draw on on refresh intervals
            self.spritedict[spr] = surface_blit(spr.image, spr.rect.x,
                                                spr.rect.y)
            for cl in range(spr.numClones):
                surface_blit(spr.image, spr.rect.x,
                             spr.rect.y + (cl * spr.rect.height))
        self.lostsprites = []


#
all_sprites = sprite.Group()
all_rockpiles = RockPileGroup()

#Create ship
shipGob = GameObject([gamedata.shipSurf], [[0, 0]])
shipGob.rect.x = 50
shipGob.rect.y = 70
shipGob.animDur = 2
all_sprites.add(shipGob)

# Create rockpile sprites
numPiles = (screenW -
            (8 * 2)) // (gamedata.rockSurf_f0.get_rect().width - 2 + 5)
for i in range(numPiles):
    gob = GameObject([gamedata.rockSurf_f0], [[0, 0]])
Beispiel #5
0
    def updateAndRender(self):
        """main play loop"""
        screen_sf = upg.display.set_mode()

        #create groups for the sprites
        enemy_sprites = sprite.Group()
        nice_sprites = sprite.Group()

        #choose correct info for the level
        timer, numC, freqC, numRl, freqRl, numRr, freqRr, numU, freqU = self.levelInfo(
        )

        #create comets, rockets and ufo sprites
        all_comets = sprite.Group()
        self.enemyCreator(1, numC, 100, 100, all_comets, enemy_sprites)
        all_rocketsL = sprite.Group()
        self.enemyCreator(2, numRl, -100, -100, all_rocketsL, enemy_sprites)
        all_rocketsR = sprite.Group()
        self.enemyCreator(3, numRr, 150, -100, all_rocketsR, enemy_sprites)
        all_ufo = sprite.Group()
        self.enemyCreator(4, numU, 100, 100, all_ufo, enemy_sprites)

        #create player and background sprites
        player = Player()
        nice_sprites.add(player)

        #create background
        bkg1, bkg2, bkg3, bkg4 = background(), background2(), background3(
        ), background4()
        nice_sprites.add(bkg1, bkg2, bkg3, bkg4)

        while True:
            #check for collisions
            hit = sprite.spritecollideany(player, enemy_sprites)
            if hit != None:
                player.D = True
                while self.deathTimer < 25:
                    nice_sprites.update()
                    nice_sprites.draw(screen_sf)
                    upg.display.flip()
                    self.deathTimer += 1
                return cs.state(2, gv.level)

            #draw the timer
            timer -= self.ticker
            umachine.draw_text(90, 0, str(timer), 3)
            #when time gets to zero go to next level
            if timer == 0:
                if gv.level < 5:
                    return cs.state(4, gv.level)
                if gv.level == 5:
                    return cs.state(3, gv.level)

            #place the enemies
            self.cometPlacer(freqC, all_comets)
            self.rocketPlacer(freqRl, all_rocketsL, True)
            self.rocketPlacer(freqRr, all_rocketsR, False)
            self.cometPlacer(freqU, all_ufo)

            #update sprites and draw 'em
            nice_sprites.update()
            nice_sprites.draw(screen_sf)
            enemy_sprites.update()
            enemy_sprites.draw(screen_sf)

            upg.display.flip()

            #count framenums
            self.frameNum += 1
            if self.frameNum > 1000000:
                self.frameNum = 0
Beispiel #6
0
tilemap.set_tile(0x7, tileSize, tileSize, data.tile7)
tilemap.set_tile(0x8, tileSize, tileSize, data.tile8)
tilemap.set_tile(0x9, tileSize, tileSize, data.tile9)
tilemap.set_tile(0xa, tileSize, tileSize, data.tile10)
tilemap.set_tile(0xb, tileSize, tileSize, data.tile11)
tilemap.set_tile(0xc, tileSize, tileSize, data.tile12)
tilemap.set_tile(0xd, tileSize, tileSize, data.tile13)
tilemap.set_tile(0xe, tileSize, tileSize, data.tile14)
tilemap.set_tile(0xf, tileSize, tileSize, data.tile15)

# Setup global variables
glob.viewPortX = 0
glob.viewPortY = 0

# setup sprite group
all_objects = sprite.Group()
all_objects_list = []

#Init game objects
targetCityGob = GameObjects.GameObject(
    [data.targetCity6x5_f1, data.targetCity6x5_f2], [[0, 0], [0, 0]])
targetCityGob.wx = 282 - 3
targetCityGob.wy = 75 - 3
targetCityGob.active = False
all_objects.add(targetCityGob)
all_objects_list.append(targetCityGob)

heroGob = GameObjects.GameObject([data.heroUp_f1, data.heroUp_f2],
                                 [[0, 0], [0, 0]])
dustGob1 = GameObjects.GameObject(
    [data.dustRight_f1, data.dustRight_f2, data.dustRight_f3],
Beispiel #7
0
                self.animDurCounter = self.animDur

                # Set current image
                self.image = self.frames[self.currentFrameNum]
                self.rect.x += self.frameOffsets[self.currentFrameNum][0]
                self.rect.y += self.frameOffsets[self.currentFrameNum][1]
            else:
                self.animDurCounter -= 1

        # Advance position
        self.rect.x += self.vx
        self.rect.y += self.vy


# Create sprite groups
all_sprites = sprite.Group()
all_ships = sprite.Group()

# Create ship sprites. Note: only one in this demo.
for i in range(1):
    shipGob = GameObject([shipSurf], [[0, 0]])

    # out of screen
    shipGob.rect.x = 50
    shipGob.rect.y = 70

    shipGob.animDur = 2

    all_sprites.add(shipGob)
    all_ships.add(shipGob)