Код:
loadVariables("accelerometer://data",this);
эта строчка загружает переменные accX, accY, accZ в this
если телефон просто крутить в руках, то значения переменных будут варьировать от -1088 до 1088. если телефон резко кинуть в стену, то значения будут много больше/меньше выше указанных.
имхо, X показывает не правильно, по этому я дописываю еще accX=-accX.
шаг равен 64, это тупо, по этому я обычно дописываю accX(Y,Z)/=64
напичатал класс для удобного юзания акселя. к счастью класс только для 3.0 .
1. создаем новый flash документ и настраиваем как надо.
2. кладем рядом с этим, только что созданным документом, класс accData.as .
3. открываем этот документ и рисуем какую нибудь фигуру.
4. выделяем первый кадр и жмем окно действия.
5. вставляем код, ну например такой :
Код:
var acc:Object = new accData()
function onEnterFrame(){
this._rotation = acc.L
}
6. компилируем и тестим на телефоне.
в итоге должно все нарисованное крутиться вокруг верхнего левого угла.
свойства класса accData:
- ax,ay,az - acc(X,Y,Z)/64
- L - угол в градусах (0-359)
- us - ускорение
- orient - ориетнация ("вертикальная" , "горизонтальная" и "никакая")
что бы узнать , например, угол , надо прописать "acc.L" (вернет значение от 0 до 359).
что бы узнать ориентацию , надо прописать "acc.orient" (вернет строку ("вертикальная" , "горизонтальная" или "никакая")).
в аттаче сам класс, исходник к "уроку" и несколько примеров .
исходники от CS5
т.к. все равно ничего не понятно - спрашивайте
пс. извините если криво
[ Редактировано SiLoN в 22.1.11 23:10 ]