- Home /
Question by
TheDividedSegment · Feb 14, 2014 at 01:24 AM ·
accessing from any scriptslowing-downstop animationswont stopforce stop
Input.ResetInputAxes Doesn't Stop From Moving?
I've added that line of code hoping to stop my character from moving, but it only stops my camera from moving. I can still use WASD to walk around and space to jump and everything. It slows down the movement but it doesn't completely stop it. When I use it in ThirdPersonController.js it works but when I use it in my PlayerHealth.cs script, it doesn't work. Here is my code for PlayerHealth.cs, (The file i'm trying to get it to work in)
using UnityEngine;
using System.Collections;
public class PlayerHealth : MonoBehaviour {
public int maxHealth = 100;
public int curHealth = 100;
public GameObject Enemy;
public float healthBarLength;
private bool isControllable = true;
void Start () {
healthBarLength = Screen.width / 2;
}
void Update () {
AddjustCurrentHealth(0);
if (!isControllable)
{
// kill all inputs if not controllable.
Input.ResetInputAxes();
}
}
void OnGUI(){
GUI.Box(new Rect(100, 200, healthBarLength, 20), curHealth + "/" + maxHealth);
}
public void AddjustCurrentHealth(int adj) {
curHealth += adj;
if(curHealth < 0)
curHealth = 0;
if(curHealth > maxHealth)
curHealth = maxHealth;
if(maxHealth < 1)
maxHealth = 1;
healthBarLength = (Screen.width / 2) * (curHealth / (float)maxHealth);
if(curHealth <= 0) {
animation.CrossFade("Dead");
isControllable = false;
}
if (curHealth <= 0) {
DestroyImmediate(Enemy, true);
}
}
}
Comment