Дамми и граница карты
|
|
qa[S]per | Дата: Понедельник, 26 Марта 2012, 22:19:08 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 468
Награды: 0
Репутация: 271
Блокировки:
| У меня имеется магия с дамми. Дамми летит вперед пока не встретит противника. А если дамми запустить в границу карты, то он летит вдоль границы. Все было нормально.. но вскоре совсем погнало. Если дамми летит вдоль границы, то выдавало Fatal Error. Я что только не делал.. Ставил блокираторы путей, работал с областями, это помогало.. но каким-то образом все равно выдавало ошибку... Как теперь это исправить? Как можно сделать так, что-бы дамми вообще пропадал у границы...
|
|
|
|
Borodach | Дата: Понедельник, 26 Марта 2012, 22:23:21 | Сообщение # 2 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Нужно знать крайние координаты игровой территории: ←MinX ↓MinY MaxX→ MaxY↑ и при движении проверять, не вылетел ли юнит за них: //х и у – координаты юнита Code if x<MinX then call SetUnitX(u,MinX) endif if y<MinY then call SetUnitY(u,MinY) endif if x>MaxX then call SetUnitX(u,MaxX) endif if y>MaxY then call SetUnitY(u,MaxY) endif - где MinX/Y MaxX/Y – числовые значения
Karamba
|
|
|
|
qa[S]per | Дата: Понедельник, 26 Марта 2012, 22:24:58 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 468
Награды: 0
Репутация: 271
Блокировки:
| Borodach, у меня все на Гуи, я не разбираюсь в джасе
|
|
|
|
Borodach | Дата: Понедельник, 26 Марта 2012, 22:37:06 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Если X of Point(Position of (MY_UNIT)) меньше размера карты влево and Y of Point(Position of (MY_UNIT)) меньше размера карты вниз то Remove(My_UNIT) Размер карты можно узнать в Сценарий --> размер карты и границы обзора
Karamba
|
|
|
|
qa[S]per | Дата: Вторник, 27 Марта 2012, 14:02:06 | Сообщение # 5 |
7 уровень
Группа: Проверенные
Сообщений: 468
Награды: 0
Репутация: 271
Блокировки:
| Borodach, сделал, пропадает только в нижнем углу карты. А по бокам границы нет и выдает ошибку.
|
|
|
|
Extremator | Дата: Вторник, 27 Марта 2012, 14:47:19 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| странно... я спокойно двигаю юнитов ЗА ГРАНИЦУ карты... и ничего... нет-нет, не в чёрную границу, в вобще за конец карты... где юнита вообще перестаёт показывать... и обзор его пропадает...Добавлено (27 Март 2012, 14:47:19) --------------------------------------------- да блин... а теперь не выходит за карту хДД хотя тока пару дней назад выходил... я тесты проводил...
вар бредит вообще по жизни...
я вот как то раз создавал юнита в пределах карты, выдавало фатал...
или вот ещё, стандартный скилл, ульт Рексара, не работает пока на карту не поставишь самого Рексара... хотя бы одного хД что касаемо сабжа темы... я обычно делаю так...
set P1 = точка под юнитов set P2 = точка куда нада сдвинуть юнита дальше проверка If - если/то/иначе - логическое, область - регион содержит точку P2 = Да то двигать юнита в точку P2... иначе - ничего... т.е. не будет толкать за карту... или толкать вдоль границы
|
|
|
|
Borodach | Дата: Вторник, 27 Марта 2012, 14:58:39 | Сообщение # 7 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| qa[S]per, 2 варианта нужна 1) Если X of Point(Position of (MY_UNIT)) меньше размера карты влево and Y of Point(Position of (MY_UNIT)) меньше размера карты вниз то Remove(My_UNIT) 2)Если X of Point(Position of (MY_UNIT)) больше размера карты вправо and Y of Point(Position of (MY_UNIT)) больше размера карты вверх то Remove(My_UNIT)
Karamba
|
|
|
|
qa[S]per | Дата: Вторник, 27 Марта 2012, 17:01:50 | Сообщение # 8 |
7 уровень
Группа: Проверенные
Сообщений: 468
Награды: 0
Репутация: 271
Блокировки:
| Borodach, вроде нормально, работает. Но все равно, в некоторые места долетает и выдает ошибку.
|
|
|
|
Borodach | Дата: Вторник, 27 Марта 2012, 21:44:51 | Сообщение # 9 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| qa[S]per, Может не верно границу указал... Ты сообщением выводи точку юнита и при достижении края карты, указывай это число
Karamba
|
|
|
|
tRu^S | Дата: Среда, 28 Марта 2012, 00:26:05 | Сообщение # 10 |
8 уровень
Группа: Проверенные
Сообщений: 614
Награды: 0
Репутация: 138
Блокировки:
| qa[S]per, вошол в регион удалить ДОЛЖНО ПОМОЧЬ Я ТАК ВСЕХ ДАМИ РЕМУВИЛ, ок да)
Сообщение отредактировал tRu^S - Среда, 28 Марта 2012, 00:27:12 |
|
|
|
Dreii | Дата: Среда, 28 Марта 2012, 00:42:59 | Сообщение # 11 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| tRu^S, +1
|
|
|
|