hi, i managed to create a 3D world with movement etc.
now the question, whats the best way to check collisions.
I'm very happy bout panoramic, great work. And excuse my english, i'm from austria. ^^
move the mouse to change the angel and use arrow keys to move.
dim kamerax,kameray,kameraz
dim aimedx,aimedy,aimedz
dim dxx,dxy:dxx=800:dxy=600:rem *****größe für das 3D Fenster
dim Kamerasichtwinkel
scene3d 1
height 1,dxy
width 1,dxx
color 1,0,0,0
width 0,1024 :rem ***********0 = form
height 0,768
rem ***** Dungeon kreiren *******************************************************
dim dungeonmaxx, dungeonmaxy, dungeonmaxz
dungeonmaxx = 10: dungeonmaxy = 0: dungeonmaxz = 10
dim x,y,z :rem *****für die aktuellen Positionen
dim anzahl_3d_Objekte:anzahl_3d_Objekte = 1
dim aktuellerinhalt
for z = 0 to dungeonmaxz
for y = 0 to dungeonmaxy
for x = 0 to dungeonmaxx
aktuellerinhalt = int(rnd(1)*2)
if aktuellerinhalt = 1
3d_box anzahl_3d_Objekte,1,1,1
3d_x_position anzahl_3d_objekte,x
3d_y_position anzahl_3d_objekte,y
3d_z_position anzahl_3d_objekte,z
end_if
anzahl_3d_objekte = anzahl_3d_objekte + 1
next x
next y
next z
rem ----main-------------------------------------------
while scancode <> 27
rem ****** nach vorne (Pfeil oben) *****
if scancode = 38
kameraz = kameraz + (sin(kamerasichtwinkel*3.1415/180))/100
kamerax = kamerax + (cos(kamerasichtwinkel*3.1415/180))/100
end_if
rem ***** nach hinten (Pfeil unten) *****
if scancode = 40
kameraz = kameraz - (sin(kamerasichtwinkel*3.1415/180))/100
kamerax = kamerax - (cos(kamerasichtwinkel*3.1415/180))/100
end_if
rem ***** nach links (Pfeil links) *****
if scancode = 37
kameraz = kameraz + (sin((kamerasichtwinkel-90)*3.1415/180))/100
kamerax = kamerax + (cos((kamerasichtwinkel-90)*3.1415/180))/100
end_if
rem ***** nach rechts (Pfeil rechts) *****
if scancode = 39
kameraz = kameraz + (sin((kamerasichtwinkel+90)*3.1415/180))/100
kamerax = kamerax + (cos((kamerasichtwinkel+90)*3.1415/180))/100
end_if
rem ******nach links drehen********
if mouse_x_position(1) < dxx/4
kamerasichtwinkel = kamerasichtwinkel - .1
if kamerasichtwinkel < 0 then kamerasichtwinkel = 360
end_if
rem ******nach rechts drehen*****
if mouse_x_position(1) > 600
kamerasichtwinkel = kamerasichtwinkel + .1
if kamerasichtwinkel > 360 then kamerasichtwinkel = 0
end_if
aimedx = kamerax+cos(kamerasichtwinkel*3.1415/180)
aimedz = kameraz+sin(kamerasichtwinkel*3.1415/180)
cam_position kamerax,kameray,kameraz
point_position aimedx,aimedy,aimedz
print_locate 0,dxy
print " "
print " "
print_locate 0,dxy
print "kameraxpos: ";kamerax
print "kamerazpos: ";kameraz
end_while
terminate