Тексты
| |
vsDaTavs | Дата: Вторник, 13 Сентября 2011, 16:38 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Здраствуйте товарищи игроделы. требуется ваша помощь. Для улучшения интерфейса много проблем возникает с текстами. а именно:
1.нужно закрасить текст в 2 цвета на пополам. Используя функцию draw_text_color() выходит целая цветовая палитра, с 2 назначенными цветами и м кучей промежуточных цветов меж ними. А мне нужен четкий переход цвета в тексте.(например красный - зеленый)
2. можно ли как нибудь добавлять текст к другому. условно это должно выглядеть так draw_text(x,y, текст + другая переменная)?
надеюсь на вашу помощь
http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Вторник, 13 Сентября 2011, 16:40 |
|
| |
LunarPixel | Дата: Вторник, 13 Сентября 2011, 17:51 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| vsDaTavs, 1. составь текст из двух частей. Одну часть закрась первым цветом, вторую вторым.
2. И не условно это выглядит так же: draw_text(x,y, 'текст 2' + 'текст 2') или draw_text(x,y, 'текст 2' + переменная)
|
|
| |
FadeBaker | Дата: Вторник, 13 Сентября 2011, 19:02 | Сообщение # 3 |
JavaSE Game Developer
Сейчас нет на сайте
| Поправочка: draw_text(x,y, 'текст 2' + string(переменная))
Писать "string" нужно тогда, если требуется вывести на экран текст (string) и число (integer). Например нужно вывести на экран название текущего оружия и после двоеточия кол-во патронов к нему. Например так: Code draw_text(view_xview+20, view_yview+20, 'Автомат: ' + string(automat_ammo));
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
vsDaTavs | Дата: Среда, 14 Сентября 2011, 17:49 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Quote draw_text(x,y, 'текст 2' + 'текст в первую очередь так попробовал, - ошибка Quote draw_text(x,y, 'текст 2' + string(переменная)) вот спасибо. конечно я дурак что сам не догадался. ставлю + )
http://farchive.jino.ru/
|
|
| |
sk0rpi0n | Дата: Среда, 14 Сентября 2011, 20:04 | Сообщение # 5 |
Tiberium
Сейчас нет на сайте
| Можно узнать, что вообще писать в draw_text_color? Как там цвета то задавать? Цифрами или словом?
Adventures of the Purple Ball - готов. Wanderer - готов.
Сообщение отредактировал sk0rpi0n - Среда, 14 Сентября 2011, 20:09 |
|
| |
BaHu3aTop | Дата: Среда, 14 Сентября 2011, 20:12 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Quote (Справка) draw_text_color(x,y,string,c1,c2,c3,c4,alpha) Рисует строку в позиции (x,y) подобно вышеупомянутой функции. Четыре цвета определяют цвета левого верхнего, верхнего-правого, нижнего-правого, и нижнего-левого угла текста. alpha - является альфа прозрачностью, используйте (0-1).
|
|
| |
vsDaTavs | Дата: Среда, 14 Сентября 2011, 23:36 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| draw_text_color(x,y,string,c1,c2,c3,c4,alpha) c1,c2,c3,c4 - это верхний левый, верхний правый, нижний правый и нижний левый углы соответственно. если задавать разные цвета, то получится плавный переход цвета, а не четкий в 2 цвета как мне нужно.
но вот как мне посоветовали я составлю текст из 2-х и попробую так
draw_text_color(x,y,string(перем)+draw_text_color(x,y,string,синий,синий,синий,синий,alpha),,красный,красный,красный,красный,alpha)
так неплохо, но вот координаты получается надо самому править, а надо чтобы текст сам правил. кроме того к первому тексту припысывается ноль О_о
например если хочу написать 50 +5, то воспользовавшись написанным мной кодом и чуть подправив координаты получится 500+5
Итак: в итоге мне нужен текст, состоящий из двух текстов, каждый из которых имеет свой цвет. вот к чему я стремлюсь
http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Четверг, 15 Сентября 2011, 00:31 |
|
| |
MyACT | Дата: Четверг, 15 Сентября 2011, 07:47 | Сообщение # 8 |
C# CODERS
Сейчас нет на сайте
| Ставь у каждого текста draw_set_color(c_red) c_red поменяй на свой но с_ не удаляй
3дэшечки: https://sketchfab.com/myactyindie Курентли воркс он: https://myacty.itch.io/raskopnik
|
|
| |
vsDaTavs | Дата: Четверг, 15 Сентября 2011, 20:37 | Сообщение # 9 |
почетный гость
Сейчас нет на сайте
| вариант неплохой. Если спользовать функцию draw_set_color в качестве параметра функции draw_text, так можно контролировать цвета и единство текста. Однако ГМЛ не понимает саму функцию в качестве параметра и проходится его обозначать как string(draw_set_color), а так как в оном не указано текстовое значение, то будет возвращен ноль. иными словами в тексте прорисовывается лишний ноль. с цифрами там можно будет как схитрить, но если отображать сплошной текст, ноль здесь совсем не нужен потому что это будет БАГОМ!!!
http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Четверг, 15 Сентября 2011, 21:04 |
|
| |
LunarPixel | Дата: Четверг, 15 Сентября 2011, 21:13 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| Самый просто вариант, это разделить текст на две части и каждую закрасить отдельно. Но если текста много, то это конечно не удобно, но как вариант:
draw_set_color(c_red) draw_text(0,0,'красный текст') draw_set_color(c_green) draw_text(100,0,'зеленый текст')
Если решение не найдешь, то как освобожусь, придумаю что нибудь получше, оптимальное. Самому интересно.
|
|
| |
vsDaTavs | Дата: Четверг, 15 Сентября 2011, 21:30 | Сообщение # 11 |
почетный гость
Сейчас нет на сайте
| я поспешил относительно draw_set_color стоило догадаться что если его использовать в качестве параметра, то независимо от того какой цвет был принят до этого, но весь текст в текущей функции draw_text отображается под цветом последнего параметра draw_setcolor, иными словами - текст получается одноцветный
LunarPixel я подумывал конечно же о позиционирование, но дело в том что мне это нужно скорей не для цифр, а для полноценного к примеру предложения. то есть длина текста может меняться, в середине текста например нужно ввести имя игрового персонажа выделенного цветом, или сложенное название чего-нибудь., тпеже неоюходимо пометить другим цветом окончание слова. Выделенное лучше бросается в глаза.
http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Четверг, 15 Сентября 2011, 21:33 |
|
| |
LunarPixel | Дата: Четверг, 15 Сентября 2011, 21:34 | Сообщение # 12 |
старожил
Сейчас нет на сайте
| Пробуй так: В Create: text1='красный текст' text2='зеленый текст' a=string_length(text2)
В Draw: draw_set_color(c_red) draw_text(x,y,text1) draw_set_color(c_green) draw_text(x+a*7,y,text2)
Тоже не универсальный способ. Но можно что нибудь на его основе придумать.
|
|
| |
vsDaTavs | Дата: Четверг, 15 Сентября 2011, 21:43 | Сообщение # 13 |
почетный гость
Сейчас нет на сайте
| а перенос строки? если второй текст находится на первой строке, то следуя пареносу строки он не сравняется по абзацу понимаешь о чем я? с такими постановками будут разные баги
http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Четверг, 15 Сентября 2011, 21:47 |
|
| |
LunarPixel | Дата: Четверг, 15 Сентября 2011, 21:53 | Сообщение # 14 |
старожил
Сейчас нет на сайте
| Раздели текст изначально. Например текст:
Красный Зеленый Красный Зеленый Красный Зеленый
т.е. в Text1 помести:
Красный Красный Красный
а в Text2 соответственно:
Зеленый Зеленый Зеленый
Повторюсь, способ далеко не универсальный. Пока нет времени думать над чем нибудь серьезным. Завтра если время будет, напишу что нибудь универсальное.
|
|
| |
vsDaTavs | Дата: Пятница, 16 Сентября 2011, 11:55 | Сообщение # 15 |
почетный гость
Сейчас нет на сайте
| ну сколько раз можно повторять. Если бы тексты были базовыми, но тексты как бы генерируются исходя из ситуации в игре, и соответственно так вот подбирать будет огроомный гемор. Если нет функций, или и трюков с ними, то лучше оставить одноцветный текст чем так вот возиться
http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Пятница, 16 Сентября 2011, 11:56 |
|
| |
FadeBaker | Дата: Пятница, 16 Сентября 2011, 12:49 | Сообщение # 16 |
JavaSE Game Developer
Сейчас нет на сайте
| Попробовал решить твою проблему, мягко говоря вышло не то, что нужно, но по крайней мере получился весьма красивый эффект. Скачать
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
vsDaTavs | Дата: Пятница, 16 Сентября 2011, 15:01 | Сообщение # 17 |
почетный гость
Сейчас нет на сайте
| Да, эффект красивый
http://farchive.jino.ru/
|
|
| | |
FadeBaker | Дата: Пятница, 16 Сентября 2011, 15:11 | Сообщение # 19 |
JavaSE Game Developer
Сейчас нет на сайте
| LunarPixel, vsDaTavs, спасибо, сам не ожидал, что такое получится.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
LunarPixel | Дата: Пятница, 16 Сентября 2011, 15:19 | Сообщение # 20 |
старожил
Сейчас нет на сайте
| http://zalil.ru/31709864 вот пример. Работает всё через скрипт.
scr_colorit(w_view,h_view,text,x1,y,x2,color1,color2)
w_view - ширина видимой области (комнаты или вида) h_view - высота видимой области text - текст который нужно преобразовать в цветной x1 - смещение от начала текста, до точки перехода цвета y - высота текста x2 - смещение второй части текста от точки разрыва до конца color1,color2 - цвета левой и правой части текста
Сообщение отредактировал LunarPixel - Пятница, 16 Сентября 2011, 15:19 |
|
| |
|