Tiles Kollision

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Momp

Betreff: Tiles Kollision

BeitragFr, Feb 01, 2008 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Ich bin eigentlich totaler Anfänger,habe aber schon ein Teil eines jump'n'run Spiels gemacht.
Mein größtes problem ist jetz die Kollision.Ich habe gehört,dass man solche Sachen mit Tiles machen soll,nur habe ich garkeine Ahnung wie das geht.
Könnt ihr mir helfen? Sad
Gruß Momp
 

Dreamora

BeitragFr, Feb 01, 2008 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt verschiedene Tutorials zum Thema TileMap, darunter vermutlich sogar einige für Jump'n'Run.
Am besten schaust du in dem spassigen Ding auf der Seite, genannt "Szene - Links" Smile


moved da falsches board
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

TimBo

BeitragFr, Feb 01, 2008 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

also weißt du denn was Tiles sind und wie man sie einsetzt?

wenn ja, also ich prüfe die Kolosionen einfach mit dem Arry, da sind die ganzen Tile-Felder-Eigenschaften
gesavt, diese lese ich aus und Prüfe ob eine Kolosion vorhanden ist.

mfg
Intel Core 2 Duo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Momp

BeitragFr, Feb 01, 2008 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Tiles sind so Kästchen,wie man sie überhaupt einfügt weiß ich jedoch nicht Sad

TimBo

BeitragFr, Feb 01, 2008 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

also ich mache das so:

Zitat:
erst
Dim Tiles(9)
Dim raum(anzahl_tiles_x, anzahl_tiles_y)

dann
Tiles(0) = Loadimage ("boden.bmp"
Tiles(1) = Loadimage ....

dann
BigMap= Createimage(anzahl_tiles_x *50, anzahl_tiles_y *50) ;50 ist dabei die breite jedes Tiles


dann
karte = ReadFile("mapdaten.txt")


SetBuffer ImageBuffer(BigMap)

For i = 1 to anzahl_tiles_ x
code = ReadLine(karte)

For ii = 1 to anzahl_tiles_y
raum(ii,i) = Mid (code, ii, 1)
DrawImage( tiles (raum(ii,i) ), (ii-1)*50, (i-1)*50
next
next

SetBuffer BackBuffer()


hoffe konnte dir weiterhelfen Smile

mfg
Intel Core 2 Duo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Momp

BeitragFr, Feb 01, 2008 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versuche es erstmal zu verstehen Rolling Eyes

BladeRunner

Moderator

BeitragFr, Feb 01, 2008 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Intel, warum zum Geier sollte er Tiles verwenden wenn er (so wie du es vorschlägst) dann eh nur ein großes Bild im Speicher draus macht. Das ist doch vollkommen widersinnig.
Tiles ermöglichen doch grade erst die Flexibilität, erlauben Kollisionen und sparen Graka-Speicher ein, und genau diese Vorteile machst du mit deiner Bigmap zunichte.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Momp

BeitragFr, Feb 01, 2008 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked Ich wäre euch sehr dankbar Very Happy wenn ihr mir das mal genauer erklären könntet,was welcher Befehl denn da macht oder wie man sowas am besten macht.
 

Dreamora

BeitragFr, Feb 01, 2008 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
es gibt keinen befehl
die musst du selbst schreiben bzw. ein kleines system.
Das ist nicht ma so rasch 2-3 zeilen und gut ist, sorry

Da wirst du dich wohl oder übel richtig mit dem Thema auseinander setzen müssen oder doch ein Pong / Asteroid oder dergleichen machen müssen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Bassmaster

BeitragFr, Feb 01, 2008 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin auch Anfänger und beschäftige mich gerade mit dem Scrollen von Tilemaps

http://www.robsite.de/tutorials.php?tut=blitzbasic

Auf der Seite gibt es ein Tutorial da wird auch alles erklärt was eine Tilemap und so ist.

Das Tutorial heißt

RPG-Tutorial

da gibt es 6 verschiedene Lad dir die halt mal runter.
 

Momp

BeitragFr, Feb 01, 2008 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok danke euch alle.Wieso mein BEitrag 2mal geschrieben wurde verstehe ich selbst nich Smile

DerHase

BeitragFr, Feb 01, 2008 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht hilft Dir dies ein wenig: Tiles Scrolling und Bla

Intel, man sollte nur die Tiles zeichnen die man auch auf dem Bildschirm sieht und nicht alle Shocked
Play Satyr!
 

Momp

BeitragFr, Feb 01, 2008 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch dir danke.Bin für weitere hilfreiche Links offen Very Happy

TimBo

BeitragFr, Feb 01, 2008 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Tiles ermöglichen doch grade erst die Flexibilität, erlauben Kollisionen und sparen Graka-Speicher ein, und genau diese Vorteile machst du mit deiner Bigmap zunichte.


das mit der flexiblität habe ich so gemacht, dass ich nur die Tiles, die sich niemals ändern in die bitmap lade.
die Kollision ist doch noch da?? man nehme den Arry raum(x, y) ?? Shocked

das mit dem Graka speicher ist mir nicht bewusst gewesen ... Sorry Embarassed

hochachtungsvoll
Intel Core 2 Duo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Momp

BeitragSa, Feb 02, 2008 1:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bekomme immer eine Fehlermeldung --- "Out of Data" ----
was ist die Ursache? Rolling Eyes

kriD

BeitragSa, Feb 02, 2008 1:54
Antworten mit Zitat
Benutzer-Profile anzeigen
du liest bestimmt dein array aus data-feldern ein.. wenn diese data-felder zu klein sind (kleiner als deine map), dann bekommst du diese fehlermeldeung...

MfG kriD
Wenn ich du wäre, wäre ich lieber ich!
 

Momp

BeitragSa, Feb 02, 2008 10:47
Antworten mit Zitat
Benutzer-Profile anzeigen
okay,aber wie groß ist denn ein Datenfeld? Das wird doch mit dem Dim befehl erstellt oder?
Ich habe dim map(20,20) geschrieben.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Feb 02, 2008 11:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein ql:Data -Feld ist so groß, wie er im Quellcode ebgelegt wurde. Praktischer weise würde man gleich in Zeilen (=X) und Spalten (=Y) machen. Wenn du nun im Quellcode folgendes stehen hast:

Code: [AUSKLAPPEN]
...

Data 1,2,3,4,5,6,7,8
Data 1,0,0,0,0,0,0,1
Data 1,0,0,0,0,0,0,1
Data 1,1,1,1,1,1,1,1

...


Dann hast du ein 8x4 großes Datafeld. Dieses Feld würdest du dann als Minimum mit Dim map(7,3) erstellen müssen. Wobei jeweils -1 daher kommt, da ein Array (ql:Dim) eben von 0 anfängt. Also von 0 bis 7 sind 8 Werte insgesamt. Du kannst natürlich auch gleich in eine Datei schreiben und die Werte auslesen. Da musst du dir aber ein Dateiformat ausdenken, welches eben alle deinen Bedürfnissen entspricht.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group