Hy leute ich versuche jetz schon seit 2 stunden bei meinen Jumpn Run
Wenn die Zeit abläuft dass mein Abenteurer ein Leben verliert aber ich kriegs einfach nicht hin. Könnt ihr mir bitte ein paar denk anstösse geben ? X(
else if (level.TimeRemaining == TimeSpan.Zero)
{
if (level.ReachedExit)
LoadNextLevel();
else
{
lives--;
ReloadCurrentLevel();
}
}
dass "lives--;" ist immer falsch aber ich weiss einfach nicht wie ich das schreiben soll.
Danke schon mal.
Sizzla
Hallo Sizzla,
an "lives--;" direkt ist nichts auszusetzen.
Deklarierst du denn die Variable auch irgendwo und weist ihr vor dieser Rechnung auch einen Wert zu?
m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
ja die variable deklariere ich hier:
private int lives = 3;
hoffe das reicht... =)
und der Fehler lautet:
Fehler 2 Der Operator "--" kann nicht auf einen Operanden vom Typ "Platformer1.PlatformerGame.Lives" angewendet werden. B:\Programmierung\meine Games\Platformer1\Platformer1\PlatformerGame.cs 131 25 Platformer1
Hallo Sizzla,
offenbar ist deine Variable lives vom Typ Lives (genauer: Platformer1.PlatformerGame.Lives). Und dieser Typ kennt keinen Dekrement-Operator.
Heißt also: lives ist kein Integer, sondern eine Klasse/Struct. Du musst dir eine Methode / Property schreiben, um an die private Member-Variable lives heranzukommen, die du zitierst.
Oder alternativ: Den Dekrement-Operator in der Klasse / Struct implementieren.
Mehr kann ich aber bei dem Fehler und dem kurzen Code-Fragmentsplitter nicht sagen. Poste bitte die relevanten Stellen.
Mfg NeuroCoder
Ok danke für die Antworten ich habe die Lösung also:
Habe eine kleine Änderung vorgenommen und schwups passt es 😃
lives = lives -1;
Jetz habe ich nur noch 1 problem, es wird zwar ein Leben abgezogen aber auf meiner Lebensanzeige bleibt der wert gleich..
Übrigens ich arbteite mit XNA falls es weiterhilft.
Sizzla
Offenbar befindet sich in deiner Updatemethode irgendwo:
...
Lives lives;
...
Daswegen updatest du wahrscheinlich die falsche Variable. benenne deine lives Variable an beiden Stellen um. Dann sollte auch der -- Operator funzen. Dann sollte sich deine Anzeige auch updaten.
Gruß pdelvo
Hallo Sizzla,
siehe [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen) und [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
herbivore
tut mir leid herbivore aber in diesem Fall gibt es ja keine Fehlermeldung, da es ja kein Fehler ist sondern nur ein Befehl der irgendwo fehlt und i habe meine bücher schon durchwühlt aber leider nicht den passenden Befehl gefunden der mein Problem löst.
Sizzla
EDIT: Ok das mit den Grundlagen verstehe ich, ich werde es in Zukunft vermeiden. Nur leider gibt es nirgends ein Forum wo man solche Fragen stellen kann.
Fehler 2 Der Operator "--" kann nicht auf einen Operanden vom Typ "Platformer1.PlatformerGame.Lives" angewendet werden. B:\Programmierung\meine Games\Platformer1\Platformer1\PlatformerGame.cs 131 25 Platformer1
das ist für mcih ein compilerfehler und der link von herbivore passt sehr gut zu diesem. hier ist im übrigen auch dein ansatzpunkt, um festzustellen was du flasch machst. wenn du dir diesen thread aufmerksam durchließt, wird dir auch erklärt warum dieser compilerfeher kommt. wenn du es dennoch nciht verstehst, dann fehlen dir ein paar wesentliche grundlagen und das ist dann auch der grund für
Wichtig: [Hinweis] Wie poste ich richtig?
Punkt 1.1.1
Hallo Sizzla,
Nur leider gibt es nirgends ein Forum wo man solche Fragen stellen kann.
glücklicherweise(!) gibt es das nicht. Wir sollten die Anfänger nicht vergraulen, sondern erwarten nur, dass sie sich die nötigen Grundlagen selbst aneignen. Das ist durchaus im Sinne der Anfänger.
herbivore
Hallo Sizzla,
also es ist schon sehr dreist, mit sowas dann auch noch mehrere Foren zu beschäftigen. Siehe [Hinweis] Wie poste ich richtig? Punkt 2.
Zumal du hier schon eine gute Antwort hattest, bevor du das zweite Forum eingeschaltet hast.
So oder so, lass das bitte.
herbivore