| 
	
		
		
			| Нужно загружать сохранение 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, так можно удалить любой файл? |  |  |  |  |  |  |  | 
| миха | Дата: Суббота, 09 Июля 2011, 08:28 | Сообщение # 5 |  |   почти ветеран Сейчас нет на сайте | Еще вопрос. Для создания ИИ в этот аз решил использовать "action_potential_step". Но есть одна проблема. Я создаю танчики, и в них можно двигаться только в направлениях 90, 180, 270, 360 градусов. А эта команда двигает объект в любом направлении - ей главное привести объект к точке. Надо сделать так, чтобы ИИ двигался в указанных выше направлениях, и при этом доходил до точки. ТУТ можно увидеть как двигаются (должны двигаться) ИИ.
 Добавлено (09.07.2011, 08:28)---------------------------------------------
 NeZnayu,
  |  |  |  |  |  | 
| 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 |  |  |  |  |  
 |