Programmieren & Softwareentwicklung

Wenn Du nicht nur Anwender sein willst, sondern auch aktiv programmierst oder mit dem Gedanken spielst, dann warten hier die passenden Fragen und Antworten auf Dich.

27.259 Beiträge

pygame auf der stelle laufen?

Hallo,

ich muss für die schule ein pygame spiel erstellen und kenn mich leider nicht wirklich damit aus..

ich möchte dass mein character die ganze zeit auf einer stelle steht aber dabei 'läuft', habe dafür auch dier passenden bilder, weiss aber leider nicht wie ich das im code angebe..

bis jetzt habe ich halt nur ein hintergrund und mein character und der gegner sind darauf..

würd mich echt über hilfe freuen.

hier ist mein code:

import pygame

# pygame setup
pygame.init()
screen = pygame.display.set_mode((1104, 621))
clock = pygame.time.Clock()
running = True

Hintergrund = pygame.image.load('hintergrund/back.png')
screen.blit(Hintergrund, (0, 0))
charwalk1 = pygame.image.load('characters/girl-2A.png')
screen.blit(charwalk1, (200, 300))
monster = pygame.image.load('monster/DAGRONS5.png')
screen.blit(monster, (600, 210))




pygame.display.set_caption('fighter')

charwalk1 = pygame.image.load('characters/girl-2A.png')
charwalk2 = pygame.image.load('characters/girl-2B.png')
charwalk3 = pygame.image.load('characters/girl-2C.png')
charwalk4 = pygame.image.load('characters/girl-2D.png')
charwalk5 = pygame.image.load('characters/girl-2E.png')

monster = pygame.image.load('monster/DAGRONS5.png')



while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
            pygame.image.load('hintergrund/back.png')
        pygame.display.flip()



class Player(pygame.sprite.Sprite):
    def __init__(self):
        self.player_walk = (charwalk1, charwalk2, charwalk3, charwalk4, charwalk5)
Ask Me Anything: Themenspecials
Im gutefrage Themenspecial beantworten Verbände, Organisationen und Personen des öffentlichen Lebens Deine Fragen zu aktuellen Themen.
AMA: Polizei
42 beantwortete Fragen
AMA: Weltraum & Raumfahrt
172 beantwortete Fragen

Ich habe in Godot mithilfe einen Shaders animiert, er nutzt Textur nun nicht mehr richtig?

Hallo miteinander! Ich arbeite grade mit Godot und habe mich am Tutorial von Godot Namens „Animating thousands of fish with MultiMeshInstance3D“ entlang gehangelt.

Soweit hat alles geklappt was die reine Animation angeht. Jedoch läuft die Animation auf einem scheinbar zweiten Objekt, welches aber mit dem texturierten wie eins agiert? Ich sehe überhaupt nicht durch. Ich wollte das sich der texturierte Fisch in Farbe bewegt nicht eine weiße Kopie die praktisch gar nicht da sein sollte.

Wie bekomme ich das gefixt das mein Fisch in Farbe sich bewegt?

Dies ist mein Code:

shader_type spatial;

uniform float time_scale = 1;

uniform float pivot = 1;

uniform float wave = 1;

uniform float twist = 1;

uniform float mask_black = 1;

uniform float mask_white = 1;

uniform sampler2D test_texture;

void vertex() {

float time = TIME * time_scale;

VERTEX.z += cos(time) * 0.5;

float pivot_angle = cos(time) * 0.1 * pivot;

mat2 rotation_matrix = mat2(vec2(cos(pivot_angle), -sin(pivot_angle)), vec2(sin(pivot_angle), cos(pivot_angle)));

VERTEX.yx = rotation_matrix * VERTEX.yx;

float body = (VERTEX.x + 1.0) / -2.0; //for a fish centered at (0, 0) with a length of 2

VERTEX.z += cos(time + body) * wave;

float twist_angle = cos(time + body) * 0.2 * twist;

mat2 twist_matrix = mat2(vec2(cos(twist_angle), -sin(twist_angle)), vec2(sin(twist_angle), cos(twist_angle)));

VERTEX.zy = twist_matrix * VERTEX.zy;

float mask = smoothstep(mask_black, mask_white, -2.0 - body);

VERTEX.z += cos(time + body) * mask * wave;

VERTEX.zy = mix(VERTEX.zy, twist_matrix * VERTEX.zy, mask);

vec4 texture_color = texture(test_texture, UV);

COLOR.rgb = texture_color.rgb;

Bild zum Beitrag