An open API service indexing awesome lists of open source software.

https://github.com/spritejs/sprite-extend-gesture


https://github.com/spritejs/sprite-extend-gesture

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# Sprite Gesture

SpriteJS Gesture extension based on [winter-gestures](https://github.com/wintercn/gesture).

## Usage

From CDN

```html

```

## Example

```html




Document

html, body {
width:100%;height:100%;margin:0;
}
html,body {
margin: 0 0 0 0;
padding: 0 0 0 0;
width:100%;
height:100%;
overflow:hidden;
}
body {
-webkit-user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-touch-callout: none;
-webkit-text-size-adjust: none;
}


// 关闭选择
document.addEventListener('selectstart', (e) => { e.preventDefault() });
// 避免鼠标变成文本选择形状
document.addEventListener('mousedown', (e) => { e.preventDefault() });
// 避免上下滚屏
document.addEventListener('touchmove', (e) => { e.preventDefault() }, {passive: false});
// 避免双击缩放
document.addEventListener('touchstart', (e) => { e.preventDefault() }, {passive: false});





const imgUrl = 'https://s5.ssl.qhres.com/static/ec9f373a383d7664.svg';
const {Scene, Sprite, Gesture} = spritejs;
const paper = new Scene('#container', {viewport: [400, 400]});

const sprite = new Sprite(imgUrl);
sprite.attr({
bgcolor: '#fff',
pos: [0, 0],
size: [400, 400],
borderRadius: '200',
});

paper.layer().appendChild(sprite);
Gesture.subscribe(sprite);
sprite.on('dual', (event) => {
if(event.type === 'dual') {
console.log(sprite.attr('transform'));
sprite.attr('transform', [event.transform[0][0], event.transform[1][0],
event.transform[0][1], event.transform[1][1],
event.transform[0][2], event.transform[1][2]]);
//sprite.attr("transform", {rotate: event.rotate / Math.PI * 180});
}
});

```