Четверг, 14 Ноября 2024, 18:48

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
AicedorManДата: Понедельник, 30 Декабря 2013, 14:36 | Сообщение # 4701
был не раз
Сейчас нет на сайте
Народ, как там у GMS с экспортом в Android и iOS. Как fps, глючность. И Эти инструменты экспорта доступны пользователям или они на своей стороне собирают проекты?
adast12Дата: Понедельник, 30 Декабря 2013, 19:50 | Сообщение # 4702
почетный гость
Сейчас нет на сайте
Как сделать так чтобы game maker вычислил среднее значение между пустотой объекта?
Есть объект в котором внутри пустота и в ней летит игрок.
Как сделать так чтобы при соприкосновении игрока с объектом произошел вычислительный процесс среднего расстояния между стенок и записался в переменную?


Сообщение отредактировал adast12 - Понедельник, 30 Декабря 2013, 19:51
AicedorManДата: Понедельник, 30 Декабря 2013, 23:14 | Сообщение # 4703
был не раз
Сейчас нет на сайте
если стенки сверху и снизу разные объект. когда игрок столкнулся с одной из стенок, узнаём верхняя она или нижняя(как на картинке). если мы столкнулись с нижней стенкой, то проверям расстояние с помощью 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;}//находим расстояние от объекта ВНИЗ;
}
вообщем реализаций куча, это только самая топорная. можно было ещё объекты от игрока пускать,следовательно вверх и вниз и узнавать сколько они пролетели пикселей. wink
tomkallenДата: Вторник, 31 Декабря 2013, 00:21 | Сообщение # 4704
частый гость
Сейчас нет на сайте
Solved

Если можешь не делать игру - не делай.

Сообщение отредактировал tomkallen - Пятница, 03 Января 2014, 20:49
InsomniaДата: Вторник, 31 Декабря 2013, 00:50 | Сообщение # 4705
был не раз
Сейчас нет на сайте
jayreck, Благодарю!
adast12Дата: Вторник, 31 Декабря 2013, 12:05 | Сообщение # 4706
почетный гость
Сейчас нет на сайте
Как сделать так чтобы game maker создал путь от объекта до координат x,y?

Сообщение отредактировал adast12 - Воскресенье, 05 Января 2014, 22:22
JerboasДата: Вторник, 07 Января 2014, 14:14 | Сообщение # 4707
был не раз
Сейчас нет на сайте
Есть код, но не знаю функции для изменения скина НПС при движении вправо, влево.
Подскажите, что можно вписать, чтобы работало?

Код:
if (Что вписать)
{
sprite_index=Village1L
}
if (Что вписать)
{
sprite_index=Village1R
}
FargostДата: Вторник, 07 Января 2014, 14:51 | Сообщение # 4708
постоянный участник
Сейчас нет на сайте
Код:
if keyboard_check(vk_left)
{
sprite_index=Village1L
}
if keyboard_check(vk_right)
{
sprite_index=Village1R
}


JerboasДата: Вторник, 07 Января 2014, 15:44 | Сообщение # 4709
был не раз
Сейчас нет на сайте
Цитата Fargost ()
if keyboard_check(vk_left) { sprite_index=Village1L } if keyboard_check(vk_right) { sprite_index=Village1R }

Нет. Это я пробовал. Такой код вроде только для ГГ.
Raven84Дата: Вторник, 07 Января 2014, 16:17 | Сообщение # 4710
старожил
Сейчас нет на сайте
Jerboas, Ну если ты для передвижения НПС используешь hspeed,то:
Код
if hspeed<0
{  
sprite_index=Village1L  
}  
if hspeed>0
{  
sprite_index=Village1R  
}

Добавлено (07.01.2014, 16:16)
---------------------------------------------
Jerboas, Если передвигаешь НПС с помощью x-=5 (к примеру,т.е.изменением x),то:

Код
if x<x_previous
{   
sprite_index=Village1L   
}   
if x>x_previous
{   
sprite_index=Village1R   
}

Добавлено (07.01.2014, 16:17)
---------------------------------------------
Вроде так,если ничего не напутал. smile


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
LetsOffBrainsДата: Вторник, 07 Января 2014, 16:17 | Сообщение # 4711
Project SoRDeLKa
Сейчас нет на сайте
Jerboas, меняй спрайт в коде движения непися тогда уж.


JerboasДата: Среда, 08 Января 2014, 06:06 | Сообщение # 4712
был не раз
Сейчас нет на сайте
Спасибо всем. Разобрался с vspeed.

Добавлено (08.01.2014, 06:06)
---------------------------------------------
Я наверно замучаю вас вопросами..
Как сделать приближение камеры к ГГ при приближении к НПС/Врагам?

Raven84Дата: Среда, 08 Января 2014, 06:40 | Сообщение # 4713
старожил
Сейчас нет на сайте
Jerboas,
Цитата
Как сделать приближение камеры к ГГ при приближении к НПС/Врагам?

Это же все до банального просто! Читай справку.Используй виды (view)!
Т.е. если у тебя к примеру разрешение игры 800 на 600,то при приближении ГГ к НПС (проверяй до него расстояние к примеру с помощью point_distance(x1, y1, x2, y2)),меняй вид,точнее его размеры:
Код

view_wview[0]=400
view_hview[0]=300

Только не забудь перед этим включить вид view0 и желательно поставить центрирование/слежение вида за ГГ.Надеюсь это знаешь как сделать? smile

Короче вот полный код:
Код

if point_distance(Hero.x, Hero.y, NPC.x, NPC.y)<100     
{view_wview[0]=400
view_hview[0]=300}
else
{view_wview[0]=800
view_hview[0]=600}

Т.е. в этом примере камера будет увеличиваться вдвое,если расстояние между ГГ и НПС меньше 100 пикселей.
Где Hero - это у тебя имя объекта героя,а NPC - соответственно имя объекта НПС.

Добавлено (08.01.2014, 06:40)
---------------------------------------------
Но учти в этом случае приблежение будет резким.И НПС должен быть один в комнате иначе код нужно немного менять.
Как делать плавное приближение писать обламывает.Я тебе дал основную идею,дальше сам думаю догадаешься,иначе мне за тебя всю игру прийдется написать! smile


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland


Сообщение отредактировал Raven84 - Среда, 08 Января 2014, 06:43
JerboasДата: Среда, 08 Января 2014, 07:48 | Сообщение # 4714
был не раз
Сейчас нет на сайте
Цитата Raven84 ()
Raven84

Спасибо за помощь. smile
InsomniaДата: Среда, 08 Января 2014, 20:23 | Сообщение # 4715
был не раз
Сейчас нет на сайте
Всех с прошедшими праздниками!!!

Враг ходит от блока к блоку с этой задачей справился и решил чуть оживить врага и усложнить.
Как только враг подходит к блоку он останавливается и на месте смотрит в разные стороны с шагом 30 кадров и так пока количество не превышает 120 кадров.
Проблема в том что при столкновении с блоком у меня враг останавливается и бежит на месте повернувшись в обратную сторону. Прошу посмотрите код и не судите строго, я знаю что он кривоват, и можно его намного короче и функциональней написать. Я новичок

в степе

//////////////////////////////////////////////////стойка

if xuskor<0.5
{
if xuskor>-0.5
sprite_index=spVrag_st
}
else sprite_index=spVrag_go
/////////////////////////////////////////////////гравитация
if place_free(x,y+1)
{
sprite_index=spVrag_jump
gravity=0.5
}
else gravity=0
///////////////////////////////////////////////////движение и разворот
if go=true
{
if gravity=0
{
xuskor+=xskorost //
xuskor*=trenie // движение врага с ускорением
x+=xuskor*image_xscale
}
}
if place_meeting(x+xuskor*image_xscale,y+0,ob_blok)
{ go=false
for (stope=0; stope<120; stope+=1; )
{
if (stope=30 or stope=60 or stope=90) {image_xscale*=p} //повороты
}
if stope<120 go=true
}


///////////////////////////////////////////скорость спрайта при беге
if sprite_index=spVrag_go
{image_speed=(xuskor/8)*image_xscale}
else
{image_speed = 0.25}
/////////////////////////////////////////////////////

вот ссылка на сам файл - http://yadi.sk/d/wruZqV6gFfLt6
GameDev2Дата: Четверг, 09 Января 2014, 00:09 | Сообщение # 4716
почетный гость
Сейчас нет на сайте
Воспроизведение звука только в кадре

У меня есть Объект. В одном из событий у него стоит действие – воспроизведение звука.
Код
sound_play(Zvuk)
Как сделать так, чтобы воспроизведение звука было только если объект в кадре. Если за кадром, чтобы действие не происходило.

Есть у кого GML-код или объясните, как можно было бы так сделать.


Сообщение отредактировал GameDev2 - Четверг, 09 Января 2014, 00:14
Raven84Дата: Четверг, 09 Января 2014, 07:10 | Сообщение # 4717
старожил
Сейчас нет на сайте
GameDev2, В каком событии стоит воспроизведение звука? Есть ли скроллинг в игре (т.е. используешь ли ты вид) или вся игра проходит на одном экране? (я думаю скорее всего используешь раз объект может выходить за кадр)
Короче не буду дожидаться ответов на эти вопросы.Сразу предложу вариант решения: тебе просто нужно проверять координату этого объекта и если она к примеру 0<x<800 and 0<y<600 ,то звук воспроизводить.Т.е. :
Код
if x>0 and x<800 and y>0 and y<600 {sound_play(Zvuk)}

Но этот код очень примитивен и будет работать только в случае если у тебя игра не использует виды views.Иначе вместо определенных координат нужно будет использовать координаты границы вида.

P.S. Если честно уже не помню,но по-моему в GM есть событие проверки находится ли объект в пределах вида или нет.Можно его использовать.

Добавлено (09.01.2014, 07:08)
---------------------------------------------
Если используешь вид,то вместо координат можешь применять это view_xview[0],view_yview[0],view_wview[0],view_hview[0].Т.е. вот так вроде (если ничего не напутал):

Код
if x> view_xview[0] and x< view_wview[0] and y> view_yview[0] and y< view_hview[0] {sound_play(Zvuk)}

Добавлено (09.01.2014, 07:10)
---------------------------------------------
Т.е. идет проверка: находится ли объект в виде (или в кадре,как ты говоришь),и если ДА,то звук воспроизводится.Соответственно,если он будет за пределами,то условие не выполнится и звук не будет играть. smile


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
ToliborДата: Пятница, 10 Января 2014, 14:48 | Сообщение # 4718
был не раз
Сейчас нет на сайте
Привет всем! Не подскажите, есть ли смысл использовать game maker, если я в программировании вообще ничего не соображаю? И много ли можно сделать с триальной версией?
Raven84Дата: Пятница, 10 Января 2014, 15:19 | Сообщение # 4719
старожил
Сейчас нет на сайте
Tolibor,
Цитата
есть ли смысл использовать game maker, если я в программировании вообще ничего не соображаю?

Есть.Конструкторы для этого и создавались изначально.Только вопрос в том насколько хорошую и продвинутую игру ты соберешь без кода? Но это уже проблема не только Гамака но и всех конструкторов в целом. В принципе неплохую игру можно собрать и без кода.Только начни работать,а там постепенно и код начнешь применять.Достаточно знаний уровня школы и Бейсика! smile


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
ErrantBugДата: Пятница, 10 Января 2014, 15:23 | Сообщение # 4720
постоянный участник
Сейчас нет на сайте
Tolibor, если ты говоришь о триалке GM Studio, то она ограничена только количеством ресурсов и невозможностью компилировать проекты. По поводу того, стоит ли использовать GM, не шаря в программировании - даже не знаю. Честно говоря, любая более-менее продвинутая прога будет требовать от тебя каких-то азов программирования. Хотя раз с этим справляются даже 8-летки, то и тебе это не составит труда, заодно и подкачаешь скилл кодера =)

Поиск:

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