Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: C :: Graphics.h/.c - MapSystem?
ohje, vor dem problem saß ich acuh schon. ich habs so gelöst:
ich hab erstmal 4 verschiedene Layer, 2 bildlayer untermm spieler, ein Bildlayer über der Figur und eine Kollisionsebene. Dafür muss ich erstmal einige variablen definieren:
Image *world, *tiles[16][15], *upperlayer[16][15], *middlelayer[16][15];
dann habe ich die verschiedenen layer definiert, also welches bild-teil an welcher stelle der map sitzen soll:
int map[18][30][2]={{{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,8},{0,8},{14,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,8},{0,8},{14,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,9},{10,9},{14,9},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,9},{10,9},{14,9},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,10},{10,10},{14,10},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,10},{10,10},{14,10},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,10},{10,10},{14,10},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,10},{10,10},{14,10},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,11},{10,10},{14,11},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,11},{10,10},{14,11},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,8},{0,8},{14,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,8},{0,8},{14,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,9},{10,9},{14,9},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,9},{10,9},{14,9},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,10},{10,10},{14,10},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,10},{10,10},{14,10},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,10},{10,10},{14,10},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,10},{10,10},{14,10},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,11},{10,10},{14,11},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{12,11},{10,10},{14,11},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}, {{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8},{0,8}}}; int upper[18][30][2]={{{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{0,0},{1,0},{2,0},{3,0},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{0,1},{1,1},{2,1},{3,1},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{0,2},{1,2},{2,2},{3,2},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{0,3},{1,3},{2,3},{3,3},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}}; int middle[18][30][2]={{{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{12,7},{13,7},{14,7},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{12,7},{13,7},{14,7},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{0,1},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{12,7},{13,7},{14,7},{16,16},{16,16},{16,16},{16,16},{0,0},{1,0},{2,0},{3,0},{16,16},{16,16},{16,16},{16,16},{12,7},{13,7},{14,7},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}, {{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16},{16,16}}}; int collusion[18][30]= {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
jetzt lasse ich das programm ein paar generelle infos zur map zukommen, z.b. wie breit und hoch diese ist, und wo sich die kamera zurzeit befinden:
mapbreite=(sizeof(map[0])*2)/(sizeof(int)*sizeof(int)); maphoehe=sizeof(map)/(mapbreite*sizeof(int)*2); randx=mapbreite*32; randy=maphoehe*32; quellx=0; quelly=0;
als nächstes müssen dem programm die Bilder gegeben werden, die Bilder werden dabei in teilstücken (bei mir in 32*32 pixel rechtecken). alle Bilder-teile einer ebene sind in einem Bild, welches dann halt in 32*32 pixel tiles aufgeteilt wird, das sieht bei mir so aus:
char buffer[64]; sprintf(buffer, "tilesets\\world.png"); world = loadImage(buffer); int t,z; for(t=0;t<16;t++){ for(z=0;z<15;z++){ tiles[t][z] = createImage(32,32); blitImageToImage(z*32, t*32, 32, 32, world, 0, 0,tiles[t][z]); } } sprintf(buffer,"tilesets\\upperlayer.png"); world=loadImage(buffer); for(t=0;t<16;t++){ for(z=0;z<15;z++){ upperlayer[t][z] = createImage(32,32); blitImageToImage(z*32, t*32, 32, 32, world, 0, 0,upperlayer[t][z]); } } sprintf(buffer,"tilesets\\middlelayer.png"); world=loadImage(buffer); for(t=0;t<16;t++){ for(z=0;z<15;z++){ middlelayer[t][z] = createImage(32,32); blitImageToImage(z*32, t*32, 32, 32, world, 0, 0,middlelayer[t][z]); } }
und dann gilt es halt noch funktionen zu schreiben, welche die nun geladene map dann auch richtig zeichnen:
void drawsupperlayer(){ int t,z,r,w; for(t=0;t<18;t++){ for(z=0;z<30;z++){ r=z*32+quellx; w=t*32+quelly; if(map[t][z][1]<16 && map[t][z][0]<16 && r>=-32 && w>=-32 && r<=512 && w<=304) blitAlphaImageToScreen(z*32 ,t*32 ,32 , 32, tiles[map[t][z][1]][map[t][z][0]], r, w); if(middle[t][z][1]<16 && middle[t][z][0]<16 && r>=-32 && w>=-32 && r<=512 && w<=304) blitAlphaImageToScreen(z*32 ,t*32 ,32 , 32, middlelayer[middle[t][z][1]][middle[t][z][0]], r, w); } } } void drawupperlayer(){ int t,z,r,w; for(t=0;t<18;t++){ for(z=0;z<30;z++){ r=z*32+quellx; w=t*32+quelly; if(upper[t][z][1]<16 && upper[t][z][0]<16 && r>=-32 && w>=-32 && r<=512 && w<=304) blitAlphaImageToScreen(z*32 ,t*32 ,32 , 32, upperlayer[upper[t][z][1]][upper[t][z][0]], r, w); } } }
damit das funktioniert müssen im programm die variablen quellx und quelly richtig gehandlet werden. z.b. wenn der spieler sich 64 pixel von der mitte des bildschirms aus gesehen nach rechts bewegt, muss quellx = -64 sein. Deshalb ist bei meinem programm das handlen von quellx und quelly auch in der funktion zur figurbewegung.
GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
|
|