Ok, vielen dank für deine Hilfe und sorry wenn ich deine Zeit in Anspruch genommen habe.__deets__ hat geschrieben: Donnerstag 16. Dezember 2021, 20:21 Ich geb auf. Wir reden offensichtlich komplett aneinander vorbei. Ich kann nur zum x-ten mal sagen, dass du nichts an der positions-Berechnung verändern musst, aber es greift offensichtlich nicht. Vielleicht hat wer anders eine Idee.
Objekt bei jedem Tastendruck fortbewegen in PyGame
- __blackjack__
- User
- Beiträge: 14005
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@cypher28: Du behauptest „Die methode "move_ip()" ist nicht anwendbar.“ — doch ist sie. Warum sollte sie das nicht? Die ist weiterhin auf das `Rect`-Objekt anwendbar. Warum sollte das abhängig davon sein, dass Du jetzt an einen anderen Namen ein Bild gebunden hast? Und das `Rect` bestimmt die Position. Und das Bild das aussehen. Am Bild kannst Du keine Position ändern, weil Bilder keine Position haben. Dafür ist ja das `Rect` da.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
@__blackjack__
ich verstehe was du meinst. Das rect steht als Platzhalter für mein Gameobjekt. Und wenn ich mein rect bewege, bewegt sich mein Objekt mit. Bitte korrigiere mich, wenn ich es trotzdem falsch verstanden habe.
Nur wie bringe ich mein rect und das Bild von meinem Gameobjekt in Verbindung, so dass mein Gameobjekt abhängig von der Koordinate vom rect ist.
Bin mir ziemlich sicher das der Fehler auch im Aufbau der draw()-Methode liegt.
ich verstehe was du meinst. Das rect steht als Platzhalter für mein Gameobjekt. Und wenn ich mein rect bewege, bewegt sich mein Objekt mit. Bitte korrigiere mich, wenn ich es trotzdem falsch verstanden habe.
Nur wie bringe ich mein rect und das Bild von meinem Gameobjekt in Verbindung, so dass mein Gameobjekt abhängig von der Koordinate vom rect ist.
Bin mir ziemlich sicher das der Fehler auch im Aufbau der draw()-Methode liegt.
Code: Alles auswählen
def draw(screen, background, player_image, position):
screen.blit(background, (0, 0))
pygame.draw.rect(???????????????)
screen.blit(player_image, position)
pygame.display.update()
- __blackjack__
- User
- Beiträge: 14005
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@cypher28: Der Fehler ist die Zeile mit den Fragezeichen. Du willst doch gar kein Rechteck mehr zeichnen. Und `position` ist hoffentlich das `Rect`-Objekt. Falls nicht: das ist das `Rect`-Objekt. Übergib das da. Das beschreibt die Position die Du für das Bild brauchst. Und ansonsten, und das hatte __deets__ ja bereits geschrieben, ändert sich gegenüber der Version mit dem gezeichneten Rechteck genau gar nichts.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Ahhhh, ok. Es lag daran das ich bei 'Position' das Bild zugeordnet habe und nicht das 'rect'.__blackjack__ hat geschrieben: Donnerstag 16. Dezember 2021, 22:50 @cypher28: Und `position` ist hoffentlich das `Rect`-Objekt. Falls nicht: das ist das `Rect`-Objekt. Übergib das da.
Jetzt klappt es. Vielen dank für die Geduld.
