Жанр игры: Раннер На каком движке/конструкторе: Game Maker В каком пространстве: 2D Какой вид в игре: Сбоку Какие есть похожие игры: Subway surf и прочие раннеры Какой Язык Пр. используется в игре: GML Для какой платформы: PC, Android Предоставление исходного кода игры: Не думаю, что он кому-то нужен Какой тип лицензии распространения: Пока Freeware Сроки разработки: Июль 2014 - Сентябрь 2014 Состав имеющейся команды: Я
Игра в стадии бета тестирования, планируется выход в Play Market. Сложность геймплея заключается в вечных поворотах экрана и в смене цветов главного героя, по той причине, что ГГ проходит сквозь блоки только своего цвета.
В гм8 была функция window_set_region_size, а вот в гмс такой нету. Проблема в том, что моя игра должна быть в квадратном окне, то есть с чёрными полосами по бокам. Однако, я так и не понял как это сделать в гмс. Никто не подскажет?
Таки зачастую действительно проще расставить объекты-спаунеры и действовать через них. Но все же полезность таких тем стремится к нулю. А их все создают и создают. Смысл от того что ты тут опубликовал решение своей проблемы? Если у кого то возникнет такая же ситуация, то я ну очень сомневаюсь что он найдет твою тему.
И опять же, если делаешь уроки - не нужно делать такую нечитабельную простыню. Делай исходник и прикладывай сюда, это будет намного лучше. Спасибо за внимание.
Ну, я ведь не создал тему про то, как склепать платформер с помощью Drag & Drop. Урока похожего на мой я не видел, вот и решил написать, вдруг кому-то понадобится
Иногда, нам нужно сделать рандомное создание объекта в определенных местах, и недавно я нашел способ, как это сделать. Для начала создадим три объекта: o_cntrl, rnd_obj, obj. Теперь, в Create объекта o_cntrl пишем:
Код
repeat(irandom_range(1,instance_number(rnd_obj))){ rnd_o=instance_find(rnd_obj,irandom_range(0,instance_number(rnd_obj)-1)) if !rnd_o.c_cr{ rnd_o.c_cr=1 xx=rnd_o.x yy=rnd_o.y instance_create(xx,yy,obj) }}
Теперь объясню поподробнее:
Код
repeat(irandom_range(1,instance_number(rnd_obj)))
Это повторение рандома от 1 раза до количества раз, равных количеству объектов rnd_obj.
Тут выбирается один из объектов rnd_obj, для дальнейшего спауна obj. Также следует учесть тот факт, что номер объекта отсчитывается от 0, потому я и написал:
Код
instance_number(rnd_obj)-1
Код
if !rnd_o.c_cr{
Тут мы проверяем, создан ли уже объект obj на месте rnd_obj.
Код
rnd_o.c_cr=1
Если не создан - сообщаем компьютеру, что этот объект теперь занят
Код
xx=rnd_o.x yy=rnd_o.y instance_create(xx,yy,obj)
И наконец-то создаем объект. Теперь осталось только открыть объект rnd_obj и в Create написать:
Код
c_cr=0
Теперь расставляем по комнате rnd_obj и ставим в углу объект o_cntrl. Запускаем игру в режиме дебага, и перезапускаем несколько раз через окно дебага. Всё, рандом готов. Надеюсь, что этот урок кому-то пригодится. Исходник
Недавно, мне нужно было сделать выбор рандомного имени для объекта врага. Сделал я это таким вот образом: Создал ини файл, назвав его 'imena.ini' и вписал туда 10 имен вот таким образом:
Столкнулся с проблемой: Есть два объекта, которые связаны между собой. И при нажатии определенной клавиши нужно их плавно наклонить, чтобы их вид не изменился. Кто знает, как такое сделать? Заранее спасибо) UPD: Проблема решена изменением оффсета спрайтов)
Сообщение отредактировал karambaman - Вторник, 03 Июня 2014, 23:01
Alexis-63, погуглил, но нашел только битую ссылку на какую-то статью про виды. Проблема именно в том, что спрайт при ходьбе, прыжке в порядке, а вот именно тогда, когда он руками за поверхность цепляется - спрайт искажается.
if m=1{ m=0 t=irandom_range(60,180) // 1 секунда = 30 alarm[0]=t n=irandom_range(1,4) if n=1{instance_create(obj1.x,obj1.y,object)} if n=2{instance_create(obj2.x,obj2.y,object)} if n=3{instance_create(obj3.x,obj3.y,object)} if n=4{instance_create(obj4.x,obj4.y,object)} }
1) Если будет на ГМ-помогу с кодом. 2) Наверное лучше будет перерисованная 3) Думаю,что тут нужно смотреть на графику.Если графика будет пиксельная,из тех игр - то и музыка оттуда же и наоборот 4) Все равно
Добавлено (16.02.2013, 01:37) --------------------------------------------- Просто все забитые слоты будут равны единице.Свободные же-нулю.Но это сработает только с ини.