Проблемы с русским текстом в ГМ 6.1

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Проблемы с русским текстом в ГМ 6.1

Страницы: 1  новая тема

Автор Сообщение


Группа: Участники
Сообщений: 8
Добавлено: 19-02-2007 22:37
Делаю игру. Сделал движок, графику, посроил уровни. Дальше по плану много диалогов (часть рандомных, часть по сюжету). Возникли проблемы с текстом.
1.Помогите нормально вывести русский текст. Чё не пробовал латиница отображается, а русский нет. Юзал команду draw_text и кубики. Не помогает. Может в настройках чё-то или команда не та?
2.Как выбрать рандомную фразу из списка имеющихся. Как организовать список?
3.Вопрос в догонку. Проблемы со сменой цвета текста. Текст разных персов должен выводиться разным цветом. Проблема ещё в том, что при смене цвета командой draw_text_color, меняется весь текст, в том числе в интерфейсе.

гроссмейстер
Группа: Сообщество GM
Сообщений: 181
Добавлено: 20-02-2007 00:34
1.В фонтах(font) выбираешь нужный и ставишь all(все)(если шрифт поддерживает русские бувы))){ и будет тебе счастье}
2.3.Давай пример сделаю.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 20-02-2007 09:49
2.Как выбрать рандомную фразу из списка имеющихся. Как организовать список?

str=choose(1,2,3)
if(str == 1)string="hkgiygiuu"
if(str == 2)string="ojpolkpok4"
if(str == 3)string="hkdgsoftuhiu"
ну проще организовать это свичем

меняется весь текст

меняется цвет или шрифт
есле цвет то этого неможет быть, ты пишеш команду и привязываеш ее к одному персу с одним цветом, типа: draw_text_color(....c_red,c_red...)
текст для другого перса draw_text_color(....c_blue,c_blue...)



Группа: Участники
Сообщений: 8
Добавлено: 20-02-2007 22:11
1.В фонтах(font) выбираешь нужный и ставишь all(все)(если шрифт поддерживает русские бувы))){ и будет тебе счастье}

За совет спасибо, всё работает.
Также интересует ещё один вопрос:
Как выбрать минимальный элемент, ну скажем из 10 имеющихся, если они привязаны к отдельным обЪектам, которые есть на карте не все, т.е. они появляются и исчезают, а надо, чтобы сравнивал с имеющимися. Я пишу min(x1, x2, ..., x10), но оно понятно, ругается, что не может найти какие-то переменные.


Группа: Участники
Сообщений: 8
Добавлено: 20-02-2007 22:23
меняется цвет или шрифт

Менялся цвет, но от того, что использовал кубик set the color, но draw_text_color всё исправил, спасибо.

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 21-02-2007 08:52
Ну так и пиши:
min(obj1.peremennaja, obj2.peremennaja, ...)

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 21-02-2007 20:46
Как выбрать минимальный элемент, ну скажем из 10 имеющихся, если они привязаны к отдельным обЪектам, которые есть на карте не все, т.е. они появляются и исчезают, а надо, чтобы сравнивал с имеющимися. Я пишу min(x1, x2, ..., x10), но оно понятно, ругается, что не может найти какие-то переменные.

НЕ объявляй переменные через var


Группа: Участники
Сообщений: 8
Добавлено: 21-02-2007 22:15
Ну так и пиши:
min(obj1.peremennaja, obj2.peremennaja, ...)

Ну я так и сделал, но дело в том, что у меня не все объекты присутствуют на карте, и при этом проверку на min надо осуществлять из имеющихся, а ГМ ругается, что не может найти эти объекты. Я так думаю, что надо использовать instance_exists(), но пока не догоняю как.


Группа: Участники
Сообщений: 8
Добавлено: 21-02-2007 22:20
НЕ объявляй переменные через var

В смысле в скриптах писать x = 111 или что?

магистр
Группа: Сообщество GM
Сообщений: 316
Добавлено: 22-02-2007 11:31
пиши в скрипте, где сравниваеш значения в начале:
if object_exists(obj1) then
{
per1=obj1.peremennaya
}
else
{
per1=9999
}
if object_exists(obj2) then
{
per2=obj2.peremennaya
}
else... и т.д.

Должно работать...

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 22-02-2007 22:34
НЕ объявляй переменные через var

В смысле в скриптах писать x = 111 или что?

просто пиши a=111. в начале не ниши var a;

гроссмейстер
Группа: Сообщество GM
Сообщений: 223
Добавлено: 24-02-2007 21:44
str=choose(1,2,3)
if(str == 1)string="hkgiygiuu"
if(str == 2)string="ojpolkpok4"
if(str == 3)string="hkdgsoftuhiu"
ну проще организовать это свичем

Можно и так (покороче).
str=choose('string1','string2','string3')


Группа: Участники
Сообщений: 8
Добавлено: 24-02-2007 22:12
Спасибо, всё стало намного проще, сегодня закончил с сообщениями.
Чуть не прослезился, несколько дней мозги долбал ;).
Есть ещё вопрос, но уже по другой теме.

Команда sprite_set_alpha_from_sprite для взрывов сильно тормозит игру. Хотя сам спрайт и его альфа подгружаются в начале, эту команду приходится вставлять в событие create для объекта. Видимо он каждый раз подгружает и накладывает альфу на спрайт. Нельзя ли как-нибудь сделать это единожды?

Тут могла быть ваша реклама
Группа: Сообщество GM
Сообщений: 1014
Добавлено: 25-02-2007 00:12
По-моему это и надо делать единожды. В начале игры(в самом, один раз) для спрайта используешь функцию, и пользуешься этим спрайтом потом. Или я не прав?

магистр
Группа: Сообщество GM
Сообщений: 316
Добавлено: 25-02-2007 06:32
Ka1miK прав!
Если подробнее: создаёшь объект который при начале игры ставит альфы всем спрайтам... и усё!


Группа: Участники
Сообщений: 8
Добавлено: 25-02-2007 22:57
Ka1miK прав!
Если подробнее: создаёшь объект который при начале игры ставит альфы всем спрайтам... и усё!

У меня команда
sprite_set_alpha_from_sprite(Boom3_1,Boom3_alpha1);
работает, если она написана в create объекта, а если она написана в отдельном объекте, в начале игры, в событии create, то альфа не накладывается. Возможно команда написана не там или должна быть какой-то другой.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 26-02-2007 11:04
Можно и так (покороче).
str=choose('string1','string2','string3')


да сhoose класная штука Я раньше и незнал что он есть
пользовался рандомом а сhoose описан в хелпе после рандома)
очень быстро например организовать нанесение разных ударов
т.е. левой правой
sprite_index=choose(sprite1,sprite2)


Группа: Участники
Сообщений: 8
Добавлено: 07-03-2007 22:34
Эврика! Проблема была в том, что у меня есть объект, в котором подгружаются все спрайты и в нём же код наложения альфы, причём альфа накладывается раньше чем загружаются спрайты. Когда понял в чём дело, чувствовал себя глупо, т.к. проблема возникла давно. Оказалось, что смотрел не туда, а проблема решалась несколькими кликами мышки.

Страницы: 1  новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Проблемы с русским текстом в ГМ 6.1

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU