Aktuelle Zeit: 26.05.2018 13:45

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 04.12.2016 17:05 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
Zitat:
Das kann ich so nicht nachvollziehen. Das "Männchen" ist 13*23 px groß und wird auch so in alle Himmelsrichtung korrekt von der Kollisionserkennung erfasst.
Beim Fall (oder sonst) steht das "Männchen" auch korrekt auf dem Boden und versinkt nicht.
Dies ist nur beim Jump nötig: player\y = bottom - player\h - 1 ;Figur steht nun bündig auf dem Boden (1px Abstand)
Man kann (beim Sprung) auch (fast) immer sehen was unter einem ist. ????


Dein Spiel ist auch nicht kaputt. Kollisionserkennung macht, was sie soll. Ich meinte lediglich die Abstände zwischen dem Männchen und den Fensterrändern.
- Der Abstand zwischen männchen und linkem Fensterrand ist viel größer als der zum rechten Fenster.
- Das Männchen ist zu tief platziert. Wenn du hochspringst, wandert da Sprungziel manchmal aus dem sichtbaren Bereich heraus.
Das Männchen soll nur, wie es ist, ein wenig höher und horizontal mittig platziert werden.

Zitat:
Das ist gewöhnungsbedürftig, aber so schlecht finde ich das Sprungverhalten gar nicht.
Ich denke aber über ein dynamischeres (physikalisch besseres) Sprungverhalten nach.

Physikalisch korrekt wäre es:
1. Die Sprungbeschleunigung nimmt zuerst schnell zu (der Absprung mit dem Fuß), bis sie einen gewissen Wert erreicht hat (Je höher dieser ist, desto höher der Sprung).
2. Die Sprungbeschleunigung nimmt stetig ab, bis der Scheitelpunkt erreicht ist (Beschleunigung=0, das Männchen steht "ganz oben")
3. Die Sprungbeschleunigung geht weiter in den negativen Bereich; das Männchen fällt wieder.... Aber auch nur bis zu einem bestimmten Wert (ausprobieren, bis es realistisch wirkt)
4. Solange fallen lassen, bis der Boden erreicht ist (sobald er kollidiert ist, auf Bodenlevel setzen -> Sprungvorgang beendet, ggf. Aufprallsound abspielen.)
Stößt sich das Männchen während dem Sprung den Kopf, wird das Vorzeichen der Beschleunigung von + auf - gewechselt und der Fallvorgang wird eingeleitet.

Zitat:
Also hier scheinst du die alte Version zu meinen. Bei der "aktuellen Version" existiert so ein Verhalten nicht. Es gibt ein "Ammo" von 5 Bällen, die mit einem "Reload-Timer" verknüpft sind.


Ich habe getestet, was du zum Download angeboten hast (https://workupload.com/file/XT78mNE). Vermutlich hast du zwischenzeitig ein Update eingespielt.

Zitat:
Ach das ist doch ganz niedlich für die Auflösung. Du kannst aber auch Großbild nehmen: Kommentiere mal "OpenWindowedScreen(...)" aus und "OpenScreen(...)" ein.


Dass das geht, ist mir klar. Das sollte aber nicht über Code-Änderungen gemacht werden müssen. Besser wäre eine entsprechende Option im Spiel.
Die schöne Variante: Alt-GR + Return bei laufendem Spiel
Die dennoch akzeptable, einfachere Variante: Optionsauswahl speichern und zum Neustart des Spiels auffordern.
Ich habe mir deinen Source gar nicht angesehen, sondern getestet, wie es ist.

Hier noch ein paar Nachzügler:
- Ich kann mich nicht mehr bewegen, wenn ich auf einem der sich bewegenen Steinen stehe und geschossen habe.
- Die Hintergrundmusik klingt nach Blech. Es bringt nichts, eine schrottige MP3 in OGG mit hoher Bitrate zu verwandeln (oder du hast einen Schrott-Encoder für die OGG-Datei benutzt). OGGs sind normalerweise spätestens ab 128kbps ohne hörbare Verzerrungen :)

Ich habe mir mal den Code angesehen:

Code:
If InitEngine3D()
  InitSprite()
EndIf
InitMouse()
InitKeyboard()
InitSound()


Hier musst du damit rechnen, dass kein DirectX vorhanden ist. Wenn einer der InitXXX() versagt, musst du dem User mitteilen, dass DirectX fehlt und das Spiel abbrechen.

Den großen if-Block in Tb_plotFrame() kann man auch eleganter lösen. So, wie du es mit der X-Koordinate machst, kannst du auch die Y-Koordinate behandeln <)

Die Tastatureingaben laufen um ein Frame versetzt. Die Abfrage sollte vor dem Rendern der Welt kommen und nicht zwischen Rendern und FlipBuffers().

Warum greifst du auf die Maus zu, wenn du sie doch nicht benutzt? :allright:

_________________
return;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 04.12.2016 18:20 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
DarkSoul hat geschrieben:
Physikalisch korrekt wäre es:
1. Die Sprungbeschleunigung nimmt zuerst schnell zu (der Absprung mit dem Fuß), bis sie einen gewissen Wert erreicht hat (Je höher dieser ist, desto höher der Sprung).
2. Die Sprungbeschleunigung nimmt stetig ab, bis der Scheitelpunkt erreicht ist (Beschleunigung=0, das Männchen steht "ganz oben")
3. Die Sprungbeschleunigung geht weiter in den negativen Bereich; das Männchen fällt wieder.... Aber auch nur bis zu einem bestimmten Wert (ausprobieren, bis es realistisch wirkt)
4. Solange fallen lassen, bis der Boden erreicht ist (sobald er kollidiert ist, auf Bodenlevel setzen -> Sprungvorgang beendet, ggf. Aufprallsound abspielen.)
Stößt sich das Männchen während dem Sprung den Kopf, wird das Vorzeichen der Beschleunigung von + auf - gewechselt und der Fallvorgang wird eingeleitet.

Tut mir Leid, aber daran ist nichts physikalisch korrekt.
Normalerweise löst man das so, dass es eine globale Konstante gibt, die die Beschleunigung zur Erde definiert. Hier auf der Erde wäre das 9,81 m/s². Solange der Spieler nicht auf festem Boden steht, wird diese Konstante bei jedem Frame(*) auf die aktuelle Geschwindigkeit des Spielers drauf addiert/subtrahiert (je nach Vorzeichen). Das heißt der Spieler hat immer eine Position und eine aktuelle Geschwindigkeit. Möchte man jetzt springen, setzt man die Geschwindigkeit einmalig auf einen positiven Wert. Dadurch, dass die Geschwindigkeit pro Frame mit der Erdbeschleunigung verrechnet wird, fällt der Spieler von ganz alleine.

(*): Das funktioniert nur gut, wenn die Framerate konstant ist. Falls dies nicht gewährleistet werden kann, muss man die Zeit, die ein Frame benötigt, in die Kalkulation miteinbeziehen.

_________________
Freakscorner.de - Der Bastelkeller | Neustes Video: Creality 3D CR-10 Review und erste Druckergebnisse
Ubuntu Gnome 16.04.3 LTS x64, PureBasic 5.60 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 04.12.2016 19:09 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo, ihr Alle!

Ich habe bis jetzt einige viele Bugs behoben.
Vorwiegend Grafikbugs die teilweise auch nur unter Linux auftreten.

DarkSoul, deine Vorschläge( Sprung, Abstand) habe ich optimiert.
Aber:
Sprite_jnrMove(...) hat ja schon fast vollständig deinem beschriebenen Verhalten entsprochen.

Ein Beispiel mit vielen weiteren Änderungen wird noch folgen.
(muss vorwiegend noch ein paar nervende Fehler beheben)


Anmerkung (bis jetzt):
-InitEngine3D() (und alles was dazugehört) wurde entfernt
-Tribase-Engine wurde hinzugefügt
-Player_scrollMap wurde optimiert
-Player_jnr/ Player_move wurde optimiert
-
Code:
If StartDrawing(ScreenOutput())
      DrawingMode(#PB_2DDrawing_AlphaChannel)
      Game_drawHUD()
      GameEvent_drawText()
      StopDrawing()
    EndIf

geht unter Linux nicht!!!!
-> wurde daher optimiert/entfernt und behoben
-> Auflösung(modus) wurde optimiert. (kein Stretch - weil 1. Hässlich und 2. nicht unter Linux möglich)
->Map/Tiles/Level wurden bearbeitet.
-... mehr kommt noch (bis zum Beispiel)

Frage: Wie kann ich tolle bewegbare Plattformen erstellen? (Springen und Fallen, etc muss funktionieren)
Zitat:
Ich kann mich nicht mehr bewegen, wenn ich auf einem der sich bewegenden Steinen stehe und geschossen habe.

->Dies ist leider noch nicht behoben. ("Down-Key" lässt den Spieler von der Plattform fallen)


Zuletzt geändert von ccode_new am 04.12.2016 20:06, insgesamt 3-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 04.12.2016 19:12 
Offline

Registriert: 18.08.2012 19:18
Wohnort: Worms
und wo kann man sich die neue version anschauen ? ;)

