Problema Gioco

di il
3 risposte

Problema Gioco

Buongiorno a tutti,
avrei bisogno di una mano perchè non riesco a capire cosa ho sbagliato in questo codice. L'intenzione sarebbe quella di creare un giochino in cui un quadrato rosso si muove tramire WASD in una schermata bianca. Tutto parte ma il quadrato non si muove. Vi lascio qui sotto sia il codice di main.py che di settings.py a cui lo ho legato.
# main

import pygame as pg
from settings import *
import random

pg.init()
screen = pg.display.set_mode((WIDTH, HEIGHT))
pg.display.set_caption(TITLE)
clock = pg.time.Clock()

x = 10
y = 10
velX = 0
velY = 0
running = True
while running:
    for event in pg.event.get():
        if event.type == pg.QUIT:
            pg.quit()
            quit()
        if event.type == pg.KEYDOWN:
            if event.key == pg.K_a:
                VelX = -5
            if event.key == pg.K_d:
                VelX = 5
            if event.key == pg.K_w:
                VelY = -5
            if event.key == pg.K_s:
                VelY = 5

        if event.type == pg.KEYUP:
            if event.key == pg.K_a or event.key == pg.K_d:
                VelX = 0
            if event.key == pg.K_w or event.key == pg.K_s:
                VelY = 0
    x += velX
    y += velY

    screen.fill(WHITE)
    pg.draw.rect(screen, RED, (x, y, 50, 50))
    pg.display.update()
    clock.tick(FPS)


# game settings

WIDTH = 800
HEIGHT = 600
FPS = 60
TITLE = "Shooter Game"

WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
BLUE = (0, 0, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)

3 Risposte

  • Re: Problema Gioco

    1) velX o VelX. Stessa cosa per Y
    2) Tutto quello che sta dopo e all'esterno del ciclo for, non sarà mai eseguito
  • Re: Problema Gioco

    Non ho capito, potresti spiegarti meglio? Hai detto che tutto quello che non sarà all'interno del ciclo for non sarà eseguito ma io ho messo tutto nel ciclo for. Poi non ho capito cosa intendi con il punto 1).
    Grazie comunque
  • Re: Problema Gioco

    Ah no ok, ho capito. Grazie mille ancora
Devi accedere o registrarti per scrivere nel forum
3 risposte