Hallo,
mein ziel ist folgendes:
ich habe ne map die ist 64X21 Pixel groß
und habe ein Sichtfenster das ist 39X21 Pixel groß
und der player steht jetzt bei z.b. X50 Y10
der player wird richtig getzt, aber der ausschnitt aus dem 2D array ist falsch.
und ich weiß einfach nicht warum.
bis jetzt konnte keiner dieses problem lösen.
habe schon mehre leute gefragt(auch im IRC)
dabei muss es sich um ein einfaches Mahte problem handeln.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| var x,y,i,p,m:Integer; begin GLXDraw.Clear;
if Player.Players[Player.index].x-Player.DX >= 0 then p:=(Player.Players[Player.index].x-Player.DX) else p:=0;
for x:=0 to MapX do begin for y:=0 to MapY do begin
if Karte[x,y].typ > -1 then begin for i:=0 to High(Karte[x,y].Tex) do begin if x-p >0 then m:=x-p else m:=p-x; if p > 0 then GLXImageList.Items[Karte[x,y].typ].Draw(m * MapS,Y*MapS,Karte[x,y].Tex[i] ) else GLXImageList.Items[Karte[x,y].typ].Draw( X*MapS,Y*MapS,Karte[x,y].Tex[i] )
end; end;
end; end; |
warum geht das nicht?
er zeichnet nicht richtig !!!