Mathian
Мастер
Всем Хай!
Написал скромный пример состояния игрока для Unity3D, держите кому нужно.
Написал скромный пример состояния игрока для Unity3D, держите кому нужно.
Описание:
-Здоровье //Отнимается от пуль, можно изменить
-Сытость//Отнимается со временем
-Энергия//Отнимается по нажатию на LeftShift, прибавляется со временем
Код:
PHP:
#pragma strict
var HungerTime:float = 20; //Переменная отвечающая через какое время отнять сытость.
var HungerTimeSet:float = HungerTime; //Для повторного отнимания сытости.
public var Health : float = 100; //Переменная здоровья
public var MaxHealth : float = 100; //Максимальное кол-во здоровья
public var Energy : float = 1000; //Переменная энергии
public var MaxEnergy : float = 1000; //Максимальное кол-во энергии
public var Satiety : float = 500; //Переменная сытости
public var MaxSatiety : float = 500; //Максимальное значение сытости
public var BulletDamage : float = 15; //Переменная урона от пуль
function Start ()//Запуск
{
Energy = MaxEnergy; //Энергия на максимум
Satiety = MaxSatiety; //Сытость на максимум
Health = MaxHealth;//Здоровье на максимум
}
function OnTriggerEnter(Collider : Collider)//При входе в триггер
{
if ( Collider.tag == "Bullet" )//Если тег Коллайдера = Bullet
{
Health -= BulletDamage; //Минусуем
Destroy(Collider); //Удаляем
}
}
function Update()//Обновление
{
if( Health < 0 )//Если здоровье < 0
{
Health=0;//Устанавливаем значение 0
//Своё действие
}
if( HungerTime > 0 )//Если HungerTime > 0
{
HungerTime -=Time.deltaTime; //Отсчитываем в минус
}
if( HungerTime < 0 ) //Если HungerTime < 0
{
Satiety -=1; //Минусуем
HungerTime = HungerTimeSet; //Повторяем
}
if( Satiety <= 0 )//Если сытость <= 0
{
Satiety=0; //Устанавливаем значение 0
Health -= 0.0025; //отнимаем здоровье
//Своё действие
}
if( Energy != 1000 )//Если энергия != 0
{
Energy +=0.0025; //Плюсуем
}
if( Input.GetKey ( KeyCode.LeftShift ) )// Для бега, по нажатию на LeftShift
{
Energy -= 1; //Минусуем
}
if(Energy >= 1000)//Если энергия >= 1000
{
Energy = MaxEnergy; //задаём максимальное значение
}
if( Energy < 0 )//Если энергия < 0
{
Energy=0; //Устанавливаем значение 0
}
}
function OnGUI () //GUI
{
GUI.Label(Rect ( 10, Screen.height - 80, 120, 20 ), "Жизни: " + Health ); //Вывод здоровья
GUI.Label(Rect ( 10, Screen.height - 60, 120, 20 ), "Голод: " + Satiety ); //Вывод сытости
GUI.Label(Rect ( 10, Screen.height - 40, 120, 20 ), "Сила: " + Energy ); //Вывод энергии
}
Последнее редактирование:
