Я делаю небольшую игру по сети. И хотел бы вместо обычного цвета у игроков сделать текстуры.
Использую - pygame.image.load("player_1.png").
Server.py:
...
img1 = pygame.image.load("player_1.png")
img2 = pygame.image.load("player_2.png")
players = [Player(0,0, 50,50, 3, img1), Player(0,0, 50,50, 3, img2)]
...
Client.py:
...
def redrawWindow(win,player, player2):
win.fill((83, 186, 28))
player.draw(win)
player2.draw(win)
pygame.draw.rect(win, panel_color, panel_rect)
pygame.display.update()
...
Player.py:
import pygame
class Player():
def __init__(self, x, y, width, height, speed, texture):
self.rect = pygame.Rect(x, y, width, height)
self.texture = texture
self.speed = speed
def move(self, dx, dy):
self.rect.x += dx * self.speed
self.rect.y += dy * self.speed
def handle_events(self, width, panel_width, height, panel_rect):
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
self.move(-1, 0)
if keys[pygame.K_RIGHT]:
self.move(1, 0)
if keys[pygame.K_UP]:
self.move(0, -1)
if keys[pygame.K_DOWN]:
self.move(0, 1)
# Столкновение с границами окна и границей боковой панели
self.rect.clamp_ip(pygame.Rect(0, 0, width - panel_width, height))
if self.rect.colliderect(panel_rect):
self.rect.clamp_ip(pygame.Rect(0, 0, width - panel_width, height))
def draw(self, win):
#pygame.draw.rect(win, self.texture, self.rect)
win.blit(self.texture, self.rect)
Когда включаю сервер, всё ок. А когда после сервера включаю клиент, то игровое окно пояляется и засивает, ничего не отображает...
А если использую просто цвета, вместо текстур(картинок), то всё работае:
Так как вместо цветов(синего и красного) использовать текстуры(картинки)?