All pastes #740366 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-10-17 21:38 UTC
rendered paste body
`object handler
backdrop off
sync on
`set display mode 1024,786,32
type object
objectid as integer
name$ as string
x as float
y as float
z as float
visible as integer
endtype



dim objects_on_screen(-1) as object


do
`cls
print_info()
`print_objects_to_screen()
mouse_control()




sync
loop
wait key
end



function add_object_to_screen(name$ as string,x as integer,y as integer, z as integer, visible as integer) 
	`this function will add objects to the array, checking first or a new row is needed
	
		
			array_size = array count(objects_on_screen())
			newsize = array_size + 1
			objct_id = newsize + 1
			array insert at bottom objects_on_screen()
				objects_on_screen(newsize).objectid=objct_id
				objects_on_screen(newsize).name$=name$
				objects_on_screen(newsize).x=x
				objects_on_screen(newsize).y=y
				objects_on_screen(newsize).z=z
				objects_on_screen(newsize).visible=visible
				make object cube objects_on_screen(newsize).objectid,30
			    position object objects_on_screen(newsize).objectid,objects_on_screen(newsize).x,objects_on_screen(newsize).y,objects_on_screen(newsize).z	
		
endfunction 
	
function add_object_test()
		name$ = "cube"
		x = rnd(400)
		y = rnd(400)
		z = rnd(400)
		visible = 1
		add_object_to_screen(name$,x,y,z,visible)
endfunction

function remove_object_from_screen(id as integer)
	delete object objects_on_screen(id).objectid
	array delete element objects_on_screen(),id
endfunction

function print_objects_to_screen()
	array_size = array count(objects_on_screen())
	for y=0 to array_size ` looping through the array
		
		
		
		
	next y	
endfunction

function print_info()

text 600,0,"FPS = "+str$(screen fps())	

	array_size = array count(objects_on_screen())
	
	for y=0 to array_size ` looping through the array
		text 0,y*25, "ID: "+str$(objects_on_screen(y).objectid)+" name: "+objects_on_screen(y).name$+" x pos: "+str$(objects_on_screen(y).x)+" y pos: "+str$(objects_on_screen(y).y)+" z pos: "+str$(objects_on_screen(y).z)
		
		
	next y	
endfunction

function mouse_control()
	array_size = array count(objects_on_screen())
	obj_rem = rnd(array_size)
	if mouseclick() = 1 then  add_object_test(): wait 100
	if mouseclick() = 2 then remove_object_from_screen(obj_rem): wait 100
 	
endfunction