Пятница, 29 Марта 2024, 10:22

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » NGUI Popup List русский текст
NGUI Popup List русский текст
Andruha93Дата: Понедельник, 21 Октября 2013, 22:59 | Сообщение # 1
частый гость
Сейчас нет на сайте
Всем привет ! Не получается использовать NGUI-евский Popup List с русским текстом. Когда английский все нормально =(( Пробовал менять кодировку на UTF-8 у самого скрипта UIPopup List и у моего скрипта который выполняет какие то действия, но все равно никак angry Что можно сделать ????
Вот скрипт для совершения какого то действия в зависимости от выбранного пункта из списка (Этот список и состаит из русских слов):

Код

using UnityEngine;
using System.Collections;

public class PopurList : MonoBehaviour {

  void OnSelectionChange (string nameList)
  {
   switch(nameList)
   {
   case "Камин" : Debug.LogWarning("Привет мир !!!"); break;
   case "Kamin" : Debug.LogWarning("Здарова хрен !!!"); break; //Работает только этот потому что английские буквы.
   }
  }
}
robertonoДата: Понедельник, 21 Октября 2013, 23:10 | Сообщение # 2
Чокнутый Кот
Сейчас нет на сайте
Andruha93, сменить кодировку всех скриптов через notepad++ на UTF 8 без BOM. С NGUI не знаком вообще. Так что предположение только это. Я знаю что Вы это уже делали но попробуйте это в нотпад++ и utf 8 БЕЗ bom. Попытка не пытка)
BlackFixДата: Понедельник, 21 Октября 2013, 23:33 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
в настройках шрифта попробуйте поставить Unicode

CodeBits Interactive.
KamiRoninДата: Вторник, 22 Октября 2013, 10:12 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Цитата Andruha93 ()
Что можно сделать ????

тут дело в самом C#
вот, тут расклад по этому вопросу.

а у тебя атлас NGUI с русскоязычным шрифтом?? ну как элемент списка с "Камин" отображается?
возможно, чтобы не заморачиваться - либо использовать Localize в NGUI, либо уйти от текстового представления в списках.


Мыслю - значит программирую...
Конструктивная критика - умных ведет к совершенству...
Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Andruha93Дата: Вторник, 22 Октября 2013, 19:29 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата KamiRonin ()
атлас NGUI с русскоязычным шрифтом??

Да да русскоязычный !
KamiRoninДата: Вторник, 22 Октября 2013, 19:59 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Цитата Andruha93 ()
Да да русскоязычный !

smile up
(либо локализацию, либо System.Text.UTF8Encoding)


Мыслю - значит программирую...
Конструктивная критика - умных ведет к совершенству...
Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Andruha93Дата: Вторник, 22 Октября 2013, 23:39 | Сообщение # 7
частый гость
Сейчас нет на сайте
Решил написать вот такой скрипт:
Код

using UnityEngine;
using System.Collections;

public class PopurList : MonoBehaviour {
   public string UItext;   
     
   void Update()
   {
    UItext =  GetComponent<UIPopupList>().selection;
    Debug.LogWarning(UItext);//В консоль нормально выводиться русский текст
    if(UItext == "Камин")//Проверка не проходит !!!!!
    {
     Debug.LogWarning("Привет мир");
    }
      
    if(UItext == "ddd")//А тут все нормально
    {
     Debug.LogWarning("Здарова");
    }
   }
}


Он вешается на сам PopupList
Очень странно - не проходит именно проверка с русскими буквами

Добавлено (22.10.2013, 23:39)
---------------------------------------------
Цитата KamiRonin ()
System.Text.UTF8Encoding

Эт для чего ?? shy Если для перекодировки скрипта, то я его уже перекодировал в Notepad++

Цитата KamiRonin ()
либо локализацию

Да вот с этим я думаю стоит по разбираться. У NGUI даже есть в примерах сцена с её использование (Example 10 - Localization) вчера весь день копал, но пока не очень удачно =(( Думаю завтра снова поиду воевать с ней killed


Сообщение отредактировал Andruha93 - Вторник, 22 Октября 2013, 23:41
KamiRoninДата: Среда, 23 Октября 2013, 14:28 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
Цитата Andruha93 ()
Очень странно - не проходит именно проверка с русскими буквами
System.Text.UTF8Encoding Эт для чего ?? shy Если для перекодировки скрипта, то я его уже перекодировал в Notepad++


попробуй присвоить отдельной переменной ну например testStr значение "Камин", и поставь в условие UItext == testStr, увидишь результат будет тот же = 0. а если через дебугер посмотреть значение переменной (я у себя не занимался нотепадством++ smile ) testStr - оно будет сразу после присвоения - кракозяблами.
поэтому берешь Encoding, декодируешь в правильную кодировку любой текст и все работает. просто сложности C# (ссылку я давал).



Мыслю - значит программирую...
Конструктивная критика - умных ведет к совершенству...
Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Andruha93Дата: Среда, 23 Октября 2013, 23:19 | Сообщение # 9
частый гость
Сейчас нет на сайте
Цитата KamiRonin ()
берешь Encoding, декодируешь в правильную кодировку любой текст и все работает.

Ага ну тогда буду экспериментировать...
Если че то еще дальше буду поднимать эту тему так как спать не буду спокойно знаю что что то не решено. book
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » NGUI Popup List русский текст
  • Страница 1 из 1
  • 1
Поиск:

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