Codice: Seleziona tutto
d3d_draw_ellipsoid(x-2,y-2,depth-2,x+2,y+2,depth+2,tex,1,1,8)
Per crearla(usato solo 1 volta ad inizio gioco)
Codice: Seleziona tutto
var prec,maxHeight,xFor,yFor;
prec=argument1;
maxHeight=argument0;
xFor=floor(room_width/prec);
yFor=floor(room_height/prec);
for(i=0;i<(xFor);i++)
{
for(j=0;j<yFor;j++)
{
global.arrayZpos[i,j]=irandom_range(maxHeight,0);
}
}
Codice: Seleziona tutto
d3d_camera_projection()
///drawGenMap(prec);
var prec,xNum,yNum,arrayLenght;
prec=argument0;
xNum=floor(room_width/prec)
yNum=floor(room_height/prec)
arrayLenght=array_length_1d(global.arrayZpos);
for(i=0;i<xNum;i++)
{
for(j=0;j<yNum;j++)
{
d3d_draw_block(prec*i-prec/2,prec*j-prec/2,0,prec*i+prec/2,prec*j+prec/2,global.arrayZpos[i,j],background_get_texture(tex_map),1,1);
}
}
Codice: Seleziona tutto
d3d_set_projection(obj_camera.x,obj_camera.y,obj_camera.depth,obj_camera.x+cos(degtorad(obj_camera.direction))*48,obj_camera.y-sin(degtorad(obj_camera.direction))*48,obj_camera.depth+obj_camera.pointZ,0,0,-1)
pointZ è una variabile che uso per vedere dove sta guardando il giocatore in verticale
yNum,xNum,xFor,yFor li uso per vedere quanti blocchi in verticale e orizzontale devo mettere nella room
L'unica cosa che mi viene in mente che potrei provare è far creare un modello 3D della mappa e far disegnare quello al posto di far disegnare ogni volta ogni singolo blocco