Показать сообщение отдельно
Старый 07.03.2014, 00:01   #10
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений
(для 1,072 пользователей)
Ответ: Проблемы с интерактивностю

ну, ищешь нужную точку
  point=FindChild(Entity,"Name")
далее включаешь "первую фазу" - разворот, нужно посчитать необходимый угол разворота, самый простой (и дурацкий) способ - повернуть игрока к цели, запомнить угол, развернуть назад:
  current_angle#=EntityYaw(Player)
  PoinEntity(Player,point)
  need_angle#=EntityYaw(Player)
  RotateEntity(Player,0,current_angle#,0)
  Phase=1
посчитали, включили первую фазу, далее уже в основном цикле
  If Phase=1
    If Int(current_angle#)<>Int(need_angle#) Then
      current_angle#=current_angle#+Sign(need_angle#-current_angle#)
      RotateEntity(Player,0,current_angle#,0)
    Else
      Phase=2
    EndIf
  EndIf
Если углы совпадают - переходим во вторую фазу (переджвижение). С ним все аналогично, но разница в позиции находится функцией EntityDistance(Player,point) - проверяем каждый раз в цикле, двигаем перса.
(Offline)
 
Ответить с цитированием