Can you drive it at night?
And, most important: can you drive it in less than 60 lines of code?
Code: Select all
#include "minib3d.bi"
screen 18, 32, , &h02
Graphics3d 640,480,32,1,1
var camera=createcamera()
moveentity camera,0,100,0
CameraClsColor camera,0,0,255
var light=createlight()
RotateEntity light,-45,45,0
AmbientLight 32,32,32
var terr=LoadTerrain( "hmap_1024.bmp" )
ScaleEntity terr,40,20,40
EntityTexture terr, LoadTexture("Moss.bmp")
var car=createpivot()
var car2=loadmesh("lamborgini.3ds",car)
rotatemesh car2,90,0,0
EntityRadius car,2.5
EntityType car,2
EntityType terr,1
Collisions 2,1,2,2
moveentity car,2000,100,-2000
dim as single speed, dist,xx,yy,zz
speed=.1
do
'Directions
if MultiKey(&h48) then speed=speed+.1
if MultiKey(&h50) then speed=speed-.1
if MultiKey(&h4b) then TurnEntity car,0,1,0
if MultiKey(&h4d) then TurnEntity car,0,-1,0
MoveEntity car,0,-4,speed
xx=CollisionNX(car,CountCollisions(car))
yy=CollisionNY(car,CountCollisions(car))
zz=CollisionNZ(car,CountCollisions(car))
RotateEntity car2,-57*ASin(CollisionNZ(car,CountCollisions(car))*Cos(-EntityYaw(car)/57)), 0, 57*ASin(CollisionNZ(car,CountCollisions(car))*Sin(-EntityYaw(car)/57))
PointEntity camera,car
dist=EntityDistance (camera,car)
If Dist>100 Then MoveEntity camera,0,1,0.1*(Dist-100)
updateworld
renderworld
flip
loop until MultiKey(1)
Download it here:
http://www.sendspace.com/file/1c9927
Using MiniB3D (included), both day and night versions.