Steuerung bleibt hängen
Hallo,
Das bringt auch nichts. Gibt es den niemand der so eine Situation auch schon mal hatte und helfen könnte?
Code: Alles auswählen
import pygame, os, sys
from pygame.locals import*
pygame.init()
class spieler:
def __init__(self):
self.graphic = pygame.image.load('Hopsy.bmp')
self.image = self.graphic.get_rect()
life = 100
self.move_up = False
self.move_down = False
self.move_right = False
self.move_left = False
def steuern(self):
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
pygame.quit()
if event.key == K_w:
self.move_down = False
self.move_right= False
self.move_left = False
self.move_up = True
if event.key == K_s:
self.move_up = False
self.move_right = False
self.move_left = False
self.move_down = True
if event.key == K_d:
self.move_up = False
self.move_down = False
self.move_left = False
self.move_right = True
if event.key == K_a:
self.move_up = False
self.move_down = False
self.move_right = False
self.move_left = True
landschaft = pygame.image.load('Soil01.bmp')
hintergrund = pygame.transform.scale(landschaft, (900, 700))
karte = hintergrund.get_rect()
fighter = spieler()
black = 0, 0, 0
size = width, height = 900, 700
screen = pygame.display.set_mode(size)
screen.fill(black)
while True:
fighter.steuern()
if fighter.move_up:
fighter.image = fighter.image.move(0, -2)
if fighter.move_down:
fighter.image = fighter.image.move(0, 2)
if fighter.move_right:
fighter.image = fighter.image.move(2, 0)
if fighter.move_left:
fighter.image = fighter.image.move(-2, 0)
screen.blit(hintergrund, karte)
screen.blit(fighter.graphic, fighter.image)
pygame.display.flip()
Das bringt auch nichts. Gibt es den niemand der so eine Situation auch schon mal hatte und helfen könnte?
-
- User
- Beiträge: 53
- Registriert: Sonntag 2. Dezember 2007, 18:25
Was genau ist denn OOP? Ich weiß zwar, dass es Objektorientiertes Programmieren heißt, aber ist Python nicht fast generell OOP?
Ich hab in nem Buch gelesen, dass in Python alles ein Objekt ist, sei es die Formatierung(String, Integer etc...) oder eine Variable.
Doch in den Büchern, die ich gelesen habe, wird in dem Kapitel OOP das Benutzen von Klassen und allem, was wan über sie wissen muss, eingeführt. Mehr nicht. Naja, am Anfang des Kapitels steht sowas wie
Nunja, ich versteh nun nicht so ganz, was das bedeuten soll, kannst du mir (bzw uns, Imperator scheint das ja auch noch nicht so ganz zu wissen) das nochmal erklären bitte?
Ich hab in nem Buch gelesen, dass in Python alles ein Objekt ist, sei es die Formatierung(String, Integer etc...) oder eine Variable.
Doch in den Büchern, die ich gelesen habe, wird in dem Kapitel OOP das Benutzen von Klassen und allem, was wan über sie wissen muss, eingeführt. Mehr nicht. Naja, am Anfang des Kapitels steht sowas wie
Das Buch 'Python 2.x' hat geschrieben:Der wesentliche Unterschied zum ... prozeduralen Programmieren besteht darin, dass man sich nicht mehr fragt, wie ein Problem gelöst wird, sindern womit es gelöst wird. Es ist nicht mehr so wichtig, dass man über Funktionen genau beschreiben muss, wie das Problem gelöst wird.
Nunja, ich versteh nun nicht so ganz, was das bedeuten soll, kannst du mir (bzw uns, Imperator scheint das ja auch noch nicht so ganz zu wissen) das nochmal erklären bitte?
Ok, da das aber länger wird habe ich dafür den Thread "Was ist OOP eigentlich?" gestartet und meine Bemerkungen dazu geschrieben.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
-
- User
- Beiträge: 53
- Registriert: Sonntag 2. Dezember 2007, 18:25
Hmm, du könntest eine weitere Klasse erstellen, die du "Bewegung"
(parameter self und figur, wobei figur die Figur ist, die dann bewegt wird)nennst und in diese Klasse die ganze Steuerung stecken.
Dann wäre alles, was mit der Bewegung zu tun hat, in der Klasse Bewegung und alles, was noch zur Figur kommt (solltest du das Programm noch erweitern wollen), zum beispiel was er sagt oder so... Wenn du dann zur Bewegung noch einen weiteren optionalen Parameter "steuerungsart" forderst, mit dem man einstellen kann, ob die jeweilige Figur mit w/a/s/d oder mit Oben/Links/Unten/Links gesteuert wird, dann könnte man vielleicht ein Spiel für zwei Leute oder sogar mehr machen...
(parameter self und figur, wobei figur die Figur ist, die dann bewegt wird)nennst und in diese Klasse die ganze Steuerung stecken.
Dann wäre alles, was mit der Bewegung zu tun hat, in der Klasse Bewegung und alles, was noch zur Figur kommt (solltest du das Programm noch erweitern wollen), zum beispiel was er sagt oder so... Wenn du dann zur Bewegung noch einen weiteren optionalen Parameter "steuerungsart" forderst, mit dem man einstellen kann, ob die jeweilige Figur mit w/a/s/d oder mit Oben/Links/Unten/Links gesteuert wird, dann könnte man vielleicht ein Spiel für zwei Leute oder sogar mehr machen...
-
- User
- Beiträge: 53
- Registriert: Sonntag 2. Dezember 2007, 18:25
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder