|
Verfasser |
Nachricht |
SIM sk
Experte
Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 135
|
[LUA] frage zu Tile maps
wie ihr im bild sieht ist das häuschen nicht direkt am Rand. Deshalb meine Frage, was ich in meinem Code ändern muss.
Code:
map={
{z1 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z3}, --Zeile 1
{z4 ,h1 ,h2 ,h2 ,h3 ,h4 ,h5 ,h5 ,h5 ,h5 ,h6 ,z6}, --Zeile 2
{z4 ,h7 ,h8 ,h9 ,h10,h11,h12,h12,h12,h12,h13,z6}, --Zeile 3
{z4 ,h14,h15,h16,h17,h18,h19,h19,h19,h19,h20,z6}, --Zeile 4
{z4 ,h21,h22,h23,h24,h25,h26,h27,h27,h28,h29,z6}, --Zeile 5
{z4 ,h30,h31,h32,h33,h34,h35,h36,h36,h37,z5, z6}, --Zeile 6
{z7 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z9}, --Zeile 7
}
while true do
for c = 1,7 do
for d = 1,12 do
screen:blit(d*16,c*16,map[c][d],false)
end
end
screen.flip()
screen.waitVblankStart()
end
|
|
24.10.2012 16:36 |
|
|
|
Nome
Legende
Beiträge: 1.207
Gruppe: User
Registriert seit: Jun 2012
Status:
Offline
Danke erhalten: 364
|
RE: [LUA] frage zu Tile maps
screen:blit(d*16,c*16,map[c][d],false)
Ich glaube, dass du da etwas ändern musst.
Määäääääääääääääääääääääääääääà ¤Ã¤Ã¤Ã¤Ã¤
ääääääääääääääääääääääääääääää äääää
ääääääääääääääääääääääääääääää äääää
ääääääääääääääääääääääääääääää äääää
ääääääääääääääääääääääääääääää äääää
ääääääääääääääääääääääääääääää äääää
ääääääääääääääääääääääääääääää äääää
|
|
24.10.2012 17:15 |
|
|
|
SIM sk
Experte
Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 135
|
RE: [LUA] frage zu Tile maps
screen:blit(d*16,c*16,map[c][d],false)
Ich glaube, dass du da etwas ändern musst.
wahrscheinlich, da in den anderen Zeilen nicht soviel info ist
aber ich wüste gerne genau was, da ich es nicht finde
|
|
24.10.2012 17:18 |
|
|
|
FinalFantasyFanNr.2
Profi
Beiträge: 280
Gruppe: User
Registriert seit: Jan 2011
Status:
Offline
Danke erhalten: 76
|
RE: [LUA] frage zu Tile maps
for c = 1,7 do
for d = 1,12 do
screen:blit(d*16,c*16,map[c][d],false)
end
end
For-Schleifen fängt man eigentlich immer mit 0 an. Also:
for c = 0,7 do
for d = 0,12 do
screen:blit(d*16,c*16,map[c][d],false)
end
end
|
|
24.10.2012 18:26 |
|
Folgende User bedanken sich: |
|
CChako
Experte
Beiträge: 621
Gruppe: User
Registriert seit: Dec 2011
Status:
Abwesend
Danke erhalten: 381
|
RE: [LUA] frage zu Tile maps
wie ihr im bild sieht ist das häuschen nicht direkt am Rand. Deshalb meine Frage, was ich in meinem Code ändern muss.
Code:
map={
{z1 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z2 ,z3}, --Zeile 1
{z4 ,h1 ,h2 ,h2 ,h3 ,h4 ,h5 ,h5 ,h5 ,h5 ,h6 ,z6}, --Zeile 2
{z4 ,h7 ,h8 ,h9 ,h10,h11,h12,h12,h12,h12,h13,z6}, --Zeile 3
{z4 ,h14,h15,h16,h17,h18,h19,h19,h19,h19,h20,z6}, --Zeile 4
{z4 ,h21,h22,h23,h24,h25,h26,h27,h27,h28,h29,z6}, --Zeile 5
{z4 ,h30,h31,h32,h33,h34,h35,h36,h36,h37,z5, z6}, --Zeile 6
{z7 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z8 ,z9}, --Zeile 7
}
while true do
for c = 1,7 do
for d = 1,12 do
screen:blit(d*16,c*16,map[c][d],false)
end
end
screen.flip()
screen.waitVblankStart()
end
Wie werden denn die Koordinaten z.B. der Textur z1 berechnet?
Für z1 gilt c = 1, d = 1
Wenn wir das jetzt in unseren blit-Befehl eingeben kommt folgendes raus:
screen:blit(1*16,1*16,map[1][1],false) raus
-> screen:blit(16,16,map[1][1],false)
Somit wird die Textur z1 an der Stelle X = 16 und Y = 16 angezeigt.
Damit diese Textur jetzt die linke obere Ecke ganz ausfüllt müssen wir den Code so ändern, dass unser blit-Befehl die Koordinaten 0,0 bekommt.
Also muss aus:
for c = 1,7 do
for d = 1,12 do
das hier werden:
for c = 0,6 do
for d = 0,11 do
Hoffe mal das ist richtig was ich gelabert habe xD
Viel Glück noch bei deinem Projekt
Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2012 19:20 von CChako.
|
|
24.10.2012 19:20 |
|
Folgende User bedanken sich: |
|
SIM sk
Experte
Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 135
|
RE: [LUA] frage zu Tile maps
für diese zeile:
screen:blit(d*16,c*16,map[c][d],false)
bekomme ich trotzdem eine fehlermeldung: attempt to index field '?' (a nil value)
|
|
27.10.2012 07:54 |
|
|
|
duLouser
Halbprofi
Beiträge: 138
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 49
|
RE: [LUA] frage zu Tile maps
Hast du nachdem du die Schleifen vond c und d geändert hast auch die zuweisung der Werte für map geändert?
Wenn nein, liegts wohl daran, dass map für den Wert 0 nichts hat...
Wenn ja, dann egal ^^
Das Leben ist ein scheiß Spiel, aber die Grafik ist Geil!!!
Blade! 0.7
|
|
27.10.2012 22:23 |
|
|
|
luaprogrammer
Durchstarter
Beiträge: 53
Gruppe: User
Registriert seit: Jun 2012
Status:
Offline
Danke erhalten: 9
|
RE: [LUA] frage zu Tile maps
Oh mann ><
so schwer ist des doch auch net
statt dem code:
screen:blit(d*16,c*16,map[c][d],false)
musst du
screen:blit(d*16-16,c*16-16,map[c][d],false)
schreiben.
Ich werd jetzt nicht sagen warum, das sollte ja eigentlich demjenigen, der mir schon in sovielen Lua code fragen geholfen hat, selbst einfallen
Nunja, nun werd ich mal auch ne frage posten wie mann ne Tilemap-collision macht ;D
Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2012 18:39 von luaprogrammer.
|
|
02.12.2012 18:38 |
|
|
|