31
Getting Web Multi-Touch Working for a Fast-Paced Game Aidan Wu May 19, 2012 13:40 - 14:10

Getting Web Multi-Touch Working

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Getting Web Multi-Touch Working

Getting Web Multi-Touch Working for a Fast-Paced Game

Aidan WuMay 19, 2012

13:40 - 14:10

Page 2: Getting Web Multi-Touch Working

Screen Interactions

Page 3: Getting Web Multi-Touch Working

On the desktop weworry about ‘browsers’box-shadow:10px 10px 5px #000;-moz-box-shadow:10px 10px 5px #000;-webkit-box-shadow:10px 10px 5px #000;

Page 4: Getting Web Multi-Touch Working
Page 5: Getting Web Multi-Touch Working

On mobile we worry about ‘users’

Page 6: Getting Web Multi-Touch Working

Fast, Faster, Fastest

Page 7: Getting Web Multi-Touch Working

回不去了…Touch Interfaces Everywhere

Page 8: Getting Web Multi-Touch Working

Mobile + Touch Device + Web

Page 9: Getting Web Multi-Touch Working

MVC

Design pattern from design view

Page 10: Getting Web Multi-Touch Working

How to make a continuous \ interface

M

Page 11: Getting Web Multi-Touch Working
Page 12: Getting Web Multi-Touch Working

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sodales urna non odio egestas tempor. Nunc vel vehicula ante. Etiam bibendum iaculis libero, eget molestie nisl pharetra in. In semper consequat est, eu porta velit mollis nec.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sodales urna non

Nunc vel vehicula ante. Etiam bibendum iaculis libero, eget molestie nisl

Nunc vel vehicula ante. Etiam bibendum iaculis libero, eget molestie nisl

Limited Navigation Space

Page 13: Getting Web Multi-Touch Working

Manipulating UI Elements

Page 14: Getting Web Multi-Touch Working

How to make an interface looks touchable

V

Page 15: Getting Web Multi-Touch Working
Page 16: Getting Web Multi-Touch Working

How to make an interface touchable

Source: www.lukew.com

C

Page 17: Getting Web Multi-Touch Working

MVC

• M - Moving toward (continuous)

• V - Looking touchable

• C – Touch(Gesture)-aware

Page 18: Getting Web Multi-Touch Working
Page 19: Getting Web Multi-Touch Working

Handling Multi-Touch Events

<divontouchstart = "touchStart(e);”

ontouchmove = "touchMove(e);”

ontouchend = "touchEnd(e);”

</div>

Page 20: Getting Web Multi-Touch Working

Touches Arrays

• e.touches – a list of all fingers currently on the screen.

• e.targetTouches – a list of fingers on the current DOM element.

• e.changedTouches – changed touches for this event

addEventListener('touchmove', function(e) {

Page 21: Getting Web Multi-Touch Working

TouchEvent Object

var touch = e.changedTouches[0];

• dentifier

• touch.pageY

• touch.screenX

• touch.clientX

Page 22: Getting Web Multi-Touch Working

Javascript Gesture Library

jGestures

Hammer.js

More in http://goo.gl/h5M7B

Page 23: Getting Web Multi-Touch Working

jGestures

• jQuery(’#el').bind('swipeup', log);

• jQuery(’#el').bind('swiperightup',log);

• jQuery('#el').bind('taptwo',log);

• jQuery('#el').bind('rotate',log);

Page 24: Getting Web Multi-Touch Working

Tips

• <meta name="viewport" content="width=device-width; initial-scale=1.0;maximum-scale=1.0; user-scalable=0;">

• preventDefault();

Page 25: Getting Web Multi-Touch Working
Page 26: Getting Web Multi-Touch Working
Page 27: Getting Web Multi-Touch Working

Finger Interactions for Games

Source: Vans Finger Fracture

Page 28: Getting Web Multi-Touch Working
Page 29: Getting Web Multi-Touch Working

issues1. Resizing and scaling2. Pre-loading3. Touch and mouse-aware4. Sprites / animations / Transitions5. GUI / Z-index

Page 30: Getting Web Multi-Touch Working
Page 31: Getting Web Multi-Touch Working