Колесо Обозрения
#1

Мне надо вращать колесо по часовой стрелке, но чё-то не получается особо - двигается не плавно и куда-то смещается немного.



Код, которым пытаюсь двигать. При каждом вызове команды - колесо должно сдвигаться по часовой на 1 корзину:

PHP Code:
new frwh_obj_id;
new 
Float:frwh_wheel_y;
public 
OnGameModeInit()
{
    
frwh_obj_id CreateDynamicObject(188772097.6923828, -2210.144531235.49000170.00.00.0);
    
// объекты корзин
    // ...
    
return 1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp(cmdtext"/к"true) == 0)
    {
        
frwh_wheel_y-= 36.0;
        
MoveDynamicObject(frwh_obj_id2097.6923828, -2210.144531235.4900017+1.01.0, -1000.0frwh_wheel_y, -1000.0);
        return 
1;
    }
    return 
0;

Вращал колесо в МТА эдиторе и понял, что там двигать надо RotY на ~ -36.0 градусов, чтобы колесо по часовой вращалось к n-корзине.
Вообщем команда по сути работает только 1-ый раз, вращает колесо по часовой куда-то в сторону и не плавно. При последующих вызовах команды - колесо слегка дёргается.
Reply
#2

Как вариант, посмотри реализацию похожего колеса обозрения в стандартном fs, который с сервером по умолчанию идёт. ferriswheel.pwn
Reply
#3

35.4900017+1.0 видно же.
Reply
#4

ФС надо глянуть конечно, сам Калкор писал.
+1.0 - вроде если этого не сделать, то плавности не будет, но хотя её у меня и так нет.
Reply
#5

На вики написано, что для движения с поворотом требуется изменить любую координату в пространстве (т.е. X/Y/Z), там же рекомендуется прибавлять +0.001.
Reply
#6

Вообщем помог ferriswheel.pwn, под себя переписал полностью код, и колесо закрутилось, ура)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)