Problem mit Sprites

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Kurono
Beiträge: 44
Registriert: 28.10.2006 15:03
Wohnort: Mineral Town
Kontaktdaten:

Problem mit Sprites

Beitrag von Kurono »

Hi alle zusammen, ich hab mir erstmal die Demo-Version von PB geladen
hab aber schon auf anderen BASIC-Programmen viel Erfahrung
gesammelt, also kein blutiger Anfänger!
So, nun zu meinem Problem: Ich will ein 2d-Rpg programmieren,
in dem man in der angeschrägten Vogelperspektive spielt(profilanschicht???).
Wenn ich also hinter einen Baum trete, soll ich auch hinter ihm verschwinden, und nicht einfach drüberlaufen!
Das die "Tiefe" der sprites abhängig von der Position im Script ist, weiß ich auch, also arbeite ich an einer anderen Möglichkeit.
Bei der fehlt allerdings SCHON WIEDER ein wichtiger Begriff: SpritePosition(x,y) ??? warum gibt es sowas schon wieder nicht?
Ich will dann nämlich anhand der y position der sprites die Tiefe festlegen!
Sprite-Tiefe = -y sozusagen!
Kann mir da jemand helfen? oder muss ich AUCH da wieder auf Umwege ausweichen???

Falls jemandem Harvest Moon etwas sagt: Das will ich am Ende erreichen!
Hellhound66
Beiträge: 476
Registriert: 23.03.2005 23:19

Beitrag von Hellhound66 »

1. Meinst du isometriesche Sicht?
2. Was soll den Spriteposition() sein?

Du musst die Sprites Back-To-Front zeichnen. Dass heisst du musst alle Sprites (also die Objekte auf der Map) nach Y-Koordinate sortieren und dann von der kleinsten an beginnend darstellen. Ganz wichtig: _alle_ auch die Charaktere, Bäume, Bla, blubb..
Optimismus ist ein Mangel an Information.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Die DisplaySprite Befehle haben doch eine x und eine y Position... also was fehlt da wichtiges?

Einige auf dem Board inklusive mir haben schon Isometrische Darstellung verwendet und ich versichere dir, dass es PureBasic Dafür an nichts fehlt.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

zum verständnis:
die sprites sind Decals, keine objekte.
du kannst jedes sprite beliebig oft auf den screenbuffer malen.

deswegen gibt es keine abfragen, wo sich ein sprite befindet, weil es sich nicht befindet.
in dem moment wo du DisplaySprite() befielst, wird der SpriteBuffer in der ScreenBuffer gemalt und fertig.

PS: ja er meint Isometrische sicht.
ich kenne Harvest Moon auf der Playstation.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Nicht das du auf falsche Gedanken kommst,
nahezu jedes 2D-ISO-Spiel macht das so wie
hier beschrieben wird.
I´a dllfreak2001
Benutzeravatar
Kurono
Beiträge: 44
Registriert: 28.10.2006 15:03
Wohnort: Mineral Town
Kontaktdaten:

Alles klar, aaaaaber:

Beitrag von Kurono »

Super!!! Danke für die schnelle Hilfe!
Also handelt es sich nicht um Objekte, sondern nur um ... ja... wie heißt das?
Naja, egal!

Bei meinem Spiel handelt es sich allerdings NICHT um ein isometrisches!
Ich stell dann hier mal einen Screenshot von der alten Version rein, damit ihr wisst, um was es sich handelt!

Dann bleibt ja nur noch die Möglichkeit mit "structure" zu arbeiten!
So, dass ich das Sprite quasi als Object behandle!
Geht das?

Ich hab da ja schon einiges gelesen, aber bin leider nicht draus schlau geworden!

Hätte vielleicht jemand ein example für mich, wie man damit arbeitet?
Oder zumindest einen Codeschnipsel?

Es würde mir ja reichen, wenn ich wüsste, wie man zb. ein Object erstellt das folgende Daten enthält, die man verändern und abrufen kann:

--------------------------------
Freund (als object)

alter (als wert)
größe " "
telefonnummer" "
--------------------------------

Hoffentlich versteht ihr, was ich meine!

ps: ups, das mit dem Screenshot ist ja gar nicht so einfach.... dann muss ich's wohl auf meine HP stellen, beim nächsten Post also!
:oops: [/img][/url]
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

für screenshots kannste auch sowas wie http://imageshack.us/ benutzen.

natürlich brauchst du für die spielfiguren objekte, und structures ist ne gute möglichkeit.
aber für z.b. den acker bräuchtest du ne TileMap.

welche version von Harvest Moon meinst du denn?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Ich weiß schon was du meinst, da funktioniert das aber auch genauso.
Er mein nicht isometrisch sondern diese C&C1-Ansicht.
I´a dllfreak2001
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ne senkrechte matrix also. das ist noch einfacher.
ich würde auch da ne tilemap nehmen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Kurono
Beiträge: 44
Registriert: 28.10.2006 15:03
Wohnort: Mineral Town
Kontaktdaten:

Hmmmm... Tilemap?

Beitrag von Kurono »

:mrgreen:
Mannomann, das geht ja recht schnell... Echt vielen Dank für die Hilfe!
Also wegen den Screenshots: bin gleich fertig, dann kann man sie unter der
folgenden HP anschauen: http://gate68.wb4.de/
Das sind noch Screenshots von der alten Version!

Und nun zu der Tilemap: Was ist das genau? Ich möchte gerne große Maps
benutzten, mit einer Vielzahl an Grafiken, soweit ich weiß, muss das doch alles in ein array, oder nicht? Das dauert doch dann viel zu lange, die maps zu bauen!

Das mit der Reihenfolge in der die Sprites gerendert werden sollen hab ich glaub ich langsam raus!
Antworten