Игнорирование проверки - Форум Игроделов
Пт, 17 Май 2024, 06:29 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Игнорирование проверки (Unity почему то пропускает строку с проверкой на нажатие)
Игнорирование проверки
Thedrhax14Дата: Сб, 26 Июл 2014, 10:45 | Сообщение # 1
 
Сообщений: 54
Награды: 0
Репутация: 1
Статус: Offline
Всем привет
Не давно столкнулся со странной проблемой в своем скрипте инвентаря.
Код

function OnGUI()
{
if (_display)
{
if (_displayRukzakEpta)
{
GUI.DrawTexture(WindowRect,RukzakEpta,ScaleMode.StretchToFill);
for (var x = 0; x<mainInventoryList.Count;x++){
//if (GUI.Button(Rect(Screen.width/2,Screen.height/2+(x*25),120,20),       GUIContent(" " + mainInventoryList[x].name, mainInventoryList[x].icon)));{
if (mainInventoryList[x].itemType == mainInventoryList[x].itemType.Head){
if(_equipmentManager.equipmentList[0].equipped){
mainInventoryList.Add(_equipmentManager.equipmentList[0]);
_equipmentManager.equipmentList[0] = mainInventoryList[x];
_equipmentManager.equipmentList[0].equipped=true;    
}
_equipmentManager.equipmentList[0] = mainInventoryList[x];    
mainInventoryList.RemoveAt(x);
_equipmentManager.equipmentList[0].equipped=true;    
}                   
}
//если предмет это chest
else if (mainInventoryList[x].itemType == mainInventoryList[x].itemType.Chest)
{

}
}
}
}
if (_displayOkipirovkaKoro4)
{
GUI.DrawTexture(WindowRect,RukzakEpta,ScaleMode.StretchToFill);
}
if (GUI.Button(Rect(Screen.width/2,(Screen.height/2 )-50,120,20),"Рюкзак"))
{
_displayRukzakEpta = true;
_displayOkipirovkaKoro4 = false;
}
if (GUI.Button(Rect(Screen.width/2,(Screen.height/2 )-80,120,20),"Экипировка"))
{
_displayRukzakEpta = false;
_displayOkipirovkaKoro4 = true;
}
}
}

Этот скрипт, точнее его часть, отвечает за перенос объектов, если я нажал на этот объект, в экипировку из рюкзака, но когда я подбираю объект (он конешно добавляется в рюкзак) и я вижу его в inspector, и при открытии рюкзака unity автоматически переносит объект в экипировку без проверки нажал ли я GUIButton или нет. Что не так? Почему он так делает?
P.s скрипт я писал сам, и если что я пометил ту строку с проверкой.


Виду блог про разроботку игр и про свои проекты https://thedrhax14.wordpress.com/

Сообщение отредактировал Thedrhax14 - Сб, 26 Июл 2014, 10:47
 
СообщениеВсем привет
Не давно столкнулся со странной проблемой в своем скрипте инвентаря.
Код

function OnGUI()
{
if (_display)
{
if (_displayRukzakEpta)
{
GUI.DrawTexture(WindowRect,RukzakEpta,ScaleMode.StretchToFill);
for (var x = 0; x<mainInventoryList.Count;x++){
//if (GUI.Button(Rect(Screen.width/2,Screen.height/2+(x*25),120,20),       GUIContent(" " + mainInventoryList[x].name, mainInventoryList[x].icon)));{
if (mainInventoryList[x].itemType == mainInventoryList[x].itemType.Head){
if(_equipmentManager.equipmentList[0].equipped){
mainInventoryList.Add(_equipmentManager.equipmentList[0]);
_equipmentManager.equipmentList[0] = mainInventoryList[x];
_equipmentManager.equipmentList[0].equipped=true;    
}
_equipmentManager.equipmentList[0] = mainInventoryList[x];    
mainInventoryList.RemoveAt(x);
_equipmentManager.equipmentList[0].equipped=true;    
}                   
}
//если предмет это chest
else if (mainInventoryList[x].itemType == mainInventoryList[x].itemType.Chest)
{

}
}
}
}
if (_displayOkipirovkaKoro4)
{
GUI.DrawTexture(WindowRect,RukzakEpta,ScaleMode.StretchToFill);
}
if (GUI.Button(Rect(Screen.width/2,(Screen.height/2 )-50,120,20),"Рюкзак"))
{
_displayRukzakEpta = true;
_displayOkipirovkaKoro4 = false;
}
if (GUI.Button(Rect(Screen.width/2,(Screen.height/2 )-80,120,20),"Экипировка"))
{
_displayRukzakEpta = false;
_displayOkipirovkaKoro4 = true;
}
}
}

Этот скрипт, точнее его часть, отвечает за перенос объектов, если я нажал на этот объект, в экипировку из рюкзака, но когда я подбираю объект (он конешно добавляется в рюкзак) и я вижу его в inspector, и при открытии рюкзака unity автоматически переносит объект в экипировку без проверки нажал ли я GUIButton или нет. Что не так? Почему он так делает?
P.s скрипт я писал сам, и если что я пометил ту строку с проверкой.

Автор - Thedrhax14
Дата добавления - 26 Июл 2014 в 10:45
seamanДата: Вс, 27 Июл 2014, 11:26 | Сообщение # 2
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
И что, ошибок не выдает? Должен выдавать. Либо Вы привели скрипт не из проекта. Для начала - проверяем скобки. У Вас полно if-ов вне функций.
 
СообщениеИ что, ошибок не выдает? Должен выдавать. Либо Вы привели скрипт не из проекта. Для начала - проверяем скобки. У Вас полно if-ов вне функций.

Автор - seaman
Дата добавления - 27 Июл 2014 в 11:26
Thedrhax14Дата: Вс, 27 Июл 2014, 11:42 | Сообщение # 3
 
Сообщений: 54
Награды: 0
Репутация: 1
Статус: Offline
seaman
Спасибо за совет, я смог найти ошибку: я случайно поставил в конце проверки ";".


Виду блог про разроботку игр и про свои проекты https://thedrhax14.wordpress.com/
 
Сообщениеseaman
Спасибо за совет, я смог найти ошибку: я случайно поставил в конце проверки ";".

Автор - Thedrhax14
Дата добавления - 27 Июл 2014 в 11:42
seamanДата: Вс, 27 Июл 2014, 11:55 | Сообщение # 4
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
О как. Так вы закомментировали НУЖНУЮ строку. Тогда понятно.
 
СообщениеО как. Так вы закомментировали НУЖНУЮ строку. Тогда понятно.

Автор - seaman
Дата добавления - 27 Июл 2014 в 11:55
Форум Игроделов » UNITY3D » СКРИПТИНГ » Игнорирование проверки (Unity почему то пропускает строку с проверкой на нажатие)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024