Обнаружьте экранную ориентацию iPhone

Или просто создайте это:

function yourFunction(){

   //do something
   setInterval(myFunc(),1000);
   //do something else

}

function myFunc(){
   return;
}

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

5
задан Simon 15 February 2010 в 04:44
поделиться

2 ответа

Я думаю, ваша проблема в том, что вы используете переменные int , когда хотите float .

Я думаю, что ускорение X и –Y должны быть переменными экземпляра и, таким образом:

accelerationX = acceleration.x * kfilteringFactor + accelerationX * (1.0 - kfilteringFactor);
accelerationY = acceleration.y * kfilteringFactor + accelerationY * (1.0 - kfilteringFactor);

Должны дать вам больше того, что вы искали.

5
ответ дан 14 December 2019 в 01:15
поделиться

Причина в том, что вы используете локальные переменные, хотя они не должны быть локальными.

Попробуйте сделать следующее:

Объявить переменные экземпляра:

@interface YourViewControllerClass: UIViewController {
    float accelerationX, accelerationY;
}

...

other declarations

Обновить переменные в делегате акселерометра:

 accelerationX = acceleration.x * kfilteringFactor + accelerationX * (1.0 - kfilteringFactor);
 accelerationY = acceleration.y * kfilteringFactor + accelerationY * (1.0 - kfilteringFactor);

Он должен давать более точные результаты без резких скачков.

4
ответ дан 14 December 2019 в 01:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: