html5 sensor,GitHub - ehzhang/sense-js: html5 sensor interaction library for mobile

sense.js

an HTML5 interaction library for mobile browsers

Overview

HTML5 offers a lot of awesome access to hardware data. Sense.js is a library that

abstracts away the math and gives developers and designers easy access to some

common non-touch gesture interactions with simple javascript callbacks.

Disclaimer

This was made as a part of GreylockU's Hackfest, and will likely see changes to make

things better/add more gestures :)

Pull requests and feature suggestions are welcome!

Demo

Orientation

A ball rolls around based on your screen position!

Flick

Flick your phone to the right or left to slide a color.

Flip

Flip your phone face down and face up, and a new color appears!

Color Fling

Open this page on multiple devices. Selecting a color and flicking it

'flicks' that color to all other devices.

Scroll

sense.js enabled scroll based on screen tilt

Quickstart

Download sense.js, and refer to it in an html file, and initialize it!

var sense = sense.init();

sense.flick(function(data){

// Your callback code here!

});

Documentation

sense.orientation([options], callback)

Orientation fires continuously, and emits alpha, beta, and gamma data from the device.

Options

Description

Default

alphaThreshold

(number) Threshold for changes in delta

0

betaThreshold

(number) Threshold for changes in beta

0

gammaThreshold

(number) Threshold for changes in gamma

0

radians

(boolean) True to emit values in radians

false

Data

Description

alpha

(number) degree/radian value for direction the device is pointed

beta

(number) degree/radian value for device's front-back tilt

gamma

(number) degree/radian value for device's left-right tilt

Sample Usage:

sense.orientation(function(data){

console.log(data)

});

sense.flick([options], callback)

Flick events fire when the device is rotated quickly left-to-right or right-to-left.

Options

Description

Default

interval

(number) the duration in milliseconds to watch for a flick event

150

sensitivity

(number) multiplier to adjust amount of acceleration required. lower = more sensitive

1

Data

Description

direction

(String) 'left' or 'right' depending on the flick direction

magnitude

(number) the magnitude of the acceleration on flick

Sample Usage:

sense.flick(function(data){

slidePage(data.direction)

});

sense.fling([options], callback)

Fling events fire when the device is rotated quickly in the front-to-back direction, as if

being thrown overhand (with the device facing towards you).

Options

Description

Default

interval

(number) the duration in milliseconds to watch for a flick event

150

sensitivity

(number) multiplier to adjust amount of acceleration required. lower = more sensitive

1

Data

Description

magnitude

(number) the magnitude of the acceleration on flick

Sample Usage:

sense.fling(function(data){

sendFile();

});

sense.flip([options], callback)

Flip events fire when the phone is quickly flipped from face-up to face-down to face-up position.

Options

Description

Default

gestureDuration

(number) timespan in milliseconds that the flip event can occur over

150

Data

Description

gamma

(number) the final gamma value after the flip

Sample Usage:

sense.flip(function(data){

showRandomNumber();

});

sense.addTiltScroll([options])

This one line allows the user to observe the tilt of the user's phone to scroll on a page.

Options

Description

Default

maxHorizontalAngle

(number)

80

maxHorizontalOffset

(number)

100

maxHorizontalSpeed

(number)

15

maxVerticalAngle

(number)

40

maxVerticalOffset

(number)

100

maxVerticalSpeed

(number)

15

Sample Usage:

sense.addTiltScroll();

Debugging

We can initialize Sense with a debug flag!

var sense = sense.init({debug: true});

The debugger will include a fixed div in the bottom right corner that displays

data when events fire. This is particularly useful when debugging on mobile, as you can't

use debugger or console.log :(

To start the demo site:

$ npm install

$ npm start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>