Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

31

01.08.2011, 19:08

Würdest du das Projekt nochmal zum Download anbieten, damit wir auch dein "Update" ansehen können? :thumbup:

MfG
Check

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

32

01.08.2011, 19:09

C-/C++-Quelltext

1
2
3
4
5
if(m_fTimer > 1.0f)
{
    m_fTimer - 1.0f;
    ...
}

Vorsicht! Das wird kompiliert, hat aber keinen Effekt.

@MisterX:
Du hast so viele Verständnisprobleme, dass ich glaube es wäre besser wenn du das in nem ganz kleinen Projekt ausprobierst.

Schnapp dir diesen Beispielcode und erstelle eine Liste mit sf::Shapes. In die Liste schiebst du du erstmal nur ein einziges Rechteck, zeichnest es und lässt es dann mit einem Tastendruck bewegen. Wenn du das geschafft hast lädst du ein Bild und machst aus den Shapes Sprites. Dann fügst du ein zweites Sprite mit einer anderen Position ein, werden beide gezeichnet bewegst auch das zweite mit dem Tastendruck. Dann dürfte es kein Problem sein beliebig viele andere Sprites hinzuzufügen. Das machst du in möglichst kleinen Schritten. Danach wird es dir wesentlich leichter fallen es im großen Projekt umzusetzen.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

33

01.08.2011, 19:17

Das hab ich davor dummerweise mehrfach geübt gehabt... :D

Ich habe, um den Timer zu resetten, einfach m_fTimer=0.f; genutzt. :lol:

update

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »MisterX« (01.08.2011, 19:24)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

34

01.08.2011, 19:23

C-/C++-Quelltext

1
m_fTimer -= 1.0f;

Ist schon seinen Sinn. Es ist gleichmäßiger(wichtig bei Animationen) und wenn diese Zeilen ein 5 Sekunden nicht aufgerufen werden, werden trotzdem 5 Gegner gespawnt (kann natürlich auch ein Nachteil sein). .;)

Du hast mehrfach mit Listen ohne Copy&Paste geübt?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

35

01.08.2011, 19:26

Ja, auch ohne Buch oder ähnliche Textstücke.
Nur vieles was mir empfohlen wird ist, meiner Meinung eingebaut oder umgesetzt worden, was aber (noch) keine konkrete Änderung hervorrief.

36

01.08.2011, 19:52

Hups, war ein Schreibfehler

Hast du es inzwischen mit debuggen versucht?
Solche Probleme lassen sich damit leicht lösen

Ich habe mir deinen Code heruntergeladen, aber er ist recht unübersichtlich, denn die Namen sind nicht gut gewählt und du hast ein absolutes Mischmasch aus Deutsch und Englisch
Außerdem empfehle ich dir für die Positionsangaben Vektoren zu verwenden

37

01.08.2011, 20:10

Tu ich eigentlich auch. :D

Debuggen bringt mich nicht weiter, bringt mir nur eine Warnung mehr ein.

||=== Autospiel, Debug ===|
||Info: resolving vtable for sf::Sprite by linking to __imp___ZTVN2sf6SpriteE |
||warning: auto-importing has been activated without --enable-auto-import specified on the command line.|
||Info: resolving vtable for sf::String by linking to __imp___ZTVN2sf6StringE |
||Info: resolving sf::Font::ourDefaultCharset by linking to __imp___ZN2sf4Font17ourDefaultCharsetE |
||Info: resolving vtable for sf::Drawable by linking to __imp___ZTVN2sf8DrawableE |
||=== Build finished: 0 errors, 1 warnings ===|

Falls das hilft, für mich ist es Spanisch. :thumbdown:

Den MischMasch aus Englisch und Deutsch hab ich mir irgendwie zusammengereimt, weiß auch nicht.... :|

38

01.08.2011, 20:19

Setz Haltepunkte an den Stellen an denen die Gegner bewegt werden sollen und schau dir dann an warum sie es nicht tun
Den MischMasch aus Englisch und Deutsch hab ich mir irgendwie zusammengereimt, weiß auch nicht.... :|
Keine Ausreden ;)

39

01.08.2011, 20:24

Gerade das verstehe ich nicht, für jeden Gegner rufe ich Update auf, für jeden Gegner wird Eins drauf gerechnet und für jeden Gegner wird dies wieder herum verarbeitet.
Ich find einfach den Fehler nicht.. :pinch:

40

01.08.2011, 20:27

Dann setz doch deinen Haltepunkt in der Updatefunktion und schau, ob Update für jeden gegner ausgeführt wird und richtig funktioniert

//EDIT:
Nochmal über den Code geschaut

C-/C++-Quelltext

1
2
    if(m_fTimer<=2.f)
        m_Position+=1;

Was stimmt daran nicht? :D

Werbeanzeige