Хорошо, в основном я пытаюсь сделать основной файл немного чище, и я начинаю с врага «Зомби», создавая для него собственный файл, который, скорее всего, будет содержать всех врагов, и импортирую его.
Поэтому я не понимаю, как мне настроить класс для спрайта, вам не нужно говорить мне, как заставить его двигаться или что-то в этом роде, я просто хочу, чтобы он просто появлялся. Игра не ломается, когда я запускаю ее как есть, я просто хотел задать этот вопрос перед тем, как лечь спать, чтобы, надеюсь, я мог многое сделать с завершенным проектом завтра (связанным со школой)
Код не закончен, как я уже сказал, просто хотел спросить, пока я немного посплю, всего несколько поисков и попыток в Google.
В конце концов я воспользуюсь приведенным здесь советом и создам класс «Герой», а также поработаю с импортом других факторов, если у нас будет время.
Зомби-код:
import pygame
from pygame.locals import *
class ZombieEnemy(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load('images/zombie.png')
# self.images.append(img)
# self.image = self.images[0]
self.rect = self.image.get_rect()
zombieX = 100
zombieY = 340
zombieX_change = 0
Основной код:
import pygame
from pygame.locals import *
import Zombie
# Intialize the pygame
pygame.init()
# Create the screen
screen = pygame.display.set_mode((900, 567))
#Title and Icon
pygame.display.set_caption("Fighting Game")
# Add's logo to the window
# icon = pygame.image.load('')
# pygame.display.set_icon(icon)
# Player
playerImg = pygame.image.load('images/character.png')
playerX = 100
playerY = 340
playerX_change = 0
def player(x,y):
screen.blit(playerImg,(x,y))
Zombie.ZombieEnemy()
def zombie(x,y):
screen.blit()
# Background
class Background(pygame.sprite.Sprite):
def __init__(self, image_file, location):
pygame.sprite.Sprite.__init__(self) #call Sprite initializer
self.image = pygame.image.load('images/background.png')
self.rect = self.image.get_rect()
self.rect.left, self.rect.top = location
BackGround = Background('background.png', [0,0])
# Game Loop
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# If keystroke is pressed check right, left.
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
#playerX_change = -2.0
BackGround.rect.left = BackGround.rect.left + 2.5
if event.key == pygame.K_RIGHT:
#playerX_change = 2.0
BackGround.rect.left = BackGround.rect.left - 2.5
# if event.type == pygame.KEYUP:
# if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
# BackGround.rect.left = 0
screen.blit(BackGround.image, BackGround.rect)
playerX += playerX_change
player(playerX,playerY)
pygame.display.flip()
Подробнее здесь: https://stackoverflow.com/questions/598 ... -into-game