Скрипт жизней - Форум Игроделов
Пн, 10 Фев 2025, 11:23 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скрипт жизней
MrKyzminДата: Сб, 22 Сен 2012, 16:12 | Сообщение # 1
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Вот решил выложить скрипт жизней в Unity3D

Code

using UnityEngine;
using System.Collections;

public class PlayerHealth : MonoBehaviour {
   
  public int maxHealth;
  public int _curHealth;
  public float healthBarLength;

  // Use this for initialization
  void Start () {
  healthBarLength = Screen.width /4;
   if(maxHealth<1) maxHealth=1;
  }
   
  // Update is called once per frame
  void Update () {
    
  }
  void OnGUI(){
   GUI.Box(new Rect(10,820,healthBarLength,20),_curHealth + "/" +maxHealth);
  }
   public void AddjustCurrentHealth( int adj) {
    _curHealth += adj;
    if(_curHealth < 0) _curHealth =0;
   if(_curHealth < 1) Destroy(gameObject);
    if(_curHealth > maxHealth) _curHealth = maxHealth;
    healthBarLength = (Screen.width / 4) * (_curHealth / (float)maxHealth);
  }
}


Просто кидаем на нашего ГГ


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеВот решил выложить скрипт жизней в Unity3D

Code

using UnityEngine;
using System.Collections;

public class PlayerHealth : MonoBehaviour {
   
  public int maxHealth;
  public int _curHealth;
  public float healthBarLength;

  // Use this for initialization
  void Start () {
  healthBarLength = Screen.width /4;
   if(maxHealth<1) maxHealth=1;
  }
   
  // Update is called once per frame
  void Update () {
    
  }
  void OnGUI(){
   GUI.Box(new Rect(10,820,healthBarLength,20),_curHealth + "/" +maxHealth);
  }
   public void AddjustCurrentHealth( int adj) {
    _curHealth += adj;
    if(_curHealth < 0) _curHealth =0;
   if(_curHealth < 1) Destroy(gameObject);
    if(_curHealth > maxHealth) _curHealth = maxHealth;
    healthBarLength = (Screen.width / 4) * (_curHealth / (float)maxHealth);
  }
}


Просто кидаем на нашего ГГ

Автор - MrKyzmin
Дата добавления - 22 Сен 2012 в 16:12
NitroDriveДата: Вт, 19 Мар 2013, 11:34 | Сообщение # 2
 
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
Сделал скрипт. Кинул на ГГ. Поставил настройки 100 10 100. Запустил сцену. На экране ничего не поменялось. Что сделал не так?





Игры не делают людей злыми. Лаги делают!

Сообщение отредактировал NitroDrive - Вт, 19 Мар 2013, 11:42
 
СообщениеСделал скрипт. Кинул на ГГ. Поставил настройки 100 10 100. Запустил сцену. На экране ничего не поменялось. Что сделал не так?




Автор - NitroDrive
Дата добавления - 19 Мар 2013 в 11:34
seamanДата: Вт, 19 Мар 2013, 11:51 | Сообщение # 3
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Сам скрипт (тот что у Вас, а не у топикастера) - в студию!
 
СообщениеСам скрипт (тот что у Вас, а не у топикастера) - в студию!

Автор - seaman
Дата добавления - 19 Мар 2013 в 11:51
MrKyzminДата: Вт, 19 Мар 2013, 14:06 | Сообщение # 4
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Там надо в скрипте редактировать я просто под себя подгонял

Цитата (NitroDrive)
Сделал скрипт. Кинул на ГГ. Поставил настройки 100 10 100. Запустил сцену. На экране ничего не поменялось. Что сделал не так?


Цитата (MrKyzmin)
void OnGUI(){
GUI.Box(new Rect(10,820,healthBarLength,20),_curHealth + "/" +maxHealth);
}


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеТам надо в скрипте редактировать я просто под себя подгонял

Цитата (NitroDrive)
Сделал скрипт. Кинул на ГГ. Поставил настройки 100 10 100. Запустил сцену. На экране ничего не поменялось. Что сделал не так?


Цитата (MrKyzmin)
void OnGUI(){
GUI.Box(new Rect(10,820,healthBarLength,20),_curHealth + "/" +maxHealth);
}

Автор - MrKyzmin
Дата добавления - 19 Мар 2013 в 14:06
seamanДата: Вт, 19 Мар 2013, 15:36 | Сообщение # 5
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Что Вы написали то? В Вашем скрипте (в первом посте) есть эта функция. Именно такая. И что? Что Вы имели в виду то?
 
СообщениеЧто Вы написали то? В Вашем скрипте (в первом посте) есть эта функция. Именно такая. И что? Что Вы имели в виду то?

Автор - seaman
Дата добавления - 19 Мар 2013 в 15:36
MrKyzminДата: Вт, 19 Мар 2013, 16:47 | Сообщение # 6
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Мне кажется у него просто полоса жизней находиться за пределами камеры и он её не видит и следовательно нужно изменять именно эту строку так как она отвечает за расположение полосы.

/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеМне кажется у него просто полоса жизней находиться за пределами камеры и он её не видит и следовательно нужно изменять именно эту строку так как она отвечает за расположение полосы.

Автор - MrKyzmin
Дата добавления - 19 Мар 2013 в 16:47
seamanДата: Вт, 19 Мар 2013, 18:58 | Сообщение # 7
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
А я вот считаю, что у него неверно написано название функции. Новички этим особенно часто грешат.
Однако - зачем гадать? Скрипт - в студию!
 
СообщениеА я вот считаю, что у него неверно написано название функции. Новички этим особенно часто грешат.
Однако - зачем гадать? Скрипт - в студию!

Автор - seaman
Дата добавления - 19 Мар 2013 в 18:58
MrKyzminДата: Вт, 19 Мар 2013, 19:15 | Сообщение # 8
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Честно скажу скрипт не мой так как я особо, а точнее никак не знаю C# если надо могут для мелких нужд переписать на Js

/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +


Сообщение отредактировал MrKyzmin - Вт, 19 Мар 2013, 19:16
 
СообщениеЧестно скажу скрипт не мой так как я особо, а точнее никак не знаю C# если надо могут для мелких нужд переписать на Js

Автор - MrKyzmin
Дата добавления - 19 Мар 2013 в 19:15
vintoДата: Ср, 27 Мар 2013, 18:53 | Сообщение # 9
 
Сообщений: 103
Награды: 0
Репутация: 14
Статус: Offline
Может у тебя просто экран разрешением меньше чем 820 по высоте так как

GUI.Box(new Rect(10,820,healthBarLength,20),_curHealth + "/" +maxHealth);

поставь 10 вместо 820, может ты просто не видишь её!?

 
СообщениеМожет у тебя просто экран разрешением меньше чем 820 по высоте так как

GUI.Box(new Rect(10,820,healthBarLength,20),_curHealth + "/" +maxHealth);

поставь 10 вместо 820, может ты просто не видишь её!?


Автор - vinto
Дата добавления - 27 Мар 2013 в 18:53
commandobyДата: Ср, 27 Мар 2013, 21:32 | Сообщение # 10
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
Код
GUI.Box(new Rect(10,Screen.height-30,healthBarLength,20),""+_curHealth + "/" +maxHealth);


Блог.
 
Сообщение
Код
GUI.Box(new Rect(10,Screen.height-30,healthBarLength,20),""+_curHealth + "/" +maxHealth);

Автор - commandoby
Дата добавления - 27 Мар 2013 в 21:32
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025