| Организация кнопок в меню |
|
Gaio
| Дата: Суббота, 31.07.2010, 14:51 | Сообщение # 1 |
|
Молчун
Группа: Пользователь
Сообщений: 20
Статус: Offline
|
В общем в моем первоначальном меню игры были кнопки с отрисованными на них словами, т.е. кнопка с надписью "Выход", потом точно такая же кнопка с другой надписью. Получалось что я насоздавал кучу спрайтов кнопок, потом догнал сам и убедился еще раз почитав форумы что это не правильно. Значит я решил сделать так: создать всего один спрайт пустой кнопки для всех объектов, и нарисовать на ней текст, но получалось так если писать в событии рисования текст у данного объекта, то спрайт кнопки стирался, тогда я создал отдельный объект где рисовал надписи, все получилось: надпись находилась на нужной кнопке. Но захотелось большего и огранизовать все это дело через скрипт, вот тут и назрели вопросы: 1) Как через скрипт в событии рисования присвоить объекту шрифт. 2) Как через скрипт в том же событии при наведении мыши на кнопочку она меняла свой спрайт и обратно. 3) Логично ли в одном событии рисования делать надписи для всех кнопок? 4) Может есть более простой или действенный способ чем я тут намудрил?
RoFighter
|
| |
| | |
|
SpectruM
| Дата: Суббота, 31.07.2010, 15:01 | Сообщение # 2 |
Болтун
Группа: Проверенные
Сообщений: 216
Статус: Offline
|
отвечу на нулевой вопрос: 0) чтобы спрайт не стирался, можно просто написать draw_sprite(sprite_index,x,y) 1) draw_set_font(название_твоего_шрифта) 2) если будешь делать как я написал в пункте 0 то просто меняй sprite_index 3) Я бы сделал в каждой кнопке в событии рисования свою надпись 4) пункты 0+1+2+3
"Мне снилось, что жизнь прекрасна. Неужто сон мой был туманной ложью?" - Э.С. Хупер мой мега-сайт: www.spectrum.at.ua
|
| |
| | |
|
SRes
| Дата: Суббота, 31.07.2010, 15:35 | Сообщение # 3 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2512
Статус: Offline
|
Gaio, Да. Делаешь параллельный массив (или другую базу данных, но я любитель массивов), загоняешь туда все кнопки, циклом отрисовываешь, при нажатии ЛКМ - проверяешь координаты.
Velociped Inc.
|
| |
| | |
|
Gaio
| Дата: Понедельник, 02.08.2010, 10:14 | Сообщение # 4 |
|
Молчун
Группа: Пользователь
Сообщений: 20
Статус: Offline
|
А можно меня тыкнуть в пример такого массива, если есть?
RoFighter
|
| |
| | |
|
SRes
| Дата: Понедельник, 02.08.2010, 10:38 | Сообщение # 5 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2512
Статус: Offline
|
Velociped Inc.
|
| |
| | |
|
Gaio
| Дата: Понедельник, 02.08.2010, 12:58 | Сообщение # 6 |
|
Молчун
Группа: Пользователь
Сообщений: 20
Статус: Offline
|
Покапался, разобрался, вот только не смог сделать так чтобы между кнопочками было расстояние.
RoFighter
|
| |
| | |
|
SRes
| Дата: Понедельник, 02.08.2010, 13:24 | Сообщение # 7 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2512
Статус: Offline
|
Рисовать с бОльшим интервалом (там он равен ширине спрайта), и учитывать "мертвые" зоны при выборе элемента меню.
Velociped Inc.
|
| |
| | |
|
Gaio
| Дата: Понедельник, 02.08.2010, 13:36 | Сообщение # 8 |
|
Молчун
Группа: Пользователь
Сообщений: 20
Статус: Offline
|
Я не нашел правильной функции, или делаю ошибки  . можно подробнее?
RoFighter
|
| |
| | |
|
SRes
| Дата: Понедельник, 02.08.2010, 13:42 | Сообщение # 9 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2512
Статус: Offline
|
В draw эвенте есть цикл, в нем смотри. Добавлено (02.08.2010, 13:42) --------------------------------------------- И как ты так разобрался то ?
Velociped Inc.
|
| |
| | |
|
Gaio
| Дата: Вторник, 03.08.2010, 10:06 | Сообщение # 10 |
|
Молчун
Группа: Пользователь
Сообщений: 20
Статус: Offline
|
Вот так вот и разобрался, что не делал, всё кнопки растягивались.  Добавлено (03.08.2010, 10:06) --------------------------------------------- Объясните дурню что конкретно нужно прописать в цикле рисования.
RoFighter
|
| |
| | |
|
SRes
| Дата: Вторник, 03.08.2010, 11:07 | Сообщение # 11 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2512
Статус: Offline
|
Советую самому разобраться, ведь там черным по белому. Или пока-что отклади это на потом, сделай через обычные объекты меню (я так делал когда еще не очень разбирался).
Velociped Inc.
|
| |
| |
|
|