Problem?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Benutzeravatar
Weltbesiedler
User
Beiträge: 103
Registriert: Dienstag 2. Februar 2010, 18:44
Wohnort: Bayern

Das ist doch das Tutorial für Python 3.1. Ich habe aber die Python Version 2.5.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Und? Hauptsache, du arbeitest überhaupt ein Tutorial durch. Die meisten Sachen sind vollkommen identisch. Das einzige, über das du wahrscheinlich stolpern wirst ist, dass print ab Version 3 eine Funktion ist.
Das Leben ist wie ein Tennisball.
Benutzeravatar
Weltbesiedler
User
Beiträge: 103
Registriert: Dienstag 2. Februar 2010, 18:44
Wohnort: Bayern

OK danke für alle Informationen.
Benutzeravatar
Weltbesiedler
User
Beiträge: 103
Registriert: Dienstag 2. Februar 2010, 18:44
Wohnort: Bayern

So neues Problem:

Code: Alles auswählen

import pygame,sys
screen = pygame.display.set_mode ((1920,1080),pygame.FULLSCREEN)
screen.fill = ((255,255,255))

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                sys.exit
Man wieso finde ich den Fehler selbst nicht? Mich regt das auf, wenn ich da sinnlos Zeit vergeude um diesen blöden Fehler zu suchen.

screen.fill = (255,255,255)
AttributeError: 'pygame.Surface' object attribute 'fill' is read-only
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nun: Das was du vorhast geht nicht. Da musst du dir mal die API-Dokumentation von pygame anschauen, wie man das macht was du vorhast - oder warten bis jemand mit Pygame-Kenntnissen vorbei kommt.
Du kannst im uebrigen ein Klammerpaar weglassen.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Weltbesiedler hat geschrieben:Man wieso finde ich den Fehler selbst nicht?
Google ist dir aber schon ein Begriff, oder?
Das Leben ist wie ein Tennisball.
Benutzeravatar
Weltbesiedler
User
Beiträge: 103
Registriert: Dienstag 2. Februar 2010, 18:44
Wohnort: Bayern

Also eure Antworten sind mir keine Hilfe. Ja, Google ist mir ein Begriff. Bis jetzt habe ich das mit der screen.fill Methode immer gemacht, und es ging auch immer, bis jetzt...
BlackJack

@Weltbesiedler: Dann schau Dir mal an wie es bei Dir mal funktioniert hat und vergleiche das mit der Zeile wie Du das jetzt versuchst. Oder sag mal wie Du darauf kommst, dass Du die `fill()`-Methode da *aufrufst* -- das tust Du nämlich nicht.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Weltbesiedler hat geschrieben:Also eure Antworten sind mir keine Hilfe. Ja, Google ist mir ein Begriff. Bis jetzt habe ich das mit der screen.fill Methode immer gemacht, und es ging auch immer, bis jetzt...
Ich glaube nicht, dass man die fill-Methode bisher überschreiben konnte und vermute, dass du sie früher immer aufgerufen hast.

Die Fehlermeldung ist doch ziemlich eindeutig: AttributeError: 'pygame.Surface' object attribute 'fill' is read-only.
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

@Weltbesiedler:
Was du da tust, ist "screen.fill" so zu verwenden, als wäre "fill" eine Variable, der du den Wert (255,255,255) zuweist. Das geht aber nicht, weil "fill" eben keine Variable, sondern eine Methode des Objektes "screen" ist.
Hilft dir das weiter?
Also nicht

Code: Alles auswählen

screen.fill = (255,255,255)
sondern

Code: Alles auswählen

screen.fill((255,255,255))
, ok?
Unterschied erkannt!?

Wenn ich die letzten drei Seiten so durchlese, scheint mir auch, dass es dir an gaaaanz grundlegenden Sachen fehlt, die du um deinetwillen erst mal wirklich lesen, durcharbeiten und verstehen solltest.

