springen

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
Tim0123
User
Beiträge: 10
Registriert: Mittwoch 10. Februar 2021, 14:35

Mittwoch 10. Februar 2021, 15:03

Code: Alles auswählen

import pygame, sys

#bewegt den Hintergrund
def draw_bg():
    screen.blit(bg_surface, (bg_x_pos, 0))
    screen.blit(bg_surface, (bg_x_pos + 2000, 0))


pygame.init()

screen = pygame.display.set_mode((2000, 1300))
clock = pygame.time.Clock()
## TODO: Bild machen

#game variablen
bg_x_pos = 0
gravity = 0.25
zug_movement = 0
zug_kmh = 4

#Bilder initialisieren
bg_surface = pygame.image.load("assets/sprites/bg.png").convert_alpha()
zug_surface = pygame.image.load("assets/sprites/zug.png").convert_alpha()
zug_surface = pygame.transform.scale2x(zug_surface)
#rects
zug_rect = zug_surface.get_rect(center = (100, 950))

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.KEYDOWN:
            #springen
            if event.key == pygame.K_SPACE:
                zug_movement = 0
                zug_movement -= 12

    if zug_rect.y <= 950:
        gravity = 0
    if zug_rect.y >= 950:
        gravity = 0.25

    bg_x_pos -= 3
    #springen
    zug_rect.centery += zug_movement
    zug_movement += gravity
    draw_bg()
    if bg_x_pos <= -2000:
        bg_x_pos = 0

    #die Bilder auf den Bildschiem bringen

    screen.blit(zug_surface, zug_rect)

    pygame.display.update()
    #frames
    clock.tick(120)
ich will wenn ich Space tippe das der Wagen Zug springt aber wenn ich space tippe dann fliegt er einfach nur noch hoch und er soll wenn er bei den Schienen ist wieder landen
Benutzeravatar
ThomasL
User
Beiträge: 1078
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Donnerstag 11. Februar 2021, 11:29

Ich tippe auf zug_movement zu groß (-12) oder gravity zu klein (0.25).
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Tim0123
User
Beiträge: 10
Registriert: Mittwoch 10. Februar 2021, 14:35

Donnerstag 11. Februar 2021, 12:30

das funktioniert nicht
Antworten