ого!. здоровый код. Но это действительно работает. Хотя тут опять таки нужно вводить координаты. Именно то что теперь они называются смещением не меняет сути. я не могу заранее определить смещение ибо оно всегда будет разное. Но спасибо и на этом LunarPixel может пригодиться.
Можно узнать, что вообще писать в draw_text_color? Как там цвета то задавать? Цифрами или словом?
есть несколько вариантов определения цвета текста например перед самой функцие рисования текста определить цвет draw_set_font(color) но в таком случае все следующие тексты в этом коде наследую этот цвет либо задать цвет в функции рисования самого текста draw_text_color(x,y,string,c_1,c_2,c_3,c_4,alpha) c1,c2,c3,c4 - закрашивание верхних левого и правого и нижних правого и левого углов текста.
вопрос как определить цвет, тож по-разному.: стандартный набор цветов - c_red,c_white,c_green..... определение своего цвета из цветов палитры выражая через rgb - красный, зеленый, синий make_color_rgb(255,255,0) или по контрасту, яркости и оттенку make_color_hsv(40,240,120)
http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Суббота, 17 Сентября 2011, 11:44
vsDaTavs, можно до использования моей функции, определить длину строки, разделить её на 2 и умножить на какое нибудь число (определить методом эксперимента, хотя оно все равно не всегда будет точным, но всё же). Получившиеся значение будет точкой смещения для моей функции, т.е. мы найдем примерную середину строки в пикселях.
все таки ради того чтобы отрисовать разный цвет текста и вместо одной функции типа draw_text писать такой громадный код...и для стольких ситуаций.. я лучше одноцветный текст сделаю. и как нибудь иначе выделю то что мне нужно. или
если текст - эт слово, тогда достатчно разделить слово на 2 части и отображать в одних координатах(х и х+ расстояние между буквами), но с выравниванием по разным краям. в тексте же это трудней. Жалко нет операторов типа [b],[.\b] которые в ходе кода меняют текст
http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Суббота, 17 Сентября 2011, 12:13
То, что я написал, создает эффект, который тебе был нужен. А уж пользоваться этими или чем то другим, дело твое. Можно и две новые строки кода вписать в скрипт, тогда достаточно будет просто прописывать scr_text_colorit, да и вообще можно модифицировать скрип до бесконечности и добиваться все новых и новых возможностей.
вы не обратили внимания. я не вижу чтобы ваш код сам позиционировал смешанные тексты. ведб вводить смещение нужно самому. А как быть когда текст в действительности будет смещаться по разному в общем смещение - то же что и координаты.
Пожалуй наиболее приемлимым будет возвращать длину строки и используя это значение задавать новые координаты новому тексту. Что то подобное вы писали тут и я урвал этот кусоск из вашего общего кода) http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Суббота, 17 Сентября 2011, 15:28
Вот тут я описал, как сделать смещение автоматически, до примерного центра текста. Так же можно сделать автоматическим смещение по Y, если посчитать количество вхождений символа '#' в строку и умножить на какое либо значение. Если всё это записать в скрипт, то можно изменить функцию на:
ладно пробегусь по скрипту подробней. мало было времени, сегодня у меня голова с другим багом болела) Если же определяется автоматически, то хорошо. Плохо если код большой. что за функция scr_text_colorit ? я такой не видел http://farchive.jino.ru/
Сообщение отредактировал vsDaTavs - Суббота, 17 Сентября 2011, 15:46
vsDaTavs, это функция описанная моим скриптом ) Код то большой, но он ведь в скрипте, для его использования во время создания игры достаточно будет прописать scr_text_colorit(640,480,text,c_red,c_green,font1) и всё.
Может сегодня модифицирую скрипт под полный автоматизм, выложу тогда. Самому просто интересно, что может получится.
аТнОтХоАн, ну это в общем то тоже можно убрать и заменить на room_height и room_width... просто когда тестировал, сделал так... а потом уже и не думал об этом..
Главное сам эффект, а уж остальное пусть ТС модифицирует и упрощает, как пожелает.