Создание врагов в pygamePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создание врагов в pygame

Сообщение Anonymous »

Я пытаюсь создать врагов в pygame, но они будут появляться на миллисекунду, а затем сразу же исчезнут, но затем, когда они появятся снова, будет еще один (как я этого хочу), но мне нужно, чтобы враги оставались на месте экране и не исчезнуть.

Код: Выделить всё

import pygame
import random
pygame.init()
pygame.display.init()

#screen ratios
screen_width = 1920
screen_height = 1080
fps = 60
fps_timer =  pygame.time.Clock()

screen = pygame.display.set_mode((screen_width, screen_height))

#colours
player_colour = (0, 134, 179)
main_enemy_colour = (255, 0, 0)
black = 000000
pygame.cursors.ball

#enemies
SPAWNENEMY = pygame.USEREVENT
enemies_list = []

#timer
spawn_duration = 2000
pygame.time.set_timer(SPAWNENEMY, spawn_duration)

#Player
class Player:

def __init__(self):
self.x = screen_width / 2
self.y = screen_height / 2
self.width = 50
self.height = 50

cursor = pygame.image.load("cursor.png")
new_cursor = pygame.transform.scale(cursor, (16,16))
self.cursor = new_cursor

self.health = 8

def draw_player(self, mouse_pos):
rect_properties =  pygame.Rect([mouse_pos[0] - 25 + 8, mouse_pos[1] - 25 + 8, self.width, self.height])
pygame.draw.rect(screen, player_colour, rect_properties)

def player_cursor(self):
pygame.mouse.set_visible(False)
cursor = pygame.mouse.set_cursor(pygame.SYSTEM_CURSOR_CROSSHAIR)

screen.blit(self.cursor, mouse_pos)

class Enemy():

def __init__(self):
self.width = 50
self.height = 50

self.xval = random.randint(0, 1920)
self.yval = random.randint(0,1080)
self.spawn_time = 2000
self.spawn_rate = 1
self.enemy_count = 0

self.rect = pygame.Rect(self.xval, self.yval, self.width, self.height)

def draw_enemy(self, screen):
pygame.draw.rect(screen, main_enemy_colour, self.rect)

def create_enemy(self):
global enemies_list
new_enemy = Enemy()
enemies_list.append(new_enemy)

def spawn_enemy(self):
pass

player = Player()
enemy = Enemy()

game_loop = True
while game_loop == True:

#mouse
mouse_pos = pygame.mouse.get_pos()

#events
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_loop = False
if event.type == SPAWNENEMY:
Enemy().create_enemy()
for new_enemy in enemies_list:
Enemy().draw_enemy(screen)

#actions
player.draw_player(mouse_pos)
player.player_cursor()

pygame.display.update()
fps_timer.tick(fps)

screen.fill(black)

pygame.quit()

честно говоря, понятия не имею, почему это происходит, но буду очень признателен за любую помощь, так как я пытаюсь создать эту игру для проекта в колледже, спасибо

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-pygame
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создание врагов в pygame
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Порождение врагов в pygame
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Скорость врагов неожиданно замедляется при выборе башни в моей игре pygame TD.
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Скорость врагов неожиданно замедляется при выборе башни в моей игре pygame TD.
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • SVG рендеринг в приложении Pygame. До Pygame 2.0 Pygame не поддерживал SVG. Тогда как вы его загрузили?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»