Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Состояние игрока в Unity3D

Статус
В этой теме нельзя размещать новые ответы.

Mathian

Мастер
Всем Хай!
Написал скромный пример состояния игрока для 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 ); //Вывод энергии
}
Автор: Я(Lev_Popov)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу