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

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

31

24.07.2013, 16:10

Ein Input-Manager lohnt sich sicherlich, denn man kann ihn immer wieder verwenden, da fast alle Spiele diese Funktionen benötigen. Als Vorlage habe ich ja meinen gepostet, natürlich kannst du ihn so programmieren, wie du willst und am besten damit arbeiten kannst.

BK Simon

Treue Seele

  • »BK Simon« ist der Autor dieses Themas

Beiträge: 151

Beruf: Student

  • Private Nachricht senden

32

24.07.2013, 16:13

@patrick246: Danke fuer das Angebot!
Werde mir deinen Input-Manager sicherlich genauer anschauen, aber ich denke, da es ja ein Testprojekt sein soll, auf dem ich aufbauen will, waere es sinnfrei genau solche Sachen dann nicht zu machen, damit man es auch versteht. Wenn der Input-Manager nun aber riesig ist, werde ich dies doch fuers erste verschieben und ihn benutzen, doch wenn es fuer mich machbar ist versuche ich mich selbst mal dran :)

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

33

24.07.2013, 23:19

Versuche ruhig einen zu Schreiben! So eine große Sache ist das auch wieder nicht, fast alle Methoden haben eine einzige Zeile.
Zusätzlich lernst du dabei noch etwas und hast einen wiederverwendbares Stück Programmcode.
Am besten du siehst dir meinen Input-Manager erst gar nicht an und versuchst ihn selber zu schreiben. Wenn du wirklich nicht mehr weiterkommen solltest, kannst du ihn dir ansehen und wenn das auch nichts hilft, ist das Forum ja da.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

34

25.07.2013, 11:30

Dein Manager sieht soweit ganz ordentlich aus. Ist sicherlich nicht schlecht wenn du dich selbst an einem versuchst und dir dann danach den hier hoch geladenen anguckst. Dann kannst du vergleichen wie du vor gehst und wie patrick246 vorgeht. Vermutlich wirst du erst mal einen anderen Ansatz nehmen. So kennst du dann 2 Möglichkeiten so ein Ding zu schreiben. Und wie gesagt ansonsten fragen, fragen, fragen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BK Simon

Treue Seele

  • »BK Simon« ist der Autor dieses Themas

Beiträge: 151

Beruf: Student

  • Private Nachricht senden

35

25.07.2013, 12:11

Gut dann werde ich das auch so machen und erstmal versuchen meinen eigenen zu programmieren :)

Habe gestern erst nur das mit der Zeit noch hinzugefuegt und da hat es mich verwundert, dass sich der Spieler erst gut bewegt, wenn man die Zeit mit 1000 multipliziert. Fand den Wert eigentlich ziemlich hoch aber naja nun funktionierts. :)

Werde heute dann noch die Game Klasse schreiben, in der ich dann die Kollision implementiere und dann zeig ich euch nochmal den Code :)

36

25.07.2013, 12:15

Naja wenn du nur 2 hast und du diesen Wert dann mit der Zeit multiplizierst, heißt das ja, dass sich dein Objekt in einer Sekunde um 2 Pixel bewegt. Kein Wunder, dass dir das langsam vorkommt: Das is langsam! ;)

BK Simon

Treue Seele

  • »BK Simon« ist der Autor dieses Themas

Beiträge: 151

Beruf: Student

  • Private Nachricht senden

37

25.07.2013, 12:19

Haha nee :D ich habe ja schon 100 oder so probiert, aber das war auch sehr langsam :P

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

38

25.07.2013, 13:02

Das kommt auf die Auflösung deines Spiels an. Aber wenn du 100px/s als Geschwindigkeit hast und das zusätzlich noch mit 1000 multiplizierst, dann hättest du eine Geschwindigkeit von 100000px/s und das hört sich doch nach sehr sehr viel an. Möglicherweise hast du also irgendwo einen Fehler im Code gemacht.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BK Simon

Treue Seele

  • »BK Simon« ist der Autor dieses Themas

Beiträge: 151

Beruf: Student

  • Private Nachricht senden

39

25.07.2013, 13:26

Also ich habe den Code nicht vor mir aber der schaut ca so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sf::Clock clock;

while (window.isOpen())
{
    sf::Time elapsed = clock.restart();

    Spieler.update(elapsed);
}

void Spieler::Bewegen ( sf::Time elapsed )
{
    if ( rechts )
    {
          Spieler_Shape.move ( 1000 * elapsed.asSecounds (), 0 );
     }

    if ( links)
    {
          Spieler_Shape.move ( -1000 * elapsed.asSecounds (), 0 );
     }
}

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

40

25.07.2013, 13:59

Dann bewegst du die Figur um 1000px pro Sekunde. Je nach Auflösung und gewollter Geschwindigkeit kann das sein. Der Code ist soweit aber korrekt.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige