XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
vladfaust

offline
Опыт: 12,814
Активность:
Бездесинковый отлов пробела
Есть таковой?(
inadequate_ добавил:
	if GetLocalPlayer() == Player(id) {
        	ForceUIKey("K")
        }
Вызывает десинк?
Старый 05.03.2012, 21:00
Hellfim
Новичок
offline
Опыт: 79,880
Активность:
inadequate_, попробуй отлавливать перемещение камеры к фиксированному объекту (оно происходит при нажатии).
То что ты написал десинк не вызывает.
Старый 05.03.2012, 21:06
Clamp
Lost in space
offline
Опыт: 71,258
Активность:
/(. . )
при чём тут форскей, если ты про пробел?

камера ловится через сверку координат, есть нативка, которая устанавливает координаты сброса камеры при пробеле
Старый 05.03.2012, 21:07
vladfaust

offline
Опыт: 12,814
Активность:
library SpaceDetect initializer init uses Spheres {
include "cj_types_priv.j"
define {
  private TIMER_PERIOD = 0.035
  private FILTER = 0.003
}

  private real array x, array y, array oldX, array oldY
  private timer sdt = CreateTimer()

void ActionsForPlayers(int i) {
    Spheres_CastNow(i+1)
}

private void onTimer() {
    local real newX
    local real newY
    local int     i = 0
    local player  p = null
    whilenot(i==11) {
        p = Player(i)
        if GetLocalPlayer() == p {
          newX = GetCameraTargetPositionX()
          newY = GetCameraTargetPositionY()
        }
        
        if (newX == x[i]) && (newY == y[i]) {
            ActionsForPlayers(i)
            if GetLocalPlayer() == p {
                PanCameraToTimed(oldX[i],oldY[i],0.)
            }
        else
            if GetLocalPlayer() == p {
                x[i] = newX+FILTER
                y[i] = newY+FILTER
                SetCameraQuickPosition(x[i],y[i])
            }
        }
        
        oldX[i] = newX
        oldY[i] = newY
        i++
    }
    
    p = null
}

private void init () {
    local int    i = 0
    local player p = null
    
    whilenot(i==(MAX_PLAYERS-1)) {
        p = Player(i)
        if GetLocalPlayer() == Player(i) {
            x[i] = GetCameraTargetPositionX()+FILTER
            y[i] = GetCameraTargetPositionY()+FILTER
            SetCameraQuickPosition(x[i],y[i])
        }
        
        i++
    }
    TimerStart(sdt,TIMER_PERIOD,true,function onTimer)
    
    p = null
}

}
inadequate_ добавил:
Не моя.
inadequate_ добавил:
Spheres_CastNow(i+1) - NO DESINC
inadequate_ добавил:
Help please!
Старый 05.03.2012, 22:25
XOR

offline
Опыт: 38,284
Активность:
какие ещё сферы?
код говно =(
Старый 05.03.2012, 23:34
vladfaust

offline
Опыт: 12,814
Активность:
XimikS, тут какбэ точная копия твоей системы.
Код твой. )
Старый 05.03.2012, 23:53
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:44.