THANK YOU VERY MUCH FOR THIS CODE - ITS PERFECT
i modified it this way, i think you will like it:
define _camera_dist_min, 64;
define _camera_dist_max, 512;
var camera_dist = _camera_dist_max;
function Camera_Collision()
{
var camera_dist_traced;
trace_mode = ignore_me + ignore_models + ignore_passable + use_box;
camera_dist_traced = trace(player.x, camera.x);
if(camera_dist_traced != 0)
{
camera.x = player.x - camera_dist_traced * cos(camera.pan) * cos(camera.tilt);
camera.y = player.y - camera_dist_traced * sin(camera.pan) * cos(camera.tilt);
camera.z = player.z - camera_dist_traced * sin(camera.tilt);
}
}
function camera_move
{
while(1)
{
if(mouse_left)
{
camera.pan -= 50 * mouse_force.x * time;
camera.tilt = min(max(ang(camera.tilt + 50 * mouse_force.y * time),-90),15);
}
camera_dist = min(max(camera_dist + mickey.z * time,_camera_dist_min),_camera_dist_max);
camera.x = player.x - camera_dist * cos(camera.pan) * cos(camera.tilt);
camera.y = player.y - camera_dist * sin(camera.pan) * cos(camera.tilt);
camera.z = player.z - camera_dist * sin(camera.tilt);
Camera_collision();
wait(1);
}
}
while pressing mouse_left you can change the camera pan AND TILT
with mouse wheel you can change the camera dist!
i think is a littlebit more usable...
Last edited by kasimir; 02/21/06 21:41.