Проблема с RTS
| |
Dva_Kota | Дата: Понедельник, 06 Февраля 2012, 18:28 | Сообщение # 21 |
заслуженный участник
Сейчас нет на сайте
| Находим ближайшую шахту с помощью instance_nearest(). Проверяем есть ли в ней ресурсы. Если есть - идем к ней, если нет - деактивируем эту шахту, и ищем следующую. Если в ней есть ресурсы - идем к ней (можно записать ее id), и активируем все шахты. Еще вариант - когда заканчиваются ресурсы заменять шахту на другой объект, на который рабочий реагировать не будет.
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Qvant | Дата: Понедельник, 06 Февраля 2012, 18:32 | Сообщение # 22 |
почти ветеран
Сейчас нет на сайте
| Quote (cosferaps) Народ, у меня возникла проблема. Делаю ример РТС для одного человека и там есть шахты с ресурсами. Когда ресурсы истощаются, нужно чтобы рабочий шёл к следущей шахте, у которой они есть, но сделать не получается. Подскажите, пожалуйста! уничтожаеш пустую шахту , находиш ближайшую и идёшь туда
примерно так для твоего человека : Target=instance_nearest(x,y,Шахта); move_towards_point(Target.x,Target.y,скорость движения);
|
|
| |
Dva_Kota | Дата: Понедельник, 06 Февраля 2012, 18:36 | Сообщение # 23 |
заслуженный участник
Сейчас нет на сайте
| И еще по поводу рисования текущего кадра: Кроме Code draw_sprite(sprite_index,image_index,x,y) можно использовать еще такой вариант (мне он больше нравится, т.к. писать меньше): Code draw_sprite(sprite_index,-1,x,y) /в справке написано: "...(-1 = текущий)..."/
Новый пример инвентаря! /20.06.2012/
Energy Wars
Сообщение отредактировал Dva_Kota - Понедельник, 06 Февраля 2012, 18:37 |
|
| |
cosferaps | Дата: Понедельник, 06 Февраля 2012, 19:23 | Сообщение # 24 |
почетный гость
Сейчас нет на сайте
| Dva_Kota, а можно поподробнее? А то, я не очень понимаю, как через instance_nearest? Я пробовал, но запутался, не выходит. Qvant, а так не получится, потому что рабочие у игрока используют координаты шахт для путей. Ну, ты понял, думаю?
GMS MC
|
|
| |
Robin-Locksley | Дата: Вторник, 07 Февраля 2012, 00:52 | Сообщение # 25 |
постоянный участник
Сейчас нет на сайте
| Quote (cosferaps) Qvant, а так не получится, потому что рабочие у игрока используют координаты шахт для путей. Ну, ты понял, думаю? Вместо мую товардс используй код, который у тебя просчитывает путь, и все получится. Quote (cosferaps) Dva_Kota, а можно поподробнее? А то, я не очень понимаю, как через instance_nearest? Я пробовал, но запутался, не выходит. while instance_nearest(x,y,obj_mine).resource_var<=0 {instance_deactivate_object(instance_nearest(x,y,obj_mine))}
n=instance_nearest(x,y,obj_mine) mp_grid_path(id,path,x,y,n.x,n.y,1)
Как то так. Почитай что делает каждая из использованных функций и операторов и ты поймешь в чем суть.
GameMaker Easy Menu
|
|
| |
|