Test cacti sprites

This commit is contained in:
2021-04-03 19:28:44 +03:00
parent c49c2102b7
commit 5a2dbcce61
4 changed files with 111 additions and 48 deletions
+41 -40
View File
@@ -9,45 +9,46 @@ import os
class Player(pygame.sprite.Sprite):
imgDir = os.path.join(os.path.dirname(__file__), 'data')
playerImage = pygame.image.load(os.path.join(imgDir, 'player.png'))#.convert()
walkImages = (
pygame.transform.scale(playerImage.subsurface((0, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 0, 16, 24)), (64, 98)),
)
upImages = (
pygame.transform.scale(playerImage.subsurface((0, 24, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 24, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 24, 16, 24)), (64, 98)),
)
downImages = (
pygame.transform.scale(playerImage.subsurface((0, 48, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 48, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 48, 16, 24)), (64, 98)),
)
crouchImages = (
pygame.transform.scale(playerImage.subsurface((0, 72, 16, 16)), (64, 64)),
pygame.transform.scale(playerImage.subsurface((16, 72, 16, 16)), (64, 64)),
)
for array in (walkImages, upImages, downImages, crouchImages):
for image in array:
image.set_colorkey((255,0,255))
def __init__(self):
self.imgDir = os.path.join(os.path.dirname(__file__), 'data')
pygame.sprite.Sprite.__init__(self)
playerImage = pygame.image.load(os.path.join(self.imgDir, 'player.png')).convert()
self.walkImages = (
pygame.transform.scale(playerImage.subsurface((0, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 0, 16, 24)), (64, 98)),
)
self.currentWalkImage = 0
self.upImages = (
pygame.transform.scale(playerImage.subsurface((0, 24, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 24, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 24, 16, 24)), (64, 98)),
)
self.currentUpImage = 0
self.downImages = (
pygame.transform.scale(playerImage.subsurface((0, 48, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 48, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 48, 16, 24)), (64, 98)),
)
self.currentDownImage = 0
self.crouchImages = (
pygame.transform.scale(playerImage.subsurface((0, 72, 16, 16)), (64, 64)),
pygame.transform.scale(playerImage.subsurface((16, 72, 16, 16)), (64, 64)),
)
self.currentCrouchImage = 0
for array in (self.walkImages, self.upImages, self.downImages, self.crouchImages):
for image in array:
image.set_colorkey((255,0,255))
pygame.sprite.Sprite.__init__(self)
self.image = self.walkImages[self.currentWalkImage]
self.image = Player.downImages[self.currentDownImage]
self.rect = self.image.get_rect()
self.rect.center = (100, 400)
@@ -138,22 +139,22 @@ class Player(pygame.sprite.Sprite):
if self.isOnFloor:
if self.isCrouching:
self.currentCrouchImage += 1
if self.currentCrouchImage >= len(self.crouchImages):
if self.currentCrouchImage >= len(Player.crouchImages):
self.currentCrouchImage = 0
self.image = self.crouchImages[self.currentCrouchImage]
self.image = Player.crouchImages[self.currentCrouchImage]
else:
self.currentWalkImage += 1
if self.currentWalkImage >= len(self.walkImages):
if self.currentWalkImage >= len(Player.walkImages):
self.currentWalkImage = 0
self.image = self.walkImages[self.currentWalkImage]
self.image = Player.walkImages[self.currentWalkImage]
elif self.isJumping:
self.currentUpImage += 1
if self.currentUpImage >= len(self.upImages):
if self.currentUpImage >= len(Player.upImages):
self.currentUpImage = 0
self.image = self.upImages[self.currentUpImage]
self.image = Player.upImages[self.currentUpImage]
else:
self.currentDownImage += 1
if self.currentDownImage >= len(self.downImages):
if self.currentDownImage >= len(Player.downImages):
self.currentDownImage = 0
self.image = self.downImages[self.currentDownImage]
self.image = Player.downImages[self.currentDownImage]
self.updateCount = 0
+70 -8
View File
@@ -5,23 +5,85 @@ Standing enemy entity class
import pygame
import random
import os
from Enemy import Enemy
class StandingEnemy(Enemy):
imgDir = os.path.join(os.path.dirname(__file__), 'data')
senemyImage = pygame.image.load(os.path.join(imgDir, 'senemy.png'))#.convert()
images = (
(
pygame.transform.scale(senemyImage.subsurface((0, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((8, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((16, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((24, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((32, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((40, 0, 8, 24)), (32, 98)),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((8, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((16, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((24, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((32, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((40, 24, 8, 16)), (32, 64)),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 40, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((16, 40, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((32, 40, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((0, 56, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((16, 56, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((32, 56, 16, 16)), (64, 64)),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((8, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((16, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((24, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((32, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((40, 72, 8, 8)), (32, 32)),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 80, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((16, 80, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((32, 80, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((0, 88, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((16, 88, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((32, 88, 16, 8)), (64, 32)),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 96, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((24, 96, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((0, 104, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((24, 104, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((0, 112, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((24, 112, 24, 8)), (98, 32)),
),
)
def __init__(self, mainGameClass):
Enemy.__init__(self, mainGameClass)
self.subtype = random.randint(1, 5)
for array in self.images:
for image in array:
image.set_colorkey((255,0,255))
if self.subtype == 1: self.image = pygame.Surface((25, 75))
elif self.subtype == 2: self.image = pygame.Surface((25, 25))
elif self.subtype == 3: self.image = pygame.Surface((75, 25))
elif self.subtype == 4: self.image = pygame.Surface((50, 25))
elif self.subtype == 5: self.image = pygame.Surface((50, 50))
else: self.image = pygame.Surface((25, 50))
self.image.fill((0, 153, 0))
self.subtype = random.randint(1, len(StandingEnemy.images))
self.image = random.choice(StandingEnemy.images[self.subtype-1])
# if self.subtype == 1: self.image = pygame.Surface((32, 96))
# elif self.subtype == 2: self.image = pygame.Surface((32, 64))
# elif self.subtype == 3: self.image = pygame.Surface((64, 64))
# elif self.subtype == 4: self.image = pygame.Surface((32, 32))
# elif self.subtype == 5: self.image = pygame.Surface((64, 32))
# else: self.image = pygame.Surface((96, 32))
# self.image.fill((0, 153, 0))
self.rect = self.image.get_rect()
self.height -= self.rect.height/2
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
View File
Binary file not shown.