LoadLevel-вопрос - Форум Игроделов
Вс, 09 Фев 2025, 18:45 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
LoadLevel-вопрос
Rim2812Дата: Вс, 29 Июл 2012, 23:45 | Сообщение # 1
Нет аватара
 
Сообщений: 15
Награды: 0
Репутация: 8
Статус: Offline
Всем хай. Появился вопрос,правильно ли я понимаю,что при использование application.loadlevel для того,чтобы например сделать рестарт уровня,статик переменные не обнуляются ? Например: есть платформер,сцена с названием level1.Собираем мы монетки,и их число храниться в статик переменной,монеток у нас 10 штук,и герой умирает. Я использую
Code
Application.LoadLevel ("level1");
для рестарта уровня,а колличество монеток как было 10,так и осталось. Собственно вопрос-Как сделать чтобы их число стало как при старте уровня,т.е. 0 ?
 
СообщениеВсем хай. Появился вопрос,правильно ли я понимаю,что при использование application.loadlevel для того,чтобы например сделать рестарт уровня,статик переменные не обнуляются ? Например: есть платформер,сцена с названием level1.Собираем мы монетки,и их число храниться в статик переменной,монеток у нас 10 штук,и герой умирает. Я использую
Code
Application.LoadLevel ("level1");
для рестарта уровня,а колличество монеток как было 10,так и осталось. Собственно вопрос-Как сделать чтобы их число стало как при старте уровня,т.е. 0 ?

Автор - Rim2812
Дата добавления - 29 Июл 2012 в 23:45
HunjethДата: Пн, 30 Июл 2012, 09:15 | Сообщение # 2
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
Code

function Awake() {
}
function Start() {
монетки = 0;
}

void Awake() {
}
void Start() {
}


или
Code
float монетки = 0;

var монетки : float = 0;


Сообщение отредактировал Hunjeth - Пн, 30 Июл 2012, 19:38
 
Сообщение
Code

function Awake() {
}
function Start() {
монетки = 0;
}

void Awake() {
}
void Start() {
}


или
Code
float монетки = 0;

var монетки : float = 0;

Автор - Hunjeth
Дата добавления - 30 Июл 2012 в 09:15
Maxim_EpihinДата: Пт, 03 Авг 2012, 01:41 | Сообщение # 3
 
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Rim2812,
Любишь геморой? Вот лови:

Code
//скрипт
var монетки:float = 0; //при старте игры
var dead:boolean = false;//при старте игрок жив
function Update () {
if(dead==true){
монетки = 0;
Application.LoadLevel (1)//build сцена 1 или "название сцены"
}
}

Добавлено (03.08.2012, 01:41)
---------------------------------------------
Заблы закрывающий тег:

Quote (Maxim_Epihin)
 Application.LoadLevel (1)

Добавть в конце [code];[/code]
 
СообщениеRim2812,
Любишь геморой? Вот лови:

Code
//скрипт
var монетки:float = 0; //при старте игры
var dead:boolean = false;//при старте игрок жив
function Update () {
if(dead==true){
монетки = 0;
Application.LoadLevel (1)//build сцена 1 или "название сцены"
}
}

Добавлено (03.08.2012, 01:41)
---------------------------------------------
Заблы закрывающий тег:

Quote (Maxim_Epihin)
 Application.LoadLevel (1)

Добавть в конце [code];[/code]

Автор - Maxim_Epihin
Дата добавления - 03 Авг 2012 в 01:41
ЛевшаДата: Пт, 03 Авг 2012, 04:04 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (Rim2812)
а колличество монеток как было 10,так и осталось. Собственно вопрос-Как сделать чтобы их число стало как при старте уровня,т.е. 0 ?

Это же элементарно... обнули переменную перед перезагрузкой.
Code
монетки = 0;
Application.LoadLevel (1);


Или при старте уровня:
Code
function Start () {
     монетки = 0;
}


X.cor.R (Prologue)
 
Сообщение
Quote (Rim2812)
а колличество монеток как было 10,так и осталось. Собственно вопрос-Как сделать чтобы их число стало как при старте уровня,т.е. 0 ?

Это же элементарно... обнули переменную перед перезагрузкой.
Code
монетки = 0;
Application.LoadLevel (1);


Или при старте уровня:
Code
function Start () {
     монетки = 0;
}

Автор - Левша
Дата добавления - 03 Авг 2012 в 04:04
Maxim_EpihinДата: Пт, 03 Авг 2012, 12:09 | Сообщение # 5
 
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Левша,
У меня тоже ссистемка не плохая вышла, могу написать маленький скрипт на смерть:
Code
//скрипт  
  var монетки:float = 0; //при старте игры  
  var dead:boolean = false;//при старте игрок жив
var maxHealth:int = 100;

     private var _curHealth:int = 100;
     private var healthBarLength:float;

     function Start()
     {
         healthBarLength = Screen.width / 4;
         if (maxHealth < 1) maxHealth = 1;
         _curHealth = maxHealth;
     }

     function OnGUI()
     {
         GUI.contentColor = Color.red;
         GUI.Box(new Rect(10, 10, healthBarLength, 20), _curHealth + "/" + maxHealth);
     }
     public function AddjustCurrentHealth(int adj)
     {
         _curHealth += adj;
         if (_curHealth < 0) _curHealth = 0;
         if (_curHealth > maxHealth) _curHealth = maxHealth;
         if (_curHealth <= 0 || dead==true)
         {
             монетки = 0;
             Application.LoadLevel (1)//build сцена 1 или "название сцены"
         }
     }


Код конечно усложнен в этой части:

Code
if (_curHealth <= 0 || dead==true)


Можно было бы обойтись событием "если хп <= 0", но я просто хотел показать как можно использовать и хп <= 0 и булевая перменная dead = true. Там прописано собыие если то или то.
 
СообщениеЛевша,
У меня тоже ссистемка не плохая вышла, могу написать маленький скрипт на смерть:
Code
//скрипт  
  var монетки:float = 0; //при старте игры  
  var dead:boolean = false;//при старте игрок жив
var maxHealth:int = 100;

     private var _curHealth:int = 100;
     private var healthBarLength:float;

     function Start()
     {
         healthBarLength = Screen.width / 4;
         if (maxHealth < 1) maxHealth = 1;
         _curHealth = maxHealth;
     }

     function OnGUI()
     {
         GUI.contentColor = Color.red;
         GUI.Box(new Rect(10, 10, healthBarLength, 20), _curHealth + "/" + maxHealth);
     }
     public function AddjustCurrentHealth(int adj)
     {
         _curHealth += adj;
         if (_curHealth < 0) _curHealth = 0;
         if (_curHealth > maxHealth) _curHealth = maxHealth;
         if (_curHealth <= 0 || dead==true)
         {
             монетки = 0;
             Application.LoadLevel (1)//build сцена 1 или "название сцены"
         }
     }


Код конечно усложнен в этой части:

Code
if (_curHealth <= 0 || dead==true)


Можно было бы обойтись событием "если хп <= 0", но я просто хотел показать как можно использовать и хп <= 0 и булевая перменная dead = true. Там прописано собыие если то или то.

Автор - Maxim_Epihin
Дата добавления - 03 Авг 2012 в 12:09
Rim2812Дата: Пт, 03 Авг 2012, 15:24 | Сообщение # 6
Нет аватара
 
Сообщений: 15
Награды: 0
Репутация: 8
Статус: Offline
Эта проблема решилась после ответа Hunjeth
 
СообщениеЭта проблема решилась после ответа Hunjeth

Автор - Rim2812
Дата добавления - 03 Авг 2012 в 15:24
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025