Schräge Tiles

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

krux

Betreff: Schräge Tiles

BeitragFr, Aug 12, 2005 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab vor nen Jup and run game zu machen hab mich auch schon ein wenig mit Titles auseinander gesetzt, aber wie mache ich eine Schräge die man hochlaufen kann ohne zu springen? Ok Paint dann ne schräge malen Confused Aber ich hab ja kein Pixelkollisionsabfrage. Also mir wärs lieb wenns zum schluss so aussieht wie in diesem game http://agtp.romhack.net/doukutsu.html
  • Zuletzt bearbeitet von krux am Fr, Aug 12, 2005 19:37, insgesamt einmal bearbeitet

Justus

BeitragFr, Aug 12, 2005 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Du meinst sicher Tiles Exclamation Question Very Happy
  • Zuletzt bearbeitet von Justus am Sa, Aug 13, 2005 14:40, insgesamt einmal bearbeitet

Alfadur

BeitragFr, Aug 12, 2005 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
tja, würde sagen das du um ne pixelgenaue kollisionsabfrage nich drumherum kommst ....

und :

jump'n'run
tiles

...
A Cray is the only computer that runs an endless loop in less than four hours.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Aug 12, 2005 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Aja, schräge...

Eine Pixelgenaue Abfrage währe schon sinnvoll, da der Spieler ja sich nicht blockweise bewegen soll und die Tiles nicht immer nur leer oder komplett voll ausgefüllt sein sollen?.. Nehme ich an. Das Pixelgenaue abfragen löst aber das Problem nicht, schräge Böden hoch laufen zu können. Ich würde da eine Abfrage machen mit welchem Tile der Spieler kollidiert und danach die Auswertung machen.

Zum Beispiel:

If Tile=50 then SpielerX=SpielerX-1
If Tile=51 then SpielerX=SpielerX+1

Durch eine Gravitation z.B. SpielerY=SpielerY+1 würde der Spieler dann automatisch den Hang runter rutschen. Die Spielfigursteuerung muß natürlich stärker sein als 1, da sonst der Spieler diesen Hang nie hochlaufen könnte. Bei relativen Bewegungsabläufen währe es allerdings etwas schwieriger.

Das würde aber nur funktionieren wenn das Tile immer nur von einer Seite berührt werden kann. Also keine Pyramiden förmige Tiles, wo also auf EINEM Tile links und rechts runter gerutscht werden kann.

Soll dies auch berücksichtigt werden, braucht man eine intelligente Kollisionsabfrage, die den Boden und seiten komplet abtastet und danach die Spielfigur manipuliert.

Wie solls denn sein?

Oder hier kann auch schräg hochlaufen: https://www.blitzforum.de/viewtopic.php?t=11223
Laughing
 

Dreamora

BeitragSa, Aug 13, 2005 0:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Pixelgenaue Kollision reicht durchaus.

Wenn das Spielerbild kollidiert einfach checken wo beim nächsten Schritt der Boden ist (mit einem Kollisionstest zb also einfach einen schritt weiter in die aktuelle richtung wenn dort kolli -> weiter oben. Wenn nicht -> weiter unten, wenn dort kolli dann einfach gerade aus gehen)

Dadurch kann man theoretisch jede erdenkliche Form von Boden erzeugen
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

krux

BeitragSa, Aug 13, 2005 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
also in dem Beispiel das ich hier verlinkt hab sind die tiles so, dass man sie weich hochlaufen kann, aber noch kleine Felsvorsprünge vorm Spieler stehen, mit denen er offensichtlich nicht kollidiert. Also soll ich für jedes Tile eine eigene Kollisionmap malen oder geht das auch anders ohne Pixelkollisionabfrage (ich mag die irgendwie nich)
 

Dreamora

BeitragSa, Aug 13, 2005 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du keine Pixelkolli willst, dann definierst du am besten für jedes Tile eine Steigungsgerade mathematisch, gemäss welcher du die Figur auf dem Tile bewegst.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

krux

BeitragSa, Aug 13, 2005 14:01
Antworten mit Zitat
Benutzer-Profile anzeigen
also das mit der steigungs grade hört sich nich schlecht in verstehs nur nich so ganz
 

Dreamora

BeitragSa, Aug 13, 2005 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
y = a * x wobei a die steigung ist und x der horizontale Abstand vom "0-Punkt"

Alternativ auch y = y' + a*x wobei y' die starthöhe des tiles war und x der abstand vom entsprechenden tile rand.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Aug 13, 2005 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
krux hat Folgendes geschrieben:
also das mit der steigungs grade hört sich nich schlecht in verstehs nur nich so ganz

Also, ohne jetzt wieder das obige Beispiel anzusprechen. Aber es ginge ja zum Beispiel so:

Der Rechner 'weiß' ja auf welchem Tile sich der Spieler gerade befindet, so kann man die Rutschgeschwindigkeit auf unterschiedlichen Tiles unterschiedlich definieren.

Leicht schräge Tiles zB +/- 1 (die Spielfigur rutscht leicht runter, kann locker drauf zulaufen).
normal schräge Tiles +/- 2 (die Spielfigur rutsch normal runter, kann nur noch schwer drauf 'klettern').
stark schräge Tiles zB +/- 4 (die Spielfigur fällt fast rutschend runter, kann nicht mehr zurrück klettern).

Ansonsten kann man auch die ganze Map zusätlich intern als Vectororientiertes Map ablegen, dann hätte man es ganz genau, aber ach nicht besonders leicht und für so Spiel wie der japanische Link völlig überflüssig. Sonst habe ich keine besseren Ideen dazu. Pixelgenaue Abfrage würde ich denoch machen, da diese eindach besser und genauer aussehen. Ausserdem muß man ja nicht den ganzen Bildschirm auf Kollision abfragen. Es reciht aus nur die 4 Tiles zu checken in welchen sich der Spieler maximal und gleichzeitig aufhalten kann, wenn die Spielfigur nicht größer ist als ein Spielfeldtile.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group