Сети не появляютсяPython

Программы на Python
Ответить
Anonymous
 Сети не появляются

Сообщение Anonymous »

Я делаю проект Pygame, в котором создаю игру о птеродактилях.

Цель этой игры — поймать птеродактилей с помощью сетей, в которые стреляет игрок. Идея состоит в том, что когда игрок нажимает клавишу (например, пробел), сеть должна быть запущена с позиции игрока в сторону птеродактилей, чтобы поймать их.
Однако у меня возникла проблема: сети не стреляют и не отображаются на экране. Когда нажимаю клавишу, визуально ничего не появляется, и похоже, что сети либо создаются неправильно, либо вообще не рисуются на экране. Птеродактили появляются и движутся правильно, но сети совершенно невидимы, хотя игра продолжает работать без сбоев.
Я не уверен, связана ли проблема с тем, как создаются сети, как обрабатывается их положение или движение или как они отрисовываются внутри игрового цикла. Это также может быть проблема с логикой обновления, порядком отрисовки или тем, как я управляю списками или группами спрайтов для сетей.
В принципе, игровая логика работает, но сети не появляются и не ведут себя как снаряды, поэтому я не могу поймать птеродактилей. Мне нужна помощь, чтобы понять, почему сети не отображаются и что может отсутствовать или быть неправильным в моей настройке Pygame.
import pygame
import random
def main():
pygame.init()
juego = pygame.display.set_mode((0,0), pygame.FULLSCREEN)
empieza = True
fondo = pygame.image.load("fondo.png")
canon = pygame.image.load("canon.png")
nets1 = pygame.image.load("catchingnet.png")
nets = pygame.transform.scale(nets1, (500, 500))
netsposition = []

perodactils = []
perodactilsy = []
cx = 650
cy= 650
px = 1500
py = 0
tiempodep = 0

velocidadp = 0
a = pygame.font.SysFont(None, 32)
perodactilo = pygame.image.load("pterosurus_fly.png")
perodactilo1 = pygame.transform.scale(perodactilo, (300, 150))

clock = pygame.time.Clock()
while empieza:
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
empieza == False

if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
empieza = False

juego.blit(fondo, (0,0))

juego.blit(canon, (cx, cy))

tiemporeal = pygame.time.get_ticks()
if tiemporeal - tiempodep > 700:

py = random.randint(0, 300)
perodactilsy.append(py)
perodactils.append(px)

tiempodep = tiemporeal
for perodactil in range(len(perodactils)):

perodactils[perodactil] -= 15

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
cx -= 25
if event.key == pygame.K_RIGHT:
cx += 25
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
ny = cy
nx = cx

netsposition.append(ny)

for net in netsposition:
net -= 100
for netp in netsposition:

juego.blit(nets,(netp, ny))

for perodactil, perodactily in zip(perodactils, perodactilsy):
juego.blit(perodactilo1, (perodactil, perodactily))

for perodactyls, perodactylsy1 in zip(perodactils, perodactilsy):
if perodactyls < -1000:
perodactils.remove(perodactyls)
perodactilsy.remove(perodactylsy1)

pygame.display.update()

pygame.quit()

def dinero(points):
a = points/2 + 3
return a

def puntos(agarradas, tiempodevida):
a = tiempodevida + agarradas/2 * 3

def big(money):
a = money/2/2/2
b = a*2
return f"{b}"

if __name__ == "__main__":
main()



Подробнее здесь: https://stackoverflow.com/questions/798 ... -appearing
Ответить

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

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

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

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

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