Вторник, 08 Октября 2024, 05:38

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
LunarPixelДата: Понедельник, 15 Августа 2011, 15:49 | Сообщение # 2041
старожил
Сейчас нет на сайте
Ну я тут biggrin

Arz, в GM нет функции, которая получала бы произвольные имена файлов из папки.
Нужно либо использовать стороннюю dll, либо переименовывать музыку под определенный формат, либо записывать имена файлов с музыкой в текстовый документ и считывать их от туда.
Напишу про второй вариант:

Добавь sound в соответствующую папку, только не выбирай мелодию.
Создай объект и у него create напиши:

Code
num=0


В step напиши:

Code
if !sound_isplaying(sound0) //проверяем играет ли мелодия
{
if file_exists('sound'+string(num)+'.mp3') //если нет, то проверяем существует ли мелодия в папке
{
sound_replace(sound0,'sound'+string(num)+'.mp3',3,0) // если существует то добавляем её к проекту
sound_play(sound0) // и проигрываем
num+=1 // переходим к следующей мелодии
}
else
num=0 // если мелодия не существует, то начинаем проигрывать с первой
}


В папку с проектом помести музыку в формате mp3 и переименуй их по шаблону sound0, sound1, sound2.... и т.д хоть до скольки.
Вся эта музыка будет проигрываться по очереди.




Сообщение отредактировал LunarPixel - Понедельник, 15 Августа 2011, 15:52
SaiteiДата: Понедельник, 15 Августа 2011, 15:56 | Сообщение # 2042
старожил
Сейчас нет на сайте
тоесть основная фича в
Quote (LunarPixel)
if file_exists('sound'+string(num)+'.mp3')

?
разумный подход, так и сделаю. Спасибо :)
фурилонДата: Понедельник, 15 Августа 2011, 22:05 | Сообщение # 2043
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
каксделать гравицацию и физику на ГМ? ГГ идёт идёт и даже если земля кончается не падает, по склону или лестнице не спускается.


Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
LunarPixelДата: Понедельник, 15 Августа 2011, 22:14 | Сообщение # 2044
старожил
Сейчас нет на сайте
фурилон, нужно прочитать справку от и до, почитать статьи, посмотреть примеры в крайнем случае, потом проанализировать полученные знания, включить мозг и тогда всё получится. wink
Если лень это делать, то вообще незачем тогда заниматься созданием игр или чего то ещё. Ибо если бы хоть справку осилил, то увидел бы такие функции, как gravity и gravity_direction smile


valekoДата: Среда, 17 Августа 2011, 21:55 | Сообщение # 2045
частый гость
Сейчас нет на сайте
В кратце суть проблемы: при расстановке башен мышью они игнорируют столкновения с объектами.

Теперь подробнее.
Upor – невидимый объект, которым я маркирую занятые области.
Inventar – окно инвентаря. В зависимости от индекса меняется тип башни, которую оно создает. По клику создает объект Osnovanie.
Osnovanie – промежуточный объект, который привязан к курсору мыши для расстановки башен. Он проверяет свободные области.

Для проверки я пока написал, чтобы Osnovanie рисовал фиолетовую окружность, когда нет столкновения и красную, когда есть. В итоге он всегда рисует красную. Я даже понял почему: несмотря на то, что проверка столкновения стоит в объекте Osnovanie, проверяется почему-то столкновение объекта Inventar. Т.е. как только я убираю Upor из-под инвентаря – круг становится фиолетовым.

Как это победить – не представляю.

Спасибо.


2D NoteWar

Сообщение отредактировал valeko - Четверг, 18 Августа 2011, 12:50
фурилонДата: Четверг, 18 Августа 2011, 09:56 | Сообщение # 2046
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
Может был такой вопрос, но: как сделать передвижение ГГ как в стратегии- выделяем ГГ и курсором показываем место, куда перейти?


Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
УайльдДата: Четверг, 18 Августа 2011, 18:21 | Сообщение # 2047
участник
Сейчас нет на сайте
Как сделать так, чтобы когда глав.герой прыгнул на голову врагу, то враг как бы... умер?

Добавлено (18.08.2011, 18:21)
---------------------------------------------
=(


TranscedДата: Четверг, 18 Августа 2011, 18:43 | Сообщение # 2048
TransceD = Game Maker
Сейчас нет на сайте
Уайльд, тебе нужно изначально склепать врага по запчастям то есть в объекте врага в событии рисования написать такое:
Code
{
draw_sprite(telo,-1,x10,y10);
draw_sprite(golova,-1,x15,y10);
}

Ну и в событии столкновения объекта Гг с спрайтом golova то объект врага удаляется.
LunarPixelДата: Четверг, 18 Августа 2011, 19:06 | Сообщение # 2049
старожил
Сейчас нет на сайте
Transced, зачем?! wacko
А если герой в голову врежется сбоку, а не сверху?!

Достаточно сделать проверку коллизии или же наличия врага под героем. smile


BrightSpotДата: Суббота, 20 Августа 2011, 01:02 | Сообщение # 2050
заслуженный участник
Сейчас нет на сайте
Quote (LunarPixel)
А если герой в голову врежется сбоку, а не сверху?!

Достаточно сделать проверку коллизии или же наличия врага под героем.

если точнее:
в столкновении гг с мобом:
Code
if y+??>other.y-??
{with(other){instance_destroy()}}

?? - в первом случае половина высоты спрайта ГГ(если он отцнтрирован)
во втором случае половина спрайта моба(половина имеется ввиду половина высоты)

Добавлено (20.08.2011, 00:56)
---------------------------------------------

Quote (фурилон)
выделяем ГГ и курсором показываем место, куда перейти?
e_x
с выделением не парился еще но движение можно осуществить так:
в Create перса:
Code
xx=x
yy=y

Дальше в Step:
Code
if mouse_check_button(mb_right)//если нажата правая кнопка мыши...
{xx=mouse_x;yy=mouse_y}//задаем точку к которой нужно идти...
if !( xx=x and yy=)//если новая точка не сходится с позицией перса...
{mp_ptential_step(xx,yy,speed)}//ведем перса к заданой точке.

P.S. возможно в написании ф-ций допустил ошибки=))

Добавлено (20.08.2011, 01:02)
---------------------------------------------




Более мощный компьютер глючит быстрее и точнее.
михаДата: Суббота, 20 Августа 2011, 17:12 | Сообщение # 2051
почти ветеран
Сейчас нет на сайте
Как отцентрировать спрайт кодом?
LunarPixelДата: Суббота, 20 Августа 2011, 18:21 | Сообщение # 2052
старожил
Сейчас нет на сайте
миха, sprite_set_offset(sprite0,sprite_width/2,sprite_height/2)

SaiteiДата: Суббота, 20 Августа 2011, 22:08 | Сообщение # 2053
старожил
Сейчас нет на сайте
Что будет полезнее: статья "Как создать ммо" или пример? Я о доп. библиотеке 39dll и Game Maker
LunarPixelДата: Суббота, 20 Августа 2011, 22:12 | Сообщение # 2054
старожил
Сейчас нет на сайте
Arz, а у тебя есть опыт в создании ММО, чтобы писать статью?! smile
Напиши урок + пример, основанный на любом жанре ММО. Но только если это будет что то новое, а не то что уже есть. Ну это лично мое мнение. Ты то можешь делать всё, что тебе захочется. smile


SaiteiДата: Суббота, 20 Августа 2011, 22:17 | Сообщение # 2055
старожил
Сейчас нет на сайте
Quote (LunarPixel)
Arz, а у тебя есть опыт в создании ММО, чтобы писать статью?! smile

Да, я начал увлекаться этим ещё с прошлого года smile
Quote (LunarPixel)
Напиши урок + пример, основанный на любом жанре ММО. Но только если это будет что то новое, а не то что уже есть. Ну это лично мое мнение. Ты то можешь делать всё, что тебе захочется. smile

Я как бы планировал написать всё старенькое, только более подробно.
Ладно, спасибо за совет: сделаю и то, и то biggrin
P.S. Утопал писать примерчик smile
LunarPixelДата: Суббота, 20 Августа 2011, 22:27 | Сообщение # 2056
старожил
Сейчас нет на сайте
Quote (Arz)
Я как бы планировал написать всё старенькое, только более подробно.

Ну можешь и так конечно, таких уроков по крайней мере мало, в отличии, например, от уроков по созданию ТДС. smile
Все же добавь что нибудь свое, какую нибудь интересную особенность, или жанр выбери необычный для ММО. Чтобы было интересно и тем, кто уже умеет работать с 39dll smile


фурилонДата: Воскресенье, 21 Августа 2011, 14:01 | Сообщение # 2057
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
Делая стратегию, решил добавить всем знакомый приём открытия карты, по мере продвижения по ней ГГ ( проявление из чёрного ). Решил сделать это простейшим способом: тёмная зона- это большое количество чёрных объектов, которые при появлении в прописанный им радиус взаимодействия с ГГ, исчезают, оставляя под собой уже изученный участок. Но решив сделать так, не понял как заставить появляться детали самой карты- лес, вода, нпс. Ведь на их месте может быть только 1 объект, и в данном случае это чёрный кусочек.
Как решить эту задачу? =)
Пожалуйста, уже день голову ломаю)))



Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
LunarPixelДата: Воскресенье, 21 Августа 2011, 14:06 | Сообщение # 2058
старожил
Сейчас нет на сайте
фурилон, при расстановке объектов в комнате убери галочку Delete underlying на вкладке Objects, это позволит ставить в одну и туже позицию много объектов, не удаляя предыдущие. Таким образом сделай карту и поверх заставь её черными объектами, все объекты под черными сохранятся. smile

BrightSpotДата: Воскресенье, 21 Августа 2011, 16:50 | Сообщение # 2059
заслуженный участник
Сейчас нет на сайте
или можно просто при создании комнаты "построить" эти черные пятна кодом...
хотя мне кажется что это лишняя нагрузка и легче нарисовать черный сурфейс и стирать его вокруг гг...



Более мощный компьютер глючит быстрее и точнее.
фурилонДата: Воскресенье, 21 Августа 2011, 18:16 | Сообщение # 2060
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
Quote (BrightSpot)
легче нарисовать черный сурфейс и стирать его вокруг гг...

Тоже мысль, а как?)))



Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
Поиск:

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