Python’da yeniyim ve Eric Matthes’in “Python crash course” ile öğrenmeye başladım. Pygame bölümünün başındayım ve kodu takip ediyorum, ancak yüklenen resimlerim her zaman bozuk görünüyor ve nedenini bilmiyorum. Kod kitaptan. İlk dosyası:Python Pygame resimleri doğru şekilde göstermiyor
import pygame
class Ship():
def __init__(self, screen):
"""Initialize the ship and set its starting position."""
# Load the ship image and get its rect.
self.image = pygame.image.load('ship.bmp')
self.screen = screen
self.rect = self.image.get_rect()
self.screen_rect = screen.get_rect()
# Start each new ship at the bottom center of the screen.
self.rect.centerx = self.screen_rect.centerx
self.rect.bottom = self.screen_rect.bottom
def blitme(self):
self.screen.blit(self.image, self.rect)
İkinci dosyası: Böyle
class Settings():
"""A class to store all settings for Alien Invasion."""
def __init__(self):
"""Initialize the game's settings."""
# Screen settings
self.screen_width = 800
self.screen_height = 600
self.bg_color = (230, 230, 230)
Benim bmp görünüm::
ben d eklemek çalıştı
Ayarlar dosyası
import sys
import pygame
from settings import Settings
from ship import Ship
def run_game():
# Initialize game and create a screen object.
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion")
ship = Ship(screen)
bg_color = (230, 230, 230)
# Start the main loop for the game.
while True:
# Watch for keyboard and mouse events.
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# Make the most recently drawn screen visible.
screen.fill(ai_settings.bg_color)
ship.blitme()
pygame.display.flip()
run_game()
ifferent görüntü, ancak hiçbir şanslar:
bunu nasıl düzeltebilirim?
Görüntünüze 'convert()' uygulamak zorunda değil misiniz? –
Bilmiyorum, kitap kodunda böyle bir şey yok. Kodumu bununla nasıl değiştirebilirim? – migari
'self.image = pygame.image.load ('ship.bmp') convert()' - sadece 'convert' ile '' deneyin '' sonunda –