Ach und noch was (das fällt mir manchmal auf, wenn ich hier so mitlese, was ich oft tue, auch wenn ich selten was schreibe):
Die Leute hier sind wirklich alle schwer in Ordnung. Keiner will dich in irgendeiner Weise ärgern. Die Leute geben dir Hilfe, dir selbst zu helfen (was Überhaupt die beste Form von Hilfe ist). Beim Programmieren ist es eben so, dass man selber verstehen muss, was man tut. Stupides Abtippen von Codebeispielen hilft einfach nicht.
Wenn dir angeraten wird, Dieses oder Jenes zu lesen/durchzuarbeiten, dann seh' das bitte als gut gemeinten Rat. Die Leute können sehr oft sehr schnell einschätzen, welchen Wissenstand jemand hat und was er noch lernen muss, um sein Problem zu verstehen und selbst lösen zu können.

Also, versuch' bitte, in kleinen Schritten, Stück für Stück dazu zu lernen. Und wenn du bei den Grundlagen Schwierigkeiten hast, arbeite gerade daran doppelt so hart!
Wenn dir Begriffe (Methoden, Funktionen, Objekte,...) nicht vertraut sind, dann frag' bitte nach. Es ist keine Schande, etwas nicht zu wissen. Es ist ja noch nicht mal schlimm, wenn man etwas nicht auf Anhieb zu versteht.
Aber est ist traurig, wenn man aufgibt, oder erst gar nicht fragt!

Also, Kopf hoch (und Augen auf den Monitor gerichtet)!
Gruß!
Benutzeravatar
Weltbesiedler
User
Beiträge: 103
Registriert: Dienstag 2. Februar 2010, 18:44
Wohnort: Bayern

Ok vielen Dank für deine Tipps C4S3. Allerdings habe ich auch bei dem offiziellen Python Tutorial viele Probleme. Es wird einfach zu kompliziert, finde ich, beschrieben. Zum Beispiel werden viele Fachbegriffe benutzt, die ich noch gar nicht kenne, zu dem werden dauernd vergleiche zu anderen Programmiersprachen gebracht, die an dieser Stelle nicht von Bedeutung sind. Es werden auch neue "Funktionen" in das Programm mit eingebracht, die bis dahin noch gar nicht beschrieben wurden / waren.

Ich bin leider wieder nur am Abschreiben, da ich den Text überhaupt nicht verstehe, obwohl er in das Deutsche übersetzt ist. Da war das Tutorial in meinem Python-Buch ("Hello World - Programmieren für Kids und andere Anfänger") wesentlich leichter zu verstehen. Aber mit der Zeit wurde es immer schwieriger zu verstehen bis ich schließlich beim Grafischen programmieren mit Pygame hängen geblieben bin. Die Aufgaben habe ich meistens gemacht. Das Buch habe ich, wie schon erwähnt, zwei mal durchgelesen und Stellen die ich nicht verstanden habe, nochmal gelesen.

Mit freundlichen Grüßen

Weltbesiedler

P.S. Gibt es nicht vielleicht ein einfacheres Tutorial für Anfänger, ohne das ich mir gleich ein ganzes Buch kaufen muss?

Übrigends danke ich euch sehr für eure Hilfe und Bemühungen.

Vielen Dank

Aber vielleicht ist das Programmieren nichts für mich, oder ich lerne es erst richtig in meiner Ausbildung, die ich vorhabe zu machen.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

ABOP - A Byte of Python ist toll und gut ;)
the more they change the more they stay the same
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Mit deiner "Lernmethode" wirst du in keinem Buch oder Tutorial etwas lernen. Es wurde dir schon öfters nahegelegt, dass du den Code nicht einfach abschreiben sollst, offensichtlich tust du dies aber immer noch. Die Faustregel ist ganz einfach: Verstehst du etwas nichts, dann probierst du so lange aus uns liest so lange nach, bis du es verstanden hast. Erst dann machst du im Text weiter, wo du vorher unterbrochen hast.
Das Leben ist wie ein Tennisball.
Benutzeravatar
Weltbesiedler
User
Beiträge: 103
Registriert: Dienstag 2. Februar 2010, 18:44
Wohnort: Bayern

Ok ich werde es so mal probieren.
Antworten