AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi 2D Game => Wie kann ich Wände erstellen?
Thema durchsuchen
Ansicht
Themen-Optionen

2D Game => Wie kann ich Wände erstellen?

Ein Thema von E-ScoBra · begonnen am 14. Jun 2006 · letzter Beitrag vom 18. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
E-ScoBra

Registriert seit: 9. Jun 2006
Ort: Osterholz-Scharmbeck
9 Beiträge
 
Delphi 7 Personal
 
#1

2D Game => Wie kann ich Wände erstellen?

  Alt 14. Jun 2006, 13:02
Momentan sitze ich mit meinen Freunden an einem Delphi/Schul-Projekt...
Es sieht so aus das es ein 2d game werden soll, soweit so gut, wir arbeiten mit images, haben es auch hinbekommen das wir eine Spielfigur einfügen und sich diese auch bewegen kann... leider auch durch "Wände" (Images).

Jetzt die frage^^:
Wie bekommen wir es hin das man mit der Spielfigur (Image^^) nich durch ein anderes Image laufen kann?

Vielen dank im vorraus...
Joa. xD, die ist meine Signatur...
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 14. Jun 2006, 13:05
array nehmen und dort eintragen, wo Wand ist und wo frei ist und danache testen!
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 14. Jun 2006, 13:31
Ich würde das nicht mit Images machen. du solltest dir eine map aufbauen, die so aussieht:

Delphi-Quellcode:
type
TMap = record
  accessibility: array of array of Boolean;
  floor: TBitmap;
end;
In accessibility kommt, falls ein pixel begehbar ist, ein true rein, wenn nicht, ein false. floor ist das, was angezeigt wird.
Deine Spielfigur solltest du dann in eine paintbox auf den floor zeichnen.
Aber wahrscheinlcih haben wir hier wieder die Art lehrer, die sagt, "nein, wir machen das jetzt mit Images, und wenn es Metrhoden gibt, die zehnmal sainnvoller sind"...
Sollte das mit den Images aber euer EInfall gewesen sein, gut, hätt ich wohl auch zuerst so gemacht, aber so wirds besser

Immer wenn du deine Spielfigur bewegst, prüfst du, ob die damit auf ein nicht begehbares tile bzw. pixel kommt. so:

Delphi-Quellcode:
for x,y in Spielfigur.pixelsWantedToOccupy do // alle pixel prüfen, auf die die spielfigur gehen will
  if not map.accessibility[x,y] then // wenn eines der pixel nicht begehbar ist..
    Spielfigur.DenyMove; // ... wird die Bewegung verhindert.
Das ist jetzt grober Pseudocode bar aller Optimierungen (ich habe ja vorher schon einmal von tiles gesprochen; wenn du deine map in tiles aufteilst, die jeweils so groß sind wie deine spielfigur, musst du nur prüfen, ob sich deine spielfigur auf ein verbotenes tile bewegen will. das ist sehr einfach abzuprüfen.)
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
E-ScoBra

Registriert seit: 9. Jun 2006
Ort: Osterholz-Scharmbeck
9 Beiträge
 
Delphi 7 Personal
 
#4

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 14. Jun 2006, 22:47
Naja wäre wohl ne gute idee mit array, habe nur..
1. KP wie das gehen soll... gelesen habe ich auch schon darüber hier in DP.
2. Unser hintergund soll ein image sein.. sowie auch die spielfiguren.. naja nun mus sich es hinbekommen egal wie, dass das Image nich über bestimmte linien, pixel gehen kann...

THX
Joa. xD, die ist meine Signatur...
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 15. Jun 2006, 07:32
solange die Linien nur waagerecht und senkrect sind, sollte es doch kein Problem sein, dies auszutesten, oder
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
E-ScoBra

Registriert seit: 9. Jun 2006
Ort: Osterholz-Scharmbeck
9 Beiträge
 
Delphi 7 Personal
 
#6

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 16. Jun 2006, 09:07
Ich bin euch sehr dankbar für eure hilfe, allerdings ist es so das ich ein totaler newbie in solchen dingen bin xD, und mir nun versuche dieses Wissen anzueignen... vllt ist das projekt für den anfang auch einfach zu hoch gewesen ..
vllt könnt ihr mir ja noch mal genauer erläutern wi eich was einfügen könnte, thx.
Joa. xD, die ist meine Signatur...
  Mit Zitat antworten Zitat
Phobeus

Registriert seit: 14. Sep 2003
Ort: Tespe
65 Beiträge
 
Delphi 7 Professional
 
#7

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 16. Jun 2006, 11:04
Dir hat man doch schon eine komplette Lösung gegeben. 2D mit vier Richtungen ist doch der einfachste Fall. Du hast die Position des Spielers und Du hast ein Signal in welche Richtung er gehen will. Will dieser nach Links gehen, prüfst Du, ob das entsprechende Feld begehbar ist oder nicht. Dies kann halt entweder ein Boolean sein oder auch ein Integer (z.B. wenn gewisse Einheiten einige Felder nicht überqueren dürfen). Wird dieses Feld als begehbar gekennzeichnet, wird dies die neue Position des Spielers. Ansonsten wird der Tastendruck verworfen und nicht verarbeitet... oder der Rechner piept nervig oder sowas.

Pseudo
Delphi-Quellcode:
a[0,0] := true; // hinderniss
px := 1;
py := 0;

if leftKey then
begin
  if not a[px-1,py] then dec(px);
end;
//ergo: dec(px) wird nicht ausgeführt
[...]
Florian Sievert
http://www.delphigl.com/
  Mit Zitat antworten Zitat
E-ScoBra

Registriert seit: 9. Jun 2006
Ort: Osterholz-Scharmbeck
9 Beiträge
 
Delphi 7 Personal
 
#8

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 16. Jun 2006, 11:09
ok , vielen dank ich werde eure vorschläge nun mal in ruhe studieren und anwenden^^
Joa. xD, die ist meine Signatur...
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#9

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 17. Jun 2006, 17:59
ich würde eine TPaintbox nehmen und alles in einem Array verwalten....
informiere dich mal über "dynamische array, canvas".
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
E-ScoBra

Registriert seit: 9. Jun 2006
Ort: Osterholz-Scharmbeck
9 Beiträge
 
Delphi 7 Personal
 
#10

Re: 2D Game => Wie kann ich Wände erstellen?

  Alt 18. Jun 2006, 01:22
Vielen dank, aber nun habe ich es so gelöst das ich einfach jedes Image einmal abfrage ob es eine der seiten berührt von einem anderen image (einer wand), und das ganze dann halt in eine schleife... wenn das game fertig ist werde ich es sofern es möglich ist auch mal posten^^ heute habe ich noch ne menüleiste, titelmusik und kleinere spielerreien hinzugefügt ;-P...

MFG
Joa. xD, die ist meine Signatur...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz