если стенки сверху и снизу разные объект. когда игрок столкнулся с одной из стенок, узнаём верхняя она или нижняя(как на картинке). если мы столкнулись с нижней стенкой, то проверям расстояние с помощью collision_line. Т.е. создаём счётчик ОТ нуля ДО опред. числа, именно это число увеличивая на еденицу, проверяем каждую точку по вертикали на наличие столкновения с верхней стенкой. Когда столкновение произойдёт, т.е. сработает функция collision_line, то узнаём сколько намотал счётчик, например 300. Значит растояние от нашего игрока до другой стенки составляет 300 px. [code] for i=0; i<480;(хоть какое число или размер комнаты) i+=1 { if collision_line(x,y,x,y+i,название объекта с которым сталкиваемся)then{rasstoanie_up=i;}//находим расстояние от объекта ВВЕРХ; if collision_line(x,y,x,y-i,название объекта с которым сталкиваемся)then{rasstoanie_down=i;}//находим расстояние от объекта ВНИЗ; } вообщем реализаций куча, это только самая топорная. можно было ещё объекты от игрока пускать,следовательно вверх и вниз и узнавать сколько они пролетели пикселей.
Помимо прочего, их можно будет использовать и против монстров.
почти это я имел ввиду. просто я заметил что у тебя чтобы драться с монстром на него надо нажать, а как я предложил выше, если ты случайно открыл нерпавильнюу клетку тебя жёстко аттакуют. Кстати на чём прогаешь в Unity? Хочу тоже начать обучаться делать в ней приложения, но незнаю как
Народ, как там у GMS с экспортом в Android и iOS. Как fps, глючность. И Эти инструменты экспорта доступны пользователям или они на своей стороне собирают проекты?
посмотрел на всё это и в голове появилась мысль, а почему бы тебе не сделать такой вид монстров: когда ты открыл клетку, тоесть стенка между героём и монстром исчезла, монстр делает выстрел, и игрок получает КРИТИЧЕСКУЮ потерю здоровья. Смысл в том чтобы игрок именно избегал таких мест. А задумка и реализация интересная.
pixeye, глубоко извиняюсь что потрошу уже не актуальную тему) Здесь будет немножко не по теме. Недавно закончил писать дизайн документ для мобильной игры(смесь логики+чуток рпг) и решил занятся исследованием похожих игр и найти вдохновение (в общем о Данжелоте я знал, видео видел, но не вдавался в подробности). И всё таки в мыслях первой игрой оказалась Dungelot. Не считайте меня психом, но я усидчиво прочитал все 50 страниц! этой темы и все словесные баталии которые здесь разворачивались выглядили как супер-экшен. Сильно удивился как менялся концепт игры из РПГ с персонажем бегающем по большой карте в более казуальную РПГ версию на экран. И самое интересное мне было узнать в какой момент вы отказались от присутствия изображения игрока на карте точнее не было изображений его передвижений.(просто я не был очевидцем событий разработки вашей игры), На мой взгляд, тыканье в тачпад намного сделало игру динамичней и интересней если бы управление было стрелками на клавиатуре(или кнопками на сенсорном экране). Как мне кажется, Отсутствии игрока на карте сконцентрировало внимание на процессе игры(персонаж у нас есть, но мы не видим его постоянно и по мне это отличное решение). И всего что я прочёл сделал вывод - для мобилок упрощай геймплей и готовся как к графическому редизайну так и геймплейному. Вообщем, всё сделанно круто. Игра вышла отличная(к сожалению играл только в WEB версию). Теперь слежу за разработкой второй части. Ваши игры вдохнавляют и всё равно ставят определённую планку качества(на данном форуме это особенно важно! Спасибо если прочтёте и прокомментируйте. Спасибо за отличную игру. Интересно было бы конечно пообщатся.
Добрый день, форумчане. Появилась довольно большая проблема(о ней я писал в теме Game Maker вопрос-ответ, но ответа не получил, видно неправильно описал задачу). У меня есть загрузчик данных из файла(грузит координаты ТРЁХ точек, тем самым образовывая треугольный примитив). Далее по процессу все треугольные примитивы отрисовываются в сурфейсе посредством цикла, от самой первой до последней. Для каждого треугольника создаётся свой сурфейс, а я хочу сделать чтобы все сурфейсы присутствували на одном ХОЛСТЕ. Как это сделать?
Код из скрипта прилагаю ниже:
Код
//ЗДЕСЬ ИДЁТ ЗАГРУЗКА ДАННЫХ ИЗ ФАЙЛА file=argument1+argument0; smooth=argument2;//false;//показыват, производить ли сглаживание текстр(для текстур актуально, для основного колорита нет) section_width = 32 section_height = 32 texture_set_repeat(true) for(i = 0;i <= sprite_get_number( texture_spr);i += 1) textures[i] = sprite_get_texture(texture_spr,i); file =file_text_open_read(file)
//вот тут назначаем background для объекта. background состоит из всего сурфейса back = background_create_from_surface(self_surface,0,0,maxx[body]-minx[body],maxy[body]-miny[body]+1,true,smooth,) }
Сообщение отредактировал AicedorMan - Воскресенье, 27 Января 2013, 14:31
Есть огромная проблема. Загружаю данные из файла. Из данных строются треугольные примитивы, которые должны рисоваться в сурфейсе, а далее объеденятся в сурфейсе и образуют background. Проблема в том что код загрузки данных не мой, поэтому не могу разобраться.
До этого момента всё работает нормально, а дальше мне нужно нарисовать все примитивы в сурфейсе и закинуть их в один объект.
[spoiler= Код отрисовки данных(здесь и наблюдается проблема]
Код
for(body=0;body<body_number;body+=1) { [color=green]//это загрузка данных в массив[/color] minx[body] = room_width miny[body] = room_height maxx[body] = 0 maxy[body] = 0 for(vertex=0;vertex<vertex_number[body];vertex+=1) { if (px[body,vertex] > maxx[body]) maxx[body] = px[body,vertex] if (py[body,vertex] > maxy[body]) maxy[body] = py[body,vertex] if (px[body,vertex] < minx[body]) minx[body] = px[body,vertex] if (py[body,vertex] < miny[body]) miny[body] = py[body,vertex];}
В этом скрипте создаётся объект, но проблема в том что он создаётся каждый цикл, пока не прошарит всё, а у меня это около 400 циклов . Надо вынести этот объект как-нибудь в один, но который хранит все сурфейсы для всех 400 циклов [code=Вот часть скрипта с которой не могу разобраться] //ЗДЕСЬ и начинает работать скрипт по кривому, создаёт для каждого примитива новый объект, а нужен один temp = instance_create(minx[body],miny[body],obj_terrain); temp.self_surface = surface_create(maxx[body]-minx[body],maxy[body]-miny[body]+1)
//создаём для объекта background temp.back = background_create_from_surface(temp.self_surface,0,0,maxx[body]-minx[body],maxy[body]-miny[body]+1,true,smooth,/)
AlexRabbit, список задачь я писать не буду, все они вполне реализуемы на game maker. Меня больше трефожит, тот факт что многие кто создавал довольно многообещающие,перспективные проекты на GM, не докончили их. Меня это в основном волнует. Поэтому я обращаюсь к народу с таким вопросом.
AlexRabbit, спасибо. Сейчас копаюсь в этом направлении. qazer, меня эта тема очень волнует(остаться работать на Game Maker или сваливать). Спасибо, все достоинства Game Maker я знаю. Выявляю только его недостатки.
Доброго времени суток, разработчик. Все слышали о Game Maker, многие его использовали в своих разработках. Порог "вхождения" в суть разработки на нём, довольно быстрый. В данный момент его позиционируют как конструктор для нубов, новичков. Но меня интересует более конкретное его использоование(именно для коммерции).
1) Какие игры созданные в Game Maker стали топовыми?(если имеете возможность, напиши название). 2) Какие недостатик есть у Game Maker именно в производительности, размерах приложения?( не берём в счёт плохую реализацию 3d, сетевой части и стоимость)
Прошу в ответах писать примеры. Очень хочется услышать мнение тех кто уже не работает с GM. Пока всё.
Сообщение отредактировал AicedorMan - Вторник, 08 Января 2013, 07:17
Хорошо что нашёл эту тему. У меня пару вопросов(на офф. форуме отписался, но ответа ещё не получил): 1) Есть в движке возможность отрисовывать примитивы(и всякие окружности, квадраты, треугольники, линии), с возможностью заливкой их цветом или текстурой(и можно использовать примитивы как форму для физики). Или всё жё нужно использовать Flash для отрисовки таких примитивов. 2) Каким методом можно реализовать скроллинг камеру. Есть готовый класс(или пример) или нужно сдвигать все обЪекты относительно игрока? Жду с нетерпением
SanAV, уроки смотрел. Но как-то всё запутанно. В общем хотел и узнать мнение других пользователей Monkey, может кто-то смог бы меня натаскать, а так я вижу таковых нет.
TideS, я сам себе хозяин дружище! и пока интернет является одним из свободных по правам местом в мире я буду сидеть на gcup хоть с другого компа, хоть с прокси
Товарищи, призываю вас к ответу! Кто нибудь знает на каких условиях Yoyo Games может конвертнуть игру на iOS и Android системы?! Я в новостях видел что пару игр они уже отправили на прилавки AppStore. Но на каком "основании". А то мне уж чень больно охота и свою игру через них отправить на рынок приложений.
Уайльд, разумеется. Просто это надо реализовывать через событие Draw и рисовать формы. Например draw_ellipse(x,y,r,outline);//x,y-координаты, r-радиус, outline-будет ли закрашена окружность но тут есть маленькая загвостка. чтобы сделать это как в хелафбаре нужно изменять значение цвета при рисовании: make_color_rgb(red,green,blue) так что это реализовать можно, но трудно. Вот примерный код:
Code
//всё реализуем в событии draw sv=c; color=make_color_rgb(0,sv,0); draw_set_color(color); draw_set_circle_precision(30); draw_circle(x,y,30,0); if keyboard_check(vk_up)then c+=10; else if keyboard_check(vk_down)then c-=10;
но это грубый код. его надо оттачивать чтобы полоска жизни переходила от тёмно-зелёного к красной. я этого делать не стал, так что банзай