Форум

поворот объекта кватернионы

30 сентября 2015 18:28 #4162
// Ищем кнопки, ожидаем действия
    function waiting() {
        var but1 = document.getElementById('objPlus90deg');
        console.log(but1);
        var but2 = document.getElementById('objMinus90deg');
        console.log(but2);
        but1.addEventListener("click",rotateUserObj('obj4Unit',90));
        but2.addEventListener("click",rotateUserObj('obj4Unit',-90));
    }
    function rotateUserObj(name,deg){
        // Далее по образу и подобию примера на странице 70 руководства
        // находим объект
        var objToRotate = m_scenes.get_object_by_name(name);
        console.log(m_scenes.get_all_objects())
        // переводим из градусов в радианы
        function degToRad(q){return q*(Math.PI/180)}
        var AXIS_Y = new Float32Array([0, 1, 0]);
        console.log(AXIS_X);
        var AXIS_X = new Float32Array([1, 0, 0]);
        var quat_tmp = new Float32Array(4);
        var quat_tmp2 = new Float32Array(4);
        m_quat.setAxisAngle(AXIS_Y,degToRad(-deg),quat_tmp);
        m_trans.get_rotation(objToRotate,quat_tmp2);
        m_quat.multiply(quat_tmp, quat_tmp2, quat_tmp);
        m_trans.set_rotation_v(objToRotate, quat_tmp);
        console.log(m_trans.get_rotation(objToRotate));
    }

Проблема в том, что ничего не происходит, старался делать по примеру
05 октября 2015 22:28 #4238
Решено
не правильно
CubeBlue.addEventListener("click",rotateCube('CubeBlue'));

правильно
CubeBlue.addEventListener("click",function(){rotateCube('CubeBlue')});

Во втором случае функция вызывается только тогда, когда нужна)
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.