Сейчас 21:30:24 Понедельник, 25 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
[Вопрос] Проверка местоположения по координатам
DiabfallДата: Четверг, 17 Ноября 2011, 18:26:54 | Сообщение # 1
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
Юнит входит в область. Когда он входит справа всё норм (условие подтверждает, что он в области), а когда слева ничего...
Code
if (GetRectMinX(R[i]) <= GetUnitX(u)) and (GetUnitX(u) <= GetRectMaxX(R[i])) and (GetRectMinY(R[i]) <= GetUnitY(u)) and (GetUnitY(u) <= GetRectMaxY(R[i])) then

Как задать проверку на то, что юнит вошёл слева? (т.е. находится в левой части области)

Пробовал писать в условие отрицательно значение, но не помогло.


Сообщение отредактировал Diabfall - Четверг, 17 Ноября 2011, 18:28:00
 

HexingДата: Четверг, 17 Ноября 2011, 18:32:58 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Code
local real x = GetUnitX(u)
local real y = GetUnitY(u)
if(x >= GetRectMinX(R[i]) and x <= GetRectMaxX(R[i]) and y <= GetRectMinY(R[i]) and y >= GetRectMaxY(R[i])) then

endif


 

DiabfallДата: Четверг, 17 Ноября 2011, 18:41:51 | Сообщение # 3
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
Я такое пробовал. Не помогло...
 

HexingДата: Четверг, 17 Ноября 2011, 19:05:01 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
попробуй это
Code
if (R[i]==null) then
call BJDebugMsg("Ой я пенёк, такой области же нет!!!")
endif


 

DiabfallДата: Четверг, 17 Ноября 2011, 19:43:16 | Сообщение # 5
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
avtorklif
 

HexingДата: Четверг, 17 Ноября 2011, 19:56:23 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:


 

Ty3uKДата: Четверг, 17 Ноября 2011, 20:27:27 | Сообщение # 7
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
И зачем делать рукалицо, если он предлагает сделать реальный дебаг?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

DiabfallДата: Четверг, 17 Ноября 2011, 20:44:37 | Сообщение # 8
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
Code
if (GetRectMinX(R[i]) <= GetUnitX(u)) and (GetUnitX(u) <= GetRectMaxX(R[i])+50) and (GetRectMinY(R[i]) <= GetUnitY(u)) and (GetUnitY(u) <= GetRectMaxY(R[i])+50) then

Сделал так, и всё заработало...

Тему можно закрыть.
 

HexingДата: Пятница, 18 Ноября 2011, 13:24:46 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
рад что помог D:

 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz