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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
движение в точку
Mep3aB4uKДата: Среда, 08 Июня 2011, 20:02:33 | Сообщение # 1
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
Я зделал
if SquareRoot(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)>70. then
если дистанция больше 70 то он двигается в точку. Но он иногда пролетает эту точку и двигается дальше.
Вопрос: какое условие чтоб он всегда останавливался в точке?


Сообщение отредактировал Mep3aB4uK - Среда, 08 Июня 2011, 20:04:44
 

romaN-1998Дата: Среда, 08 Июня 2011, 20:06:44 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
if GetWidgetX(unit) == X and GetWidgetY(unit) == Y then
call IssueImmediateOrder(unit,"stop")
endif


Сообщение отредактировал romaN-1998 - Среда, 08 Июня 2011, 20:07:06
 

Mep3aB4uKДата: Среда, 08 Июня 2011, 20:46:46 | Сообщение # 3
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
romaN-1998, не помогло
 

SirNikolasДата: Четверг, 09 Июня 2011, 11:05:53 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Я же говорил, надо счетчиком. К таймеру крепишь целочисленную, при каждом истечении увеличиваешь ее на единицу, когда она достигнет определенного значения, останавливаешь таймер.

 

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

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