Вот скрипт здоровья
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class PlayerHealth : MonoBehaviour {
//публичные переменные для настроек
public int maxHealth = 100;
//блок переменных локального пользования
public int _curHealth = 100;
private float healthBarLength;
//производятся начальные расчеты при создании объекта
void Start () {
//задаем начальную ширину бара здоровья
healthBarLength = Screen.width /2;
//предотвращаем ввод неправильного значения
//максимального значения
if(maxHealth<1) maxHealth=1;
_curHealth = maxHealth;
}
void Update () {
AddjustCurrentHealth(_curHealth);
}
// Выводится сам бар посредством графического интерфейса
//событие вывода этого интерфейса - стандартое
void OnGUI() {
//выводится бар состояния здоровья и числовые значения его
GUI.Box(new Rect(10,40,healthBarLength,20),_curHealth + "/" +maxHealth);
}
// Производим расчет нужной ширины бара состояния здоровья
//исходя из текущего состояния здоровья
public void AddjustCurrentHealth( int adj){
_curHealth = adj;
//блок по предотвращению неверного состояния здоровья
//меньше нуля и больше максимума
//так как изменяем здоровье из вне
if(_curHealth < 0) _curHealth = 0;
if(_curHealth > maxHealth) _curHealth = maxHealth;
//расчет бара непосредственно
healthBarLength = (Screen.width / 2) * (_curHealth / (float)maxHealth);
}
}
using System.Collections;
public class PlayerHealth : MonoBehaviour {
//публичные переменные для настроек
public int maxHealth = 100;
//блок переменных локального пользования
public int _curHealth = 100;
private float healthBarLength;
//производятся начальные расчеты при создании объекта
void Start () {
//задаем начальную ширину бара здоровья
healthBarLength = Screen.width /2;
//предотвращаем ввод неправильного значения
//максимального значения
if(maxHealth<1) maxHealth=1;
_curHealth = maxHealth;
}
void Update () {
AddjustCurrentHealth(_curHealth);
}
// Выводится сам бар посредством графического интерфейса
//событие вывода этого интерфейса - стандартое
void OnGUI() {
//выводится бар состояния здоровья и числовые значения его
GUI.Box(new Rect(10,40,healthBarLength,20),_curHealth + "/" +maxHealth);
}
// Производим расчет нужной ширины бара состояния здоровья
//исходя из текущего состояния здоровья
public void AddjustCurrentHealth( int adj){
_curHealth = adj;
//блок по предотвращению неверного состояния здоровья
//меньше нуля и больше максимума
//так как изменяем здоровье из вне
if(_curHealth < 0) _curHealth = 0;
if(_curHealth > maxHealth) _curHealth = maxHealth;
//расчет бара непосредственно
healthBarLength = (Screen.width / 2) * (_curHealth / (float)maxHealth);
}
}
Вот скрипт атаки
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class PlayerAttack : MonoBehaviour {
public GameObject target;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(Input.GetKeyUp(KeyCode.F) ){
Attack();
}
}
private void Attack(){
Debug.Log ("Player Attacking");
EnemyHealth eh = (EnemyHealth) target.GetComponent("EnemyHealth");
eh.AddjustCurrentHealth(-1);
}
}
using System.Collections;
public class PlayerAttack : MonoBehaviour {
public GameObject target;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(Input.GetKeyUp(KeyCode.F) ){
Attack();
}
}
private void Attack(){
Debug.Log ("Player Attacking");
EnemyHealth eh = (EnemyHealth) target.GetComponent("EnemyHealth");
eh.AddjustCurrentHealth(-1);
}
}
Помогите что я сделал не так