Среда, 13 Ноября 2024, 13:51

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
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
  • Страница 1 из 1
  • 1
Поиск:

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