Createbank(x*y) inkl .dateistream readbyte...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Jamagin

Betreff: Createbank(x*y) inkl .dateistream readbyte...

BeitragMo, Nov 08, 2004 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
versuche seit einiger zeit mit den speicherbanks zu arbeiten, hab aber keine so genaue vorstellung davon!
wer kann mir bitte helfen. das tutorial welches ich hier fand ist zwar gut, aber zu wenig!

ich möchte bei meinem spiel die levelkarte in form von einer speicherbank realisieren, wo ich die werte, welche ansonsten in data-zeilen sind, in einer datei speichere und diese dann mittels readbyte bank, filename, 0, anzahl in den speicher schreibe.
wie aber kann ich dann diese werte auf die images abbilden?
ich erhoffe mir dadurch ein ruckelfreies scrolling, bei einer hohen anzahl an objekten.

bitte rasch um hilfe, wenn es möglich ist!

danke im voraus.

NB: für eine superlösung (ach was, lösung pur) ist ein eintrag in den credits gewiss!!!

lg. Jamagin

NB: Aktuelles Projekt: Synos 2
Bevor du etwas neues beginnst, erledige das alte

eXceptION

BeitragMo, Nov 08, 2004 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
die data die du mit speicherbank erzeugst ist raw... das heisst es hat kein spezifike format.

das musst du selber machen: eine idee wäre vielleicht das du für jede zelle in das 2d map, 4 byte speichere... sag mal dein map ist 256x256, mal vier macht das 262144 bytes... (ja du kannst auch ein texture als map benutzen)

bei 4 byte (32bit) per zelle, hast du 32 verschiedene "flags" die du flippen kannst... aber du kannst es so machen wie du willst! beispiel:Code: [AUSKLAPPEN]
bank = createbank(256 * 256 * 4) ;262144 bytes belegt
;erste byte = tile gfx nummer
;00000000 00000000 00000000 = die restlichen sind flags
;                  |   ||||
;                  |   |||\_player kann sich durch diese tile bewegen
;                  |   ||\__monster kann sich durch diese tile bewegen
;                  |   |\___diese tile ist animiert
;                  \___\____animations frame... (32 frames, max) ignoriert wenn nicht animiert

;hole die genau richtige zelle:
tiledata = peekint(bank, (x + y * 256) * 4)

;hole die daten
tilegfxnr = tiledata and $000000ff
playerdarfdurch = (tiledata and $00000100) shr 8
monsterdarfdurch = (tiledata and $00000200) shr 9
animiert = (tiledata and $00000400) shr 10
animationframe = (tiledata and $0000f800) shr 11
Norweger...

Spreche aber verdammt gut 8086

TheShadow

Moderator

BeitragMo, Nov 08, 2004 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
schau dir mal CreateBank-Befehl in der Hilfe genauer an... da sind Formeln...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group