Вопрос - Ответ (Game Maker)
| |
Anthem | Дата: Вторник, 30 Декабря 2014, 20:15 | Сообщение # 5261 |
Д'Артаньян
Сейчас нет на сайте
| MrForest, ну тогда логично, что при нажатии появляются все тексты, т.к. переменная меняется на правду в каждом объекте. Делай либо по переменной в объекте, либо по событию нажатия в каждом
Текстовый контент для вашей игры (бесплатно) Сценарист, геймдизайнер для Вашей игры
|
|
| |
Raven84 | Дата: Вторник, 30 Декабря 2014, 20:23 | Сообщение # 5262 |
старожил
Сейчас нет на сайте
| MrForest, Цитата Когда я нажимаю на один из 20 объектов, должен показаться текст, тот который записан в переменной text. Ты именно нажимаешь на объект? Если так,тогда считывай просто id объекта в координатах мыши в момент нажатия и пользуйся with(id считанного объекта) {tex = true}.
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
Сообщение отредактировал Raven84 - Вторник, 30 Декабря 2014, 20:29 |
|
| |
rogueliker | Дата: Пятница, 02 Января 2015, 13:43 | Сообщение # 5263 |
частый гость
Сейчас нет на сайте
| Обращаюсь к вам. Подскажите, как сделать комиксы в игре и их можно?
Сообщение отредактировал rogueliker - Пятница, 02 Января 2015, 13:49 |
|
| |
jayreck | Дата: Пятница, 02 Января 2015, 15:29 | Сообщение # 5264 |
участник
Сейчас нет на сайте
| rogueliker, можно сделать в gm много чего и даже комиксы
g-null-dc Ippolit - тамагоч немного моего пиксель арта
|
|
| |
rogueliker | Дата: Пятница, 02 Января 2015, 15:48 | Сообщение # 5265 |
частый гость
Сейчас нет на сайте
| jayreck, это и ежику понятно. Но как это реализовать?
|
|
| |
skypo | Дата: Суббота, 03 Января 2015, 13:38 | Сообщение # 5266 |
участник
Сейчас нет на сайте
| Цитата rogueliker ( ) Но как это реализовать? множеством способов. запустить через draw_sprite с таймером добавление/смену картинок или шандарахнуть заранее заготовленный swf-файл с комиксом, или через добавление/смену фонов, или еще как. зависит только от прямоты твоих рук и особенностей комикса.
Добавлено (03 января 2015, 13:38) --------------------------------------------- есть проблема. кто поможет или даже натолкнет на мысль как решить - плюс в репу и моя благодарность. итак, есть некая текстура - прямоугольная, конечно (рис.1). задача - отобразить трапецию из нее. как я делаю сейчас: я назначаю текстуру через draw_primitive_begin_texture(pr_trianglestrip, текстура) и последовательно отрисовываю треугольники через draw_vertex_texture. получается рис.2, т.е. текстуру "рвет", а хотелось бы как на рис.3
требуется методологическая помощь. игра 2d, углы в трапеции постоянно изменяются от раза к разу, более того на одном экране может быть несколько разнонаправленных трапеций. при подсказках просьба указывать конкретные команды и названия, чистое теоретизирование мне едва ли поможет.
Последний готовый проект: флэппиберд с яйцами "Rescue Bird"(скачать с GooglePlay) В разработке: 3-в-ряд "Корабельная команда", рогалик "Живой Мир", квест "Экипаж "Солнечной" (ждите на КРИЛ-15!)
Сообщение отредактировал skypo - Суббота, 03 Января 2015, 13:47 |
|
| |
OpenGOO | Дата: Суббота, 03 Января 2015, 14:22 | Сообщение # 5267 |
почти ветеран
Сейчас нет на сайте
| Цитата skypo ( ) я назначаю текстуру через draw_primitive_begin_texture(pr_trianglestrip, текстура) используй pr_trianglefan
Набросал я тихий ужас для текстуры 64х64, цифры на глаз взял и в целом получилось не плохо.
xx, yy это у меня координаты мыши
Код draw_set_colour(c_white); var tex = background_get_texture(background2);
draw_primitive_begin_texture(pr_trianglestrip, tex); draw_vertex_texture(xx+0, yy+0, 0, 0); draw_vertex_texture(xx-2, yy+16, 0, 0.25); draw_vertex_texture(xx+16, yy+0, 0.25, 0); draw_vertex_texture(xx+14, yy+16, 0.25, 0.25); draw_vertex_texture(xx+32, yy+0, 0.5, 0); draw_vertex_texture(xx+32, yy+16, 0.5, 0.25); draw_vertex_texture(xx+48, yy+0, 0.75, 0); draw_vertex_texture(xx+50, yy+16, 0.75, 0.25); draw_vertex_texture(xx+64, yy+0, 1, 0); draw_vertex_texture(xx+66, yy+16, 1, 0.25); draw_primitive_end();
draw_primitive_begin_texture(pr_trianglestrip, tex); draw_vertex_texture(xx-2, yy+16, 0, 0.25); draw_vertex_texture(xx-4, yy+32, 0, 0.5); draw_vertex_texture(xx+14, yy+16, 0.25, 0.25); draw_vertex_texture(xx+12, yy+32, 0.25, 0.5); draw_vertex_texture(xx+32, yy+16, 0.5, 0.25); draw_vertex_texture(xx+32, yy+32, 0.5, 0.5); draw_vertex_texture(xx+50, yy+16, 0.75, 0.25); draw_vertex_texture(xx+52, yy+32, 0.75, 0.5); draw_vertex_texture(xx+66, yy+16, 1, 0.25); draw_vertex_texture(xx+68, yy+32, 1, 0.5); draw_primitive_end();
draw_primitive_begin_texture(pr_trianglestrip, tex); draw_vertex_texture(xx-4, yy+32, 0, 0.5); draw_vertex_texture(xx-6, yy+48, 0, 0.75); draw_vertex_texture(xx+12, yy+32, 0.25, 0.5); draw_vertex_texture(xx+10, yy+48, 0.25, 0.75); draw_vertex_texture(xx+32, yy+32, 0.5, 0.5); draw_vertex_texture(xx+32, yy+48, 0.5, 0.75); draw_vertex_texture(xx+52, yy+32, 0.75, 0.5); draw_vertex_texture(xx+54, yy+48, 0.75, 0.75); draw_vertex_texture(xx+68, yy+32, 1, 0.5); draw_vertex_texture(xx+70, yy+48, 1, 0.75); draw_primitive_end();
draw_primitive_begin_texture(pr_trianglestrip, tex); draw_vertex_texture(xx-6, yy+48, 0, 0.75); draw_vertex_texture(xx-8, yy+64, 0, 1); draw_vertex_texture(xx+10, yy+48, 0.25, 0.75); draw_vertex_texture(xx+8, yy+64, 0.25, 1); draw_vertex_texture(xx+32, yy+48, 0.5, 0.75); draw_vertex_texture(xx+32, yy+64, 0.5, 1); draw_vertex_texture(xx+54, yy+48, 0.75, 0.75); draw_vertex_texture(xx+56, yy+64, 0.75, 1); draw_vertex_texture(xx+70, yy+48, 1, 0.75); draw_vertex_texture(xx+72, yy+64, 1, 1); draw_primitive_end();
Идея состояла в том, чтобы разбить текстуру на как можно большее количество полигонов, чтобы не нужный эффект был менее заметен.
А если надо еще лучше, то надо уже 3Д использовать.
Это уже ретро с лесенкой Код draw_set_colour(c_white); var tex = background_get_texture(background2); var dd = distor; draw_primitive_begin_texture(pr_trianglestrip, tex); draw_vertex_texture(xx-(32+dd*1), yy+0, 0, 0); draw_vertex_texture(xx-(32+dd*1), yy+16, 0, 0.25); draw_vertex_texture(xx+(32+dd*1), yy+0, 1, 0); draw_vertex_texture(xx+(32+dd*1), yy+16, 1, 0.25); draw_primitive_end();
draw_primitive_begin_texture(pr_trianglestrip, tex); draw_vertex_texture(xx-(32+dd*2), yy+16, 0, 0.25); draw_vertex_texture(xx-(32+dd*2), yy+32, 0, 0.5); draw_vertex_texture(xx+(32+dd*2), yy+16, 1, 0.25); draw_vertex_texture(xx+(32+dd*2), yy+32, 1, 0.5); draw_primitive_end();
draw_primitive_begin_texture(pr_trianglestrip, tex); draw_vertex_texture(xx-(32+dd*3), yy+32, 0, 0.5); draw_vertex_texture(xx-(32+dd*3), yy+48, 0, 0.75); draw_vertex_texture(xx+(32+dd*3), yy+32, 1, 0.5); draw_vertex_texture(xx+(32+dd*3), yy+48, 1, 0.75); draw_primitive_end();
draw_primitive_begin_texture(pr_trianglestrip, tex); draw_vertex_texture(xx-(32+dd*4), yy+48, 0, 0.75); draw_vertex_texture(xx-(32+dd*4), yy+64, 0, 1); draw_vertex_texture(xx+(32+dd*4), yy+48, 1, 0.75); draw_vertex_texture(xx+(32+dd*4), yy+64, 1, 1); draw_primitive_end();
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Воскресенье, 04 Января 2015, 15:24 |
|
| |
HellProgrammer | Дата: Суббота, 03 Января 2015, 18:54 | Сообщение # 5268 |
частый гость
Сейчас нет на сайте
| skypo, можно через trianglefan, или же 2 текстуры с разным уровнем наклона использовать (проще, но муторнее).
Программист из ада.
|
|
| |
HaGe | Дата: Воскресенье, 25 Января 2015, 08:29 | Сообщение # 5269 |
постоянный участник
Сейчас нет на сайте
| кто-нибудь, подскажите материал по шейдерам. очень хотел бы научиться, но ничего не понимаю )
|
|
| |
LunarPixel | Дата: Воскресенье, 25 Января 2015, 12:01 | Сообщение # 5270 |
старожил
Сейчас нет на сайте
| HaGe, можешь попробовать 4 мои статьи почитать на эту тему по основам, может помогут. Первая тут, остальные там же, думаю, найдешь.
|
|
| |
Strekozlinski | Дата: Воскресенье, 25 Января 2015, 12:22 | Сообщение # 5271 |
почетный гость
Сейчас нет на сайте
| HaGe, если статей Lunara окажется недостаточно, то можешь еще почитать здесь, все шесть статей. Довольно неплохо разжевано для новичков в этом деле.
[2D] Литературовед [Google play]
Сообщение отредактировал Showman - Воскресенье, 25 Января 2015, 12:25 |
|
| |
t111 | Дата: Понедельник, 02 Февраля 2015, 17:40 | Сообщение # 5272 |
почетный гость
Сейчас нет на сайте
| Кто знает как в гм сделать ограничение на символы когда предлагается игроку ввести Текст ?
как известно, встречают по одежке, а провожают uninstall'ом"
|
|
| |
jayreck | Дата: Понедельник, 02 Февраля 2015, 22:14 | Сообщение # 5273 |
участник
Сейчас нет на сайте
| t111, Код if string_length(my_string)>24 { /*ошибка если символов больше 24*/ } // возвращает количество символов в переменной
g-null-dc Ippolit - тамагоч немного моего пиксель арта
|
|
| |
Anthem | Дата: Четверг, 12 Февраля 2015, 06:25 | Сообщение # 5274 |
Д'Артаньян
Сейчас нет на сайте
| Можно как-то принудительно писать числа меньше 10 двумя цифрами?
Текстовый контент для вашей игры (бесплатно) Сценарист, геймдизайнер для Вашей игры
|
|
| |
LunarPixel | Дата: Четверг, 12 Февраля 2015, 12:25 | Сообщение # 5275 |
старожил
Сейчас нет на сайте
| Anthem,
Код if (n<10) { draw_text(x,y,'0'+string(n)); } else { draw_text(x,y,n); }
|
|
| |
Anthem | Дата: Пятница, 13 Февраля 2015, 17:44 | Сообщение # 5276 |
Д'Артаньян
Сейчас нет на сайте
| LunarPixel, спасибо. Тоже так делал, просто в итоге получается довольно масштабная конструкция, поэтому подумал, что возможно есть способ как-то это автоматизировать
Текстовый контент для вашей игры (бесплатно) Сценарист, геймдизайнер для Вашей игры
|
|
| |
LunarPixel | Дата: Пятница, 13 Февраля 2015, 18:33 | Сообщение # 5277 |
старожил
Сейчас нет на сайте
| Anthem, В каком плане масштабная? Если выходит за рамке того, что я привел, и повторяется часто, то просто напиши свою функцию для вывода такого текста и ей пользуйся.
|
|
| |
Anthem | Дата: Четверг, 19 Февраля 2015, 14:32 | Сообщение # 5278 |
Д'Артаньян
Сейчас нет на сайте
| LunarPixel, в плане размера кода. Думал, есть специальная функция, но раз нет, деваться некуда. Еще один вопрос: Я так понимаю, что использовать переменную в Create одного объекта, которая была инициализирована в Create другого объекта не совсем правильная практика. Как делать это корректно? Т.е. использовать общее значение для разных переменных
Текстовый контент для вашей игры (бесплатно) Сценарист, геймдизайнер для Вашей игры
|
|
| |
Fill_Freeman | Дата: Четверг, 19 Февраля 2015, 20:30 | Сообщение # 5279 |
почетный гость
Сейчас нет на сайте
| Anthem, Не совсем понимаю, в чем плохая практика такого использования переменных. Если у меня, например у объекта есть некий обязательный параметр A, а другой объект, по задумке во время создания должен учитывать этот параметр, то почему бы и нет?
Я сам тот еще говнокодер, поэтому тоже выслушал бы мнения по этому поводу.
|
|
| |
Anthem | Дата: Пятница, 20 Февраля 2015, 09:13 | Сообщение # 5280 |
Д'Артаньян
Сейчас нет на сайте
| Fill_Freeman, лично у меня из-за этого периодически возникают ошибки. Думаю, это из-за того, что создание всех объектов происходит в определенном порядке, и один может не иметь возможности считать переменную из другого, если тот к этому моменту не был создан.
Текстовый контент для вашей игры (бесплатно) Сценарист, геймдизайнер для Вашей игры
|
|
| |
|