Реализация всплывающих сообщений и диалогов.
| |
Sholar | Дата: Понедельник, 12 Июля 2010, 12:58 | Сообщение # 1 |
Draw With Me
Сейчас нет на сайте
| При наведении мышки на иконку(предмета или ещё чего) необходимо отображение информации о объекте, но вот проблемка... информации о объектах (а в некоторых имеет картинка) не всегда красиво отображается... и приходится делать каждое окошко под каждый объект... интересно можно ли этот процесс автоматизировать, ограничившись, скриптом в который нужно будет вводит только инфу и иконку о объекте. Я прикрепил схематичное сообщение.. думаю всё понятно, но поясню всё же... зелёное это текст, с ним в основном и проблема, как его сделать в определённые рамки.. второе это размер сообщения (2 красные линии х и y) проблема в том что бы оно зависело от количества символов и строилась по X и Y... строиться сообщение должно из координаты мышки, тем самым, нужно строить выше этой координаты, на высоту равную количеству строк... вообщем дурдом @_@ надеюсь на Вашу помощь.
https://vk.com/g_sholar
|
|
| |
Apati | Дата: Понедельник, 12 Июля 2010, 13:45 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Для рисования текста в прямоугольнике используй draw_text_ext(x,y,string,sep,w) sep - указывает расстояние разделения между строками текста в "многостроковом" тексте. Используйте -1, чтобы получить расстояние по умолчанию. Используйте w, чтобы указать ширину текста в пикселях. Строки, которые более длинные, разделяются шириной в пробелах или знаках. Используйте -1, чтобы не разбивать строки. Для того, чтобы определить высоту текста, используй string_height_ext(string,sep,w) Высота строки в текущем шрифте при рисовании, используя функцию draw_text_ext(). Пример (я не проверял, может не работать): Code text="Текст с параметрами"; draw_set_color(c_white); draw_roundrect( mouse_x-250, mouse_y-string_height_ext(text,-1,250), m ouse_x, mouse_y, 0); draw_set_color(c_black); draw_text_ext( mouse_x-250, mouse_y-string_height_ext(text,-1,250), t ext, -1, 250); Ну и потом легко нарисовать иконку и прочее.
Сообщение отредактировал Apati - Понедельник, 12 Июля 2010, 14:03 |
|
| |
Sholar | Дата: Понедельник, 12 Июля 2010, 14:00 | Сообщение # 3 |
Draw With Me
Сейчас нет на сайте
| Apati Спасибо (+), немного доделал для длины... но всё же тема актуальна. Нужно реализовать перехода др строку, если длина строки превышает опр число.
https://vk.com/g_sholar
|
|
| |
Apati | Дата: Понедельник, 12 Июля 2010, 14:01 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| Quote (DrawPlayer) Нужно реализовать перехода др строку, если длина строки превышает опр число. так для этого и надо использовать draw_text_ext
|
|
| |
Sholar | Дата: Понедельник, 12 Июля 2010, 14:14 | Сообщение # 5 |
Draw With Me
Сейчас нет на сайте
| Quote так для этого и надо использовать draw_text_ext Всё понял. Спасибо ещё раз. Добавлено (12.07.2010, 14:14) --------------------------------------------- ЗЫ. В твоём коде, снизу рисуется белый прямоугольник как фон, а можно использовать картинку, т.е. что бы она строилась и использовалась за мест прямоугольника... (имея скажем изображения 4 углов, 4 стороны и сам фон) (именно строилась, а не растягивалась)
https://vk.com/g_sholar
Сообщение отредактировал DrawPlayer - Понедельник, 12 Июля 2010, 14:15 |
|
| |
Saracen | Дата: Понедельник, 12 Июля 2010, 14:48 | Сообщение # 6 |
участник
Сейчас нет на сайте
| Quote (DrawPlayer) использовать картинку draw_sprite тебе в помощь. рисуй поверх draw_roundrect.
|
|
| |
Sholar | Дата: Вторник, 13 Июля 2010, 17:48 | Сообщение # 7 |
Draw With Me
Сейчас нет на сайте
| Как сделать что бы элемент, держался постоянно в окне (в рамках игрового вида) даже если мышку увести за пределы окна. Добавлено (13.07.2010, 11:18) --------------------------------------------- Вот прикрепил файл. В нем не происходит подсчёт строк и их длины(это происходит в draw_sprite_ext) следовательно изображение строится не правильно... мб где я ступил... + как сделать то что писал выше Quote Как сделать что бы элемент, держался постоянно в окне (в рамках игрового вида) даже если мышку увести за пределы окна. файл не прикрепился Т_Т вот код... для теста вставьте в событие Draw Code text="one twoo treee chetree"; draw_text_ext( mouse_x-string_width_ext(text,-1,250), mouse_y-string_height_ext(text,-1,250), text, -1, 50); draw_set_color(c_black); draw_roundrect( mouse_x-string_width_ext(text,-1,250)-15, mouse_y-string_height_ext(text,-1,250)-15, mouse_x+15, mouse_y+15, 0); str_x=string_width_ext(text,-1,250)+30 str_y=string_height_ext(text,-1,250)+30 draw_sprite_stretched_ext(spr_5,0,mouse_x-string_width_ext(text,-1,250)-15,mouse_y-string_height_ext(text,-1,250)-15,str_x,str_y,-1,1) draw_sprite(spr_3,1,mouse_x+1+15,mouse_y+1+15) draw_sprite(spr_4,1,mouse_x-string_width_ext(text,-1,250)-15,mouse_y+1+15) draw_sprite(spr_1,1,mouse_x-string_width_ext(text,-1,250)-15,mouse_y-string_height_ext(text,-1,250)-15) draw_sprite(spr_2,1,mouse_x+1+15,mouse_y-string_height_ext(text,-1,250)-15) draw_set_color(c_white); draw_text_ext( mouse_x-string_width_ext(text,-1,250), mouse_y-string_height_ext(text,-1,250), text, -1, 50); draw_text(100,100,str_x) draw_text(100,150,str_y) где spr_1,spr_2,spr_3,spr_4 - углы, а spr_5 фон.Добавлено (13.07.2010, 17:48) --------------------------------------------- ап...
https://vk.com/g_sholar
Сообщение отредактировал DrawPlayer - Вторник, 13 Июля 2010, 11:22 |
|
| |
|