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

11

22.05.2012, 12:06

Schau mal auf die Grafik.
Bis Endpunkt des GameContainers den Endpunkt der Spielkarte erreicht hat, bleibt der
Held auch mittig. Nachdem grad eben genannter Punkt erreicht worden ist, kann der Held die rechte
Ecke des GameContainers passieren. Sonst kommt er ja nicht an die Objekte ganz rechts im Bildschirm
ran.
Oder verstehe ich dich falsch?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

12

22.05.2012, 13:05

Ja, scheinbar verstehst Du mich nicht. Wie ich schon sagte: Der Char kann immer in der Mitte bleiben, dafür musst Du aber die Map über den "begehbaren" Bereich hinaus auf einen "sichtbaren" Bereich erweitern. So läuft das üblicherweise in vielen Spielen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Raidenkk

Treue Seele

Beiträge: 151

Wohnort: Bergkamen/Oberaden

Beruf: Multimedia Informatik

  • Private Nachricht senden

13

22.05.2012, 13:44

Du meinst der Char bewegt sich eigentlich nicht sondern die Map

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

14

22.05.2012, 14:06

Nein. Ich meine die Map ist größer als der Bereich, in dem der Char sich bewegen kann.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

15

22.05.2012, 14:15

ich hab so side-scroller sachen immer mittels viewport realisiert. wenn du danach googlest wirst du schnell fündig.
die LWJGL bietet afaik hier eine recht elegante lösung an.

16

22.05.2012, 15:01

Hey Wirago was meinst du mit Viewport?
Habe leider nichts gefunden in google.

BlueCobold: Kannst du mir mal eine Art Grafik zeichnen, was du meinst? Ich kann es
nicht nachvollziehen.

Meine Idee ist es, 2 Ebenen zu verwenden.
Die erste Ebene stellt die dar, worin die Objekte in Abhängigkeit
der bewegung des Helden verschoben werden, damit der EIndruck
entsteht, die Map würde scrollen.
Die zweite Ebene enthält quasi die absoluten Positionen der Objekte,
um eben Kollisionserkennung realisieren zu können.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

17

22.05.2012, 15:14

Stell Dir vor Dein Bildschirm habe die Länge und Breite M. Nun ist deine Welt aber A*B groß. Statt den Char also zwischen x=0 und x=A laufen zu lassen, darf er eben nur zwischen (M/2) und (A-M/2) laufen. Selbes gilt für Y. Dann kann Dein Char immer zentriert bleiben und man sieht auch nie irgendwelche Probleme an irgendwelchen Enden des Spiels. Heißt aber natürlich, dass auch die NPCs innerhalb des begehbaren Bereichs liegen dürfen. Damit sparst Du Dir Sonderbehandlung der Darstellung an Randbereichen. Ist doch eigentlich ganz simpel. Wie ein Fußballfeld. Da ist ein riesiges Feld mit Rasen, aber der bespielbare Bereich ist kleiner (durch Linien eingezeichnet).

Zwei Ebenen für die Darstellung und Kollision zu verwenden halte ich für absolut überflüssig.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

18

22.05.2012, 15:46

Jetzt verstehe ich was du meinst.

Der Nachteil an deiner methode ist folgender:

Der Spieler hat keine Chance, die komplett rechte obere Seite der Spielkarte
zu betreten, obwohl sie zu sehen ist. Ebenso die anderen Objekte.


(Link)


Die Methode mit den 2 Ebenen erlaubt das Betreten JEDEN Bereiches
auf der Spielkarte, auch die rechte obere sichtbare Ecke des Bildschirms,
vorausgesetzt, da ist kein Baum, oder so etwas, welches durch
Kollisionserkennung die Bewegung hindern würde.

Vielleicht ist es aber ein Denkfehler meinerseits. Nenn mir doch mal
ein Spiel, welches die von die beschriebene Methode
verwendet.

h3nryjk

Frischling

Beiträge: 13

Wohnort: 127.0.0.1 - Mi casa es tu casa

Beruf: Student

  • Private Nachricht senden

19

22.05.2012, 18:33

Jetzt verstehe ich was du meinst.

Der Nachteil an deiner methode ist folgender:

Der Spieler hat keine Chance, die komplett rechte obere Seite der Spielkarte
zu betreten, obwohl sie zu sehen ist. Ebenso die anderen Objekte.
Das muss er auch nicht. Mappe das ganze einfach so, dass an den Kartenrändern Bäume oder andere Kollisionsobjekte sind.
Zumindest bis zur Spielerposition.

Was spricht eigentlich dagegen, den Char an den Rändern unabhängig von der Kamera zu bewegen?
Irgendwo sollte ich vielleicht noch den Code dazu finden...

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

20

22.05.2012, 18:37

Hey Wirago was meinst du mit Viewport?
Habe leider nichts gefunden in google.
.


hier ist ein nettes code-beispiel, imho ganz passabel kommentiert. hilft dir vllt weiter..

http://ip-208-109-186-6.ip.secureserver.…ewPort.java.htm

Werbeanzeige