_________________
i7,12gb ram , Windows 10 ,Purebasic 5.50


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 04.12.2016 20:39 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hier mal ein kleines Winter(Schnee)-Beispiel. (Das war der 1. Tribase-Test)

http://workupload.com/file/vNVKXvs


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 05.12.2016 00:30 
Offline
Benutzeravatar

Registriert: 20.06.2013 23:27
nice obwohl das Männlein ganz schön klein ist :D

scrollen tut hier butterweich.
die Schneeflocken kommen ganz schön brutal herunter geschossen :D

mach doch den Schnee so (ein Xmas Demo das ich 2012 gemacht habe):
Google Drive:
https://drive.google.com/open?id=0B_iCX ... DJBSHJJM1U

FileUpload:
xmastro_inc_2012.rar


braucht DX9
ob Vollbild geht kann ich nicht sagen, da bei mir Vollbild abschmiert. Besser Fenstermodus anklicken

BITTE ca 15 Sec. Warten da wird gerechnet bevor es losgeht

Bild

:allright:

_________________
PureBasic v5.3 + v5.44 LTS + v5.6 | Windows 7 x64 - Gforce GTX 950 - AMD FX6200 Six Core 3.80 | 26GB RAM


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 05.12.2016 01:39 
Offline

Registriert: 18.08.2012 19:18
Wohnort: Worms
das mit den partikel ist so ne sache ;) hier hilft nur viel probieren und testen bis man hier erfahrungen hat oder halt einen partikel editor benutzen.

_________________
i7,12gb ram , Windows 10 ,Purebasic 5.50


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 05.12.2016 11:30 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
Zitat:
Frage: Wie kann ich tolle bewegbare Plattformen erstellen? (Springen und Fallen, etc muss funktionieren)


- Ermitteln, wo der Spieler draufsteht (ist ja durch die Kollisionsabfragen bereits bekannt). Steht er auf zwei Blöcken gleichzeitig, zählt der Block, wo er "mehr" draufsteht.
- Bewegt sich der Block? Den Spieler entsprechend mitbewegen (zusätzlich zur regulären Tastatureingabe!)
- Springen: Beim Absprung verliert der Spieler den Kontakt und er wird nicht mehr weiterbewegt. Der Spieler muss beim Fall selber dafür sorgen, dass er wieder auf die Plattform fällt. Physikalisch nicht ganz korrekt, aber in 99% der Jump&Runs so gelöst.
- Fallen: Entweder der Spieler läuft runter oder er wird vom Block heruntergeschoben.... Er verliert den Kontakt zum Block und fällt normal herunter.

Der Hang zum Herunterfallen muss immer gegeben sein. Es muss IMMER geprüft werden, ob der Spieler noch Boden unter den Füßen hat (es sei denn, er hat gerade Auftrieb durch Sprung, Raketenrucksack, Flügel etc.). Nicht nur nach erfolgtem Sprung. Dadurch weißt du bereits zu jeder Zeit, wo der Spieler draufsteht. :)

_________________
return;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 05.12.2016 18:31 
Offline
Benutzeravatar

Registriert: 20.06.2013 23:27
True29 hat geschrieben:
das mit den partikel ist so ne sache ;) hier hilft nur viel probieren und testen bis man hier erfahrungen hat oder halt einen partikel editor benutzen.


In meinem Code habe ich 1 Schneflocke als png Bild. diese mehrfach dupliziert und mit einem Sinus versehen. das Erscheinen geschiet random und speed angepasst.

_________________
PureBasic v5.3 + v5.44 LTS + v5.6 | Windows 7 x64 - Gforce GTX 950 - AMD FX6200 Six Core 3.80 | 26GB RAM


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Schönes Jump and Run erstellen
BeitragVerfasst: 05.12.2016 22:12 
Offline

Registriert: 18.08.2012 19:18
Wohnort: Worms
@udg sorry der kommentar war nicht zur sondern zum thread ersteller ;)

_________________
i7,12gb ram , Windows 10 ,Purebasic 5.50


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite Vorherige  1, 2

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye