Воскресенье, 17 Ноября 2024, 21:26

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Нужно загружать сохранение save.sav...
михаДата: Пятница, 08 Июля 2011, 20:19 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
В общем при первом запуске сейва не будет, а значит вылетит ошибка (сейв создается при выключении игры). Мне надо сначала проверить, есть ли сейв, и если он есть, загрузить его. так же хотел бы узнать, как удалить сейв (кодом).

Сообщение отредактировал миха - Суббота, 09 Июля 2011, 09:53
LunarPixelДата: Пятница, 08 Июля 2011, 20:26 | Сообщение # 2
старожил
Сейчас нет на сайте
if file_exists('save.sav')
{загружаем игру}

file_delete('save.sav') - удаляет файл


михаДата: Суббота, 09 Июля 2011, 08:12 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
LunarPixel, так можно удалить любой файл?
NeZnayuДата: Суббота, 09 Июля 2011, 08:19 | Сообщение # 4
__танцуй!__
Сейчас нет на сайте
Да (ух, сейчас поди вирусов насоздает) tongue

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
михаДата: Суббота, 09 Июля 2011, 08:28 | Сообщение # 5
почти ветеран
Сейчас нет на сайте
Еще вопрос. Для создания ИИ в этот аз решил использовать "action_potential_step". Но есть одна проблема. Я создаю танчики, и в них можно двигаться только в направлениях 90, 180, 270, 360 градусов. А эта команда двигает объект в любом направлении - ей главное привести объект к точке. Надо сделать так, чтобы ИИ двигался в указанных выше направлениях, и при этом доходил до точки.
ТУТ можно увидеть как двигаются (должны двигаться) ИИ.

Добавлено (09.07.2011, 08:28)
---------------------------------------------
NeZnayu, smile

GameMixДата: Суббота, 09 Июля 2011, 08:42 | Сообщение # 6
старожил
Сейчас нет на сайте
миха, здесь (ссылка на пост LunarPixel) уже обсуждалось.

Steel Standoff - 2D аркада.
Мои статьи
михаДата: Суббота, 09 Июля 2011, 08:53 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
А если препятствий несколько?

Добавлено (09.07.2011, 08:53)
---------------------------------------------

Quote
Создай пустой путь Path0.

Создай объект object0 и в событии CREATE напиши:

Quote
s=mp_grid_create(0,0,room_width/16,room_height/16,16,16)
mp_grid_add_instances(s,obj_wall,0)


Где obj_wall - препятствия.

А у врага в событии STEP:

Quote
if mp_grid_path(object0.s,Path0,x,y,obj_hero.x,obj_hero.y,0)
path_start(Path0,4,0,0)

mp_grid_add_instances(s,obj_wall,0) - у меня много препятствий например obj_box и т. д.
GameMixДата: Суббота, 09 Июля 2011, 08:57 | Сообщение # 8
старожил
Сейчас нет на сайте
миха, тогда делай ячейки сетки, находящиеся в координатах препятствий, запрещёнными. И создавай путь по свободным (не запрещённым клеткам).

Добавлено (09.07.2011, 08:57)
---------------------------------------------

Quote (миха)
у меня много препятствий например obj_box и т. д.

Сделай всем объектам препятствий родителя, назови его, к примеру, obj_wall_papa.
Потом пиши эту же строку, только с другим именем объекта:
Code
mp_grid_add_instances(s,obj_wall_papa,0);


Steel Standoff - 2D аркада.
Мои статьи
михаДата: Суббота, 09 Июля 2011, 09:34 | Сообщение # 9
почти ветеран
Сейчас нет на сайте
Уфф, все очень незнакомо для меня... попробую, если не получиться, выложу исходник. Ждите...

Добавлено (09.07.2011, 09:34)
---------------------------------------------
Вот, сделал все, но в отдельном примере. Единственны минус - "Враг" (голубенький квадратик) боком проходит сквозь препятствие - черный квадрат. Как исправить? Вот исх.



Еще вопрос - "враг" приходит на игрока, надо сделать ограничитель - если дистанция больше 96 и между объектами нет препятствий враг должен остановится. Можно ли при выполнении этих условий сделать переменную stop равной 1, и в степ врага написать так:

Quote
if stop=0
{if mp_grid_path(object0.s,Path0,x,y,obj_hero.x,obj_hero.y,0)
path_start(Path0,4,0,0)}
Лер_да_РимДата: Суббота, 09 Июля 2011, 10:08 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
кстати, направления в 360 градусов не существует. Ну то есть да, оно будет принято за нуль, но не проще ли и пользоваться нулём?

Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.

михаДата: Суббота, 09 Июля 2011, 10:42 | Сообщение # 11
почти ветеран
Сейчас нет на сайте
Лер_да_Рим, проще, так и есть, я ошибся
GameMixДата: Суббота, 09 Июля 2011, 11:08 | Сообщение # 12
старожил
Сейчас нет на сайте
миха,

Steel Standoff - 2D аркада.
Мои статьи
михаДата: Суббота, 09 Июля 2011, 11:29 | Сообщение # 13
почти ветеран
Сейчас нет на сайте
Что вы изменили?
GameMixДата: Суббота, 09 Июля 2011, 11:33 | Сообщение # 14
старожил
Сейчас нет на сайте
миха, я просто убрал центрирование спрайта врага. Теперь же работает, как нужно?

Steel Standoff - 2D аркада.
Мои статьи
михаДата: Суббота, 09 Июля 2011, 11:58 | Сообщение # 15
почти ветеран
Сейчас нет на сайте
Да, хорошо. А второй вопрос
Quote
Еще вопрос - "враг" приходит на игрока, надо сделать ограничитель - если дистанция больше 96 и между объектами нет препятствий враг должен остановится. Можно ли при выполнении этих условий сделать переменную stop равной 1, и в степ врага написать так:
Quote
if stop=0
{if mp_grid_path(object0.s,Path0,x,y,obj_hero.x,obj_hero.y,0)
path_start(Path0,4,0,0)}
GameMixДата: Суббота, 09 Июля 2011, 12:02 | Сообщение # 16
старожил
Сейчас нет на сайте
миха, сделал, залить исходник забыл, сейчас...Скачать пример.

Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал аТнОтХоАн - Суббота, 09 Июля 2011, 12:05
михаДата: Суббота, 09 Июля 2011, 15:38 | Сообщение # 17
почти ветеран
Сейчас нет на сайте
Quote
и между объектами нет препятствий

Добавлено (09.07.2011, 15:38)
---------------------------------------------
Я немного изменил код врага... мне надо еще и проверять по линии столкновения препятствия. Но что - то не работает...

Quote
if stop = 0
{
if mp_grid_path(object5.s,path0,x,y,object1.x,object1.y,0)
path_start(path0,4,0,0)
}
else path_end()

if distance_to_object(object1) <= 96
{if collision_line(x,y,object1.x,object1.x,object3.y,1,1)>0
{stop = 1}}
else
{stop = 0}
GameMixДата: Суббота, 09 Июля 2011, 15:41 | Сообщение # 18
старожил
Сейчас нет на сайте


Steel Standoff - 2D аркада.
Мои статьи
Made_In_USSRДата: Суббота, 09 Июля 2011, 16:15 | Сообщение # 19
заслуженный участник
Сейчас нет на сайте
Quote (миха)
{if collision_line(x,y,object1.x,object1.x,object3.y,1,1)>0

Перебор аргументов? Линия проводится через две точки а не через две с половиной.

collision_line(x,y,object1.x,object1.y,object3,1,1)


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)


Сообщение отредактировал Made_In_USSR - Суббота, 09 Июля 2011, 16:19
  • Страница 1 из 1
  • 1
Поиск:

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