Warum geht das nicht?
Übersicht

![]() |
@ndinhoBetreff: Warum geht das nicht? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 1024,768,16,1
tileset = LoadAnimImage("tileset.bmp",100,100,0,7) Dim map(7,7) Data 7, 5, 3, 7, 7, 7 Data 7, 6, 6, 7, 7, 7 Data 7, 6, 6, 7, 7, 7 Data 7, 6, 4, 2, 2, 3 Data 7, 4, 2, 2, 2, 1 Data 7, 7, 7, 7, 7, 7 For y = 0 To 7 For x = 0 To 7 Read map(x,y) Next Next Repeat SetBuffer BackBuffer() If KeyDown(1) Then End Cls For y = 0 To 7 For x = 0 To 7 DrawImage tileset,x*100,y*100,map(x,y) Next Next Flip Forever Bei mir steht dann immer: Out of Data Was mache ich falsch? |
||
User posted image
Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800 Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic ![]() |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du machst:
for i = 0 to 7 .... -> d.h 0,1,2,3,4,5,6,7 = 8 und du gibst nur 6*6 werte an: du brauchst 8*8 du greifst in deiner schleife danach auf nicht vorhandene werte zu. |
||
- Zuletzt bearbeitet von noir am So, Dez 12, 2004 13:00, insgesamt einmal bearbeitet
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du brauchst 8*8 Werte ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ups, tippfehler!! sry. | ||
![]() |
@ndinho |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 1024,768,16,1
tileset = LoadAnimImage("tileset.bmp",100,100,0,7) Dim map(8,8) Data 7, 5, 3, 7, 7, 7 Data 7, 6, 6, 7, 7, 7 Data 7, 6, 6, 7, 7, 7 Data 7, 6, 4, 2, 2, 3 Data 7, 4, 2, 2, 2, 1 Data 7, 7, 7, 7, 7, 7 For y = 0 To 8 For x = 0 To 8 Read map(x,y) ;<--------------Hier steht Out of Data Next Next Repeat SetBuffer BackBuffer() If KeyDown(1) Then End Cls For y = 0 To 8 For x = 0 To 8 DrawImage tileset,x*100,y*100,map(x,y) Next Next Flip Forever Es funktioniert immer noch nicht.... |
||
User posted image
Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800 Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic ![]() |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es kann ja net gehen du hast ja das falsche geändert................
For y = 0 To 8 For x = 0 To 8 falsch!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! dafür würdes du 9*9 werte brauchen entweder du änderst dies in: For y = 0 To 5 For x = 0 To 5 oder du muss deine datafelder erweitern nochma zum mitschreiben: data 1,2,3,4,5,6,7,8,9 das sind 9 werte du hast nur 6. und da deine forschleife bei 0 anfängt würdest du noch einen wert mehr brauchen |
||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok vielleicht verstehst du es so besser:
der fehler liegt einfach daran das du zuwenige daten in deinem data feld hast. klar? wenn du for i = 0 to 8 hast liest der computer 9 werte aus deinem data feld aus, du hast aber nur 6 also kommt eine fehlermeldung! |
||
![]() |
@ndinho |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir kommt immer eine andere Fehlermeldung, dieses mal zum Beispiel
Code: [AUSKLAPPEN] Graphics 1024,768,16,1
tileset = LoadAnimImage("tileset.bmp",100,100,0,7) Dim map(7,7) Data 7, 5, 3, 7, 7, 7 Data 7, 6, 6, 7, 7, 7 Data 7, 6, 6, 7, 7, 7 Data 7, 6, 4, 2, 2, 3 Data 7, 4, 2, 2, 2, 1 Data 7, 7, 7, 7, 7, 7 For y = 0 To 5 For x = 0 To 5 Read map(x,y) Next Next Repeat SetBuffer BackBuffer() If KeyDown(1) Then End Cls For y = 0 To 5 For x = 0 To 5 DrawImage tileset,x*100,y*100,map(x,y) ;<------------ image frame out of range Next Next Flip Forever |
||
User posted image
Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800 Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic ![]() |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 1024,768,16,1
tileset = LoadAnimImage("tileset.bmp",100,100,0,7) Dim map(8,8) .map Data 7, 5, 3, 7, 7, 7 Data 7, 6, 6, 7, 7, 7 Data 7, 6, 6, 7, 7, 7 Data 7, 6, 4, 2, 2, 3 Data 7, 4, 2, 2, 2, 1 Data 7, 7, 7, 7, 7, 7 restore map For y = 0 To 5 For x = 0 To 5 Read map(x,y) Next Next Repeat SetBuffer BackBuffer() If KeyDown(1) Then End Cls For y = 0 To 8 For x = 0 To 8 DrawImage tileset,x*100,y*100,map(x,y) Next Next Flip Forever so funzt das jedenfalls jetzt bei mir! Fehlermeldung:"Image does not exist! |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
- Zuletzt bearbeitet von Waveblue am So, Dez 12, 2004 17:17, insgesamt 2-mal bearbeitet
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
der code stimmt jetzt:
es kann nur noch daran liegen: LoadAnimImage("tileset.bmp",100,100,0,7) poste ma die fehlermeldung es kann sein das die grafik z.b zu klein. |
||
getlose |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: image frame out of range
ja, dann weißt du doch jetzt was los ist, hast es doch selbst dahin geschrieben. |
||
![]() |
@ndinho |
![]() Antworten mit Zitat ![]() |
---|---|---|
das schon, aber ich weiß nicht, was das für ein Fehler ist ![]() |
||
User posted image
Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800 Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic ![]() |
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wieviele Frames hat den Dein Tile, 7 oder ?
Dann noch, setbuffer backbuffer() kommt nicht in den Mainloop, setze es gleich unter Graphics. Lade doch einfach mal das Bild hoch, dann kann es beser verfolgen. Edit: Lerne auch noch den Debugger zu benutzen, der kann einen echt gut helfen . |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ndinho dein code war richtig, bis auf die grafik vielleicht
aber @waveblue du hast einen hammermäßigen fehler reingehauen!!!!!!!!!!!!!!!! |
||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du darfst du nicht restore in die schleife setzten, da wird das datafeld doch immer wieder von vorne ausgelesen.
sonst kämme es ja auch zu einer fehlermeldugn. du hast ja eine schleife 0-8 und auch wieder zu wenig data werte, nur durch deinen zweiten fehler mit dem restore taucht der erste fehler nicht auf... und der zweite fehler is ein logischer fehler... der code läuft aber völlig falsch ![]() For y = 0 To 8 For x = 0 To 8 Restore map <------------ fehler Read map(x,y) Next Next das das keiner gemerkt hat.......... |
||
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
hoppla, mein fehler ![]() Code: [AUSKLAPPEN] Graphics 1024,768,16,1
tileset = LoadAnimImage("tileset.bmp",100,100,0,7) Dim map(7,7) Data 7, 5, 3, 7, 7, 7 ,2,2 Data 7, 6, 6, 7, 7, 7 ,2,2 Data 7, 6, 6, 7, 7, 7 ,2,2 Data 7, 6, 4, 2, 2, 3 ,2,2 Data 7, 4, 2, 2, 2, 1 ,2,2 Data 7, 7, 7, 7, 7, 7 ,2,2 Data 7, 4, 2, 2, 2, 1 ,2,2 Data 7, 7, 7, 7, 7, 7 ,2,2 For y = 0 To 7 For x = 0 To 7 Read map(x,y) Next Next Repeat SetBuffer BackBuffer() If KeyDown(1) Then End Cls For y = 0 To 8 For x = 0 To 8 DrawImage tileset,x*100,y*100,map(x,y) Next Next Flip Forever Du hast einfach mehr datas gelesen, als da sind! ![]() Ein Dim-Feld(7,7) hat übrigens 8*8 Spalten! Die 0.Spalten nämlich ! |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
- Zuletzt bearbeitet von Waveblue am So, Dez 12, 2004 17:28, insgesamt 2-mal bearbeitet
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erst denken, dann coden:BlitzBasic: [AUSKLAPPEN] Graphics 1024,768,16,1 |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jetzt muss ich wohl auch noch was zum besten geben *g
REPEAT IF KEYDOWN(1) THEN END FOREVER das würde ich einfach in repeat until keyhit(1) end ändern, is kürzer und nimm nicht so ne große auflösung,wenn du ein jump and run spiel machen willst oder so, reicht 800*600 massig. bei 1024*769 kannst du ja das ganze level auf einem bildschirm anzeigen ![]() |
||
![]() |
@ndinho |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, es funzt!!!!
So ein Forum ist doch was geiles!!! |
||
User posted image
Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800 Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic ![]() |
![]() |
@ndinho |
![]() Antworten mit Zitat ![]() |
---|---|---|
jetzt hab ich aber ein anderes Problem:
Ich will für meinen Vater zu weihnachten ein kleines Rennspiel machen. Für die Strecke brauchte ich das tileset und wenn ich das Spiel starte, erscheint erst das Auto und wenn ich auf esc klicke erscheint erst die Strecke Code: [AUSKLAPPEN] Graphics 640, 480
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Grafiken ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; hintergrund = LoadImage("hintergrund.bmp") links = LoadImage("Data/Grafiken/links.bmp") rechts = LoadImage("Data/Grafiken/rechts.bmp") strecke1 = LoadImage("strecke.bmp") a=LoadImage("Data/Grafiken/fahrtrichtung/vorne.bmp") b=LoadImage("Data/Grafiken/fahrtrichtung/unten.bmp") c=LoadImage("Data/Grafiken/fahrtrichtung/rechts.bmp") d=LoadImage("Data/Grafiken/fahrtrichtung/links.bmp") SetBuffer BackBuffer() Repeat Cls speed = 1 If KeyHit(200) Or JoyY()<-0.5 dir=0 If KeyHit(205) Or JoyX()>0.5 dir=1 If KeyHit(208) Or JoyY()>0.5 dir=2 If KeyHit(203) Or JoyX()<-0.5 dir=3 Select dir Case 0 y=y-speed Case 1 x=x+speed Case 2 y=y+speed Case 3 x=x-speed End Select If dir=0 DrawImage a,x,y If dir=1 DrawImage c,x,y If dir=2 DrawImage b,x,y If dir=3 DrawImage d,x,y Flip Until KeyHit(1) ; Hier den Buffer wählen tileset = LoadAnimImage("tileset.bmp",100,100,0,7) Dim map(5,5) ; Speicherplatz ist wertvoll Data 6,4,2,6,6,6 ; Data-Feld berichtigt Data 6,5,5,6,6,6 Data 6,5,5,6,6,6 Data 6,5,3,1,1,2 Data 6,3,1,1,1,0 Data 6,6,6,6,6,6 For y = 0 To 5 For x = 0 To 5 Read map(x,y) Next Next Repeat If KeyDown(1) Then End Cls For y = 0 To 5 For x = 0 To 5 DrawImage tileset,x*100,y*100,map(x,y) Next Next Flip Forever |
||
User posted image
Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800 Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic ![]() |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group