Pygame. Animierter Charaktersprung [Duplikat]Python

Python-Programme
Anonymous
 Pygame. Animierter Charaktersprung [Duplikat]

Post by Anonymous »

Ich versuche, meinen Charakter zu springen. Ich habe versucht, es in ein Sprite zu schaffen, aber dann würde das Spiel nicht beginnen, da ich die Animation, die ich Hilfe brauche, nicht erkannte. Außerdem möchte ich Plattformen und Spikes einstellen, ähnlich wie bei Geometrie -Dash. Wie kann ich eine Hitbox eingehen? Hilfe ... Hier ist mein Code: < /p>

Code: Select all

import pygame
import sys
import ctypes
import os
# Skapar en klocka för att styra hastigheten på spelet
clock = pygame.time.Clock()
FPS = 60
# Startar pygame
pygame.init()

# Ändrar namn och bild på fönstret till "Geometry Dash"
pygame.display.set_caption("Jungle Dash")
pygame.display.set_icon(pygame.image.load("C:/Users/NoahDelvert/Pictures/Screenshots/Geometry_Dash_Icon.png"))

# Ändrar bild på programmet i aktivitetsfältet
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("Jungle Dash")
aktivitetsfält_icon = pygame.image.load("C:/Users/NoahDelvert/Pictures/Screenshots/Geometry_Dash_Icon.png")
icon_surface = pygame.transform.scale(aktivitetsfält_icon, (32, 32))  # Ändrar storlek på ikonen
pygame.display.set_icon(icon_surface)

#Storlek på fönstret
Screen_Width = 1280
Screen_Height = 720
screen = pygame.display.set_mode((0,0), pygame.FULLSCREEN)
infinite_scroll = 0

#Funktion för att ladda bakgrundsbilderna
bg_images = []
for i in range(1, 6):
bg_image = pygame.image.load(f"C:/Users/NoahDelvert/Desktop/Programmering/Slutprojekt/2D_Background/plx-{i}.png").convert_alpha()
bg_image = pygame.transform.scale_by(bg_image, 3.2) # scalar up bilden
bg_images.append(bg_image)  # Lägger till bilden i listan
bg_width = bg_images[0].get_width()

# Lägger till bakgrunden på skärmen
def draw_background():
for x in range(20):
speed = 1
for i in bg_images:
screen.blit(i, ((x * bg_width) + infinite_scroll * speed, 0))  # Lägger till bilden på skärmen
speed += 0.2

# Lägger till marken på skärmen
old_ground_image = pygame.image.load("C:/Users/NoahDelvert/Desktop/Programmering/Slutprojekt/2D_Ground/ground.png").convert_alpha()
ground_image = pygame.transform.scale_by(old_ground_image, 2)
ground_width = ground_image.get_width()
ground_height = ground_image.get_height()

def draw_gound():
for x in range(45):
screen.blit(ground_image, ((x * ground_width) + infinite_scroll * 2.2, Screen_Height - ground_height))

#  Spelaren
spelare_x = 50
spelare_y = Screen_Height - ground_height - 200
player_animation = pygame.image.load(f"C:/Users/NoahDelvert/Desktop/Programmering/Slutprojekt/Player/PNG/Rogue/Run/run{i}.png").convert_alpha()
Gravity = 0.5
Spelare_hoppar = False
hastighet_y = 0
hopphöjd = 10

# animationer
animation_list = []
animation_steps = 8
for i in range(1, 9):
frame = pygame.image.load(f"C:/Users/NoahDelvert/Desktop/Programmering/Slutprojekt/Player/PNG/Rogue/Run/run{i}.png").convert_alpha()
frame = pygame.transform.scale_by(frame, 2)
animation_list.append(frame)

# Hinder
#------------------------------------------------------------

#------------------------------------------------------------

# animationer variabler
last_uppdate = pygame.time.get_ticks()
animation_duration = 75
frame = 0

# En loop för att hålla spelet igång
#------------------------------------------------------------
Run = True
while Run:

# Hastighet
clock.tick(FPS)

# Ritar bakgrunden på skärmen
draw_background()
draw_gound()

# infinite scroll of background + reset
infinite_scroll -= 5

# Uppdaterar animationen
current_time = pygame.time.get_ticks()
if current_time - last_uppdate >= animation_duration:
frame += 1
last_uppdate = current_time
if frame >= len(animation_list):
frame = 0

# Lägger till animationen på skärmen
screen.blit(animation_list[frame], (spelare_x, spelare_y))

# Kollar positionen på spelaren

# Kollar om någon tangent är nedtryckt
keys_pressed = pygame.key.get_pressed()

# Funktion för specifika knappar
if keys_pressed[pygame.K_ESCAPE]:
pygame.quit()
sys.exit()
if keys_pressed[pygame.K_SPACE] and not Spelare_hoppar:
Spelare_hoppar = True
hastighet_y = -hopphöjd
if Spelare_hoppar:
spelare_y += hastighet_y
hastighet_y += Gravity
for event in pygame.event.get():
if event.type == pygame.QUIT:
Run = False

# Uppdaterar skärmen
pygame.display.update()
#------------------------------------------------------------

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post