Вторник, 16 Апреля 2024, 11:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Вопрос - Ответ (Game Maker) (Будут пополняться)
Вопрос - Ответ (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, лично у меня из-за этого периодически возникают ошибки. Думаю, это из-за того, что создание всех объектов происходит в определенном порядке, и один может не иметь возможности считать переменную из другого, если тот к этому моменту не был создан.

Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Вопрос - Ответ (Game Maker) (Будут пополняться)
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг