Game Development Reference
In-Depth Information
var v3_left : Vector3 = new Vector3(transform.position.x -
(collider.bounds.size.x*0.45), transform.position.y, transform.
position.z);
if (Physics.Raycast (transform.position, v3_hit, hit, 2.5,
layerMask.value)) {
b_isJumping = false;
} else if (Physics.Raycast (v3_right, v3_hit, hit, 2.5,
layerMask.value)) {
if (b_isJumping) {
b_isJumping = false;
}
} else if (Physics.Raycast (v3_left, v3_hit, hit, 2.5,
layerMask.value)) {
if (b_isJumping) {
b_isJumping = false;
}
} else {
if (!b_isJumping) {
if (Mathf.Floor(transform.position.y) == f_lastY) {
b_isJumping = false;
} else {
b_isJumping = true;
}
}
}
f_lastY = Mathf.Floor(transform.position.y);
//Update Main Camera
mainCamera.transform.position = new Vector3(transform.
position.x, transform.position.y, mainCamera.transform.
position.z);
}
5. This is a very nice funcion that will allow us to debug our game, the result of which
we won't see in the real game. Let's add the following block of code:
public function OnDrawGizmos() : void {
mesh = GetComponent(MeshFilter).sharedMesh;
f_height = mesh.bounds.size.y* transform.localScale.y;
var v3_right : Vector3 = new Vector3(transform.position.x +
(collider.bounds.size.x*0.45), transform.position.y, transform.
position.z);
var v3_left : Vector3 = new Vector3(transform.position.x -
(collider.bounds.size.x*0.45), transform.position.y, transform.
position.z);
Gizmos.color = Color.red;
Gizmos.DrawRay(transform.position, transform.TransformDirection
(-Vector3.up) * (f_height * 0.5));
Gizmos.DrawRay(v3_right, transform.TransformDirection (-Vector3.
up) * (f_height * 0.5));
 
Search WWH ::




Custom Search