Понедельник, 23 Декабря 2024, 12:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Сохранение кол-ва жизни врагов
FavenДата: Среда, 23 Апреля 2014, 22:58 | Сообщение # 1
был не раз
Сейчас нет на сайте
Хочу при сохранение, чтобы сохранялось кол-во жизни у врага.
private var HitGun : float;
var RockeyGun : GameObject;
var saved = 0;
function Start() {loadstuff();}
function Update()
{
HitGun = RockeyGun.GetComponent("DamageReceiver").hitPoints;
if(Input.GetKeyDown(KeyCode.Escape) && saved == 0)
{
saved = 1;
savestuff();
}
}

function savestuff()
{
PlayerPrefs.SetFloat("HitGun", RockeyGun.GetComponent("DamageReceiver").hitPoints);
}

function loadstuff()
{
RockeyGun.GetComponent("DamageReceiver").hitPoints = (PlayerPrefs.GetFloat("HitGun"));
saved = 0;
}

Вроде после активаций скрипта, враг становится бессмертным. Помогите его сохранить.

Добавлено (23.04.2014, 22:58)
---------------------------------------------
Столько ответов)
Вот ссылки, что помогли.
Обращение к объекту из другой сцены
Методы организации взаимодействия между скриптами в Unity3D
Сохранение игры в Unity3D

Вот сам код.
Код

var HitGun : float =100.0;
var damageRecive : DamageReceiver2;
private var textControl : TextControl;  //  я через него определяю надо загрузить или начать новую игру.
var saved = 0;

function Start()     
{
     var textControl2 = GameObject.Find("CubeLoad");
     textControl = textControl2.GetComponent("TextControl");
     if(textControl.isMyLoad)
      loadstuff();
}

function Update()
{
     HitGun = (damageRecive.hitPoints);
     Debug.Log(HitGun);
           
     if(Input.GetKeyDown(KeyCode.Escape) && saved == 0)
     {
      saved = 1;
      savestuff();
     }
}

function savestuff()
{
     PlayerPrefs.SetFloat("HitGun", damageRecive.hitPoints);
     //Debug.Log(HitGun);
}

function loadstuff()
{
     if(textControl.isMyLoad)
     {      
      damageRecive.hitPoints = (PlayerPrefs.GetFloat("HitGun"));
     }
     else
     {
      damageRecive.hitPoints = 100;
     }
     saved = 0;
}

До этого я дошел быстро.

А вот поменять скрипт, что я скачал пришло с трудом. Я не как не мог присвоить, ему кол-во жизни, скрипт ломался, что приводило к бессмертие врага. Решение пришло из прошлого.
Помните, раньше в играх при загрузки сцены мертвые враги были живыми и сразу покидали мир. Что и натолкнуло на мысль, надо не присваивать жизнь, а выстреливать в врага, на тот урон, что ты ему нанес при загрузки сцены. И все заработало)))
Что добавил в чужой скрипт.
Код

private var textControl : TextControl;

function Start()
{
     var textControl2 = GameObject.Find("CubeLoad");
     textControl = textControl2.GetComponent("TextControl");
     if(save.HitGun <= 0 && textControl.isMyLoad == true)
      ApplyDamage(100);
}


Сообщение отредактировал Faven - Среда, 23 Апреля 2014, 23:19
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг