wie bekommt man das den hin , dass nicht alle sichtbar sind , wovon du immer redes -> kartoffel laugh ?

-> ich habe jetzt den code so bearbeitet, dass wenn man
die a taste drückt ein neuer block hinter dem nächten
erzeugt wird

-> komischer weise kann ich so mehr blöcke (voxel) erzeugen,
als wenn ich das mithilfe der for-schleife versuche


Code:
#include <acknex.h>
#include <default.c>

//

var voxel_size = 2; // hier 35 für den abstand ;) 

var i = 0;


var coord_x = 0;
var coord_y = 0;
var coord_z = 0;


typedef struct VOXEL
{
	ENTITY* front;  // x-
	ENTITY* back;   // x+
	ENTITY* left;   // y+
	ENTITY* right;  // y-
	ENTITY* top;    // z+
	ENTITY* bottom; // z-
	
	
} VOXEL;


VOXEL * VoxelStructure[16][16][16]; // 2D array


void create_atom(i)
{
	int x, y, z;
	
		
	for(x = 0; x < 6; x++)
	{
		for(y = 0; y < 6; y++)
		{
		 	for(z = 0; z < 6; z++)
	   	{ 	
		  	VoxelStructure[x][y][z] = sys_malloc(sizeof(VOXEL));
			
			VoxelStructure[x][y][z].front = ent_create("atom.bmp" , vector(voxel_size *x*coord_x+2, voxel_size * y,  voxel_size * z), NULL); // seite erstellen
			VoxelStructure[x][y][z].front.pan = 180;// winkel setzen
			
			VoxelStructure[x][y][z].back = ent_create("atom.bmp" , vector(voxel_size *x*coord_x-0.001, voxel_size * y, voxel_size * z), NULL); // seite erstellen
			VoxelStructure[x][y][z].back.pan = -180; // winkel setzen
			
			VoxelStructure[x][y][z].left = ent_create( "atom.bmp" , vector(voxel_size * x *coord_x+1, voxel_size * y+1, voxel_size * z), NULL); // seite erstellen
			VoxelStructure[x][y][z].left.pan = 90; // winkel setzen
			
			VoxelStructure[x][y][z].right = ent_create( "atom.bmp", vector(voxel_size * x *coord_x+1, voxel_size * y -1, voxel_size * z), NULL); // seite erstellen
			VoxelStructure[x][y][z].right.pan = -90;  // winkel setzen
			
			VoxelStructure[x][y][z].top = ent_create( "atom.bmp", vector(voxel_size * x *coord_x+1, voxel_size * y , voxel_size * z+1), NULL); // seite erstellen
			VoxelStructure[x][y][z].top.tilt = 90;  // winkel setzen
			
			//VoxelStructure[x][y].bottom = ent_create( "test1.bmp" , vector(voxel_size * x, voxel_size * y, 0), NULL); // seite erstellen
			//VoxelStructure[x][y].bottom.xxx = ; // winkel setzen
	     }
	  }
	}
}


void main()
{
	wait(1);
	video_set(sys_metrics(0) * 0.75, sys_metrics(1) * 0.75, 0, 2);
	fps_max = 60;
	
	max_entities = 48000;
	
	level_load("test.WMB");
		wait(1); // warten bis der level geladen ist, kann sonst probleme auf langsamen rechnern / großen leveln geben
	
	create_atom(i);
	
	while(1)
	{
	 if(key_a == 1)
	 {
	  create_atom(i);
	  i+=1;
	  coord_x +=5;
	 }
	 wait(1);	
	}
}


Last edited by ratz; 09/11/13 12:51.