Well I am using a gun that when you hit Alt the screen zooms in for a scope. It works fine. But I also have a cross hair for when you are not using the scope. When you zoom in with the Alt key the cross hair gets mixed up with the gun scope and looks bad. Iam looking for a attachment to this script that will help me make the crosshair go away when I use my gun scope and come back when I am not using it. Thanks.
The Crosshair Script-
var crosshair01 : GUITexture;
var FpsPlayer;
function Start() {
FpsPlayer = GameObject.FindWithTag("Player");
}
function OnMouseOver () {
var targetDistance = Vector3.Distance(FpsPlayer.transform.position, transform.position);
if(targetDistance < 12.0){
crosshair01.guiTexture.color = Color(1,0,0,0.5);
}
}
function OnMouseExit () {
crosshair01.guiTexture.color = Color(1,1,1,0.5);
}
The Gun Scope Script-
var gun : Transform;
var nextPos = 0.0;
var nextField = 40.0;
var nextPos2 = -0.2;
var dampVelocity = 0.4;
var dampVelocity2 = 0.4;
var dampVelocity3 = 0.4;
var FPSWalker : float;
function Update () {
var newPos = Mathf.SmoothDamp(gun.transform.localPosition.x, nextPos, dampVelocity, .3);
var newField = Mathf.SmoothDamp(Camera.main.fieldOfView, nextField, dampVelocity2, .3);
var newPos2 = Mathf.SmoothDamp(gun.transform.localPosition.y, nextPos2, dampVelocity3, .3);
gun.transform.localPosition.x = newPos;
gun.transform.localPosition.y = newPos2;
Camera.main.fieldOfView = newField;
if (Input.GetButton("Fire2")) {
//adjust viewpoint and gun position
nextField = 40.0;
nextPos = -0.06;
nextPos2 = -0.2;
//slow down turning and movement speed
GetComponent(CharacterMotor).Movement.maxForwardSpeed = 1.5;
GetComponent("MouseLook").sensitivityX = 2;
camera.main.GetComponent("MouseLook").sensitivityX = 2;
camera.main.GetComponent("MouseLook").sensitivityY = 2;
} else {
//adjust viewpoint and gun position
nextField = 60.0;
nextPos = 0.5;
nextPos2 = -0.4;
//speed up turning and movement speed
GetComponent(CharacterMotor).Movement.maxForwardSpeed = 6;
GetComponent("MouseLook").sensitivityX = 6;
camera.main.GetComponent("MouseLook").sensitivityX = 6;
camera.main.GetComponent("MouseLook").sensitivityY = 6;
}
}
Thanks,
Nick