HTML5+javascript 动画基础(阅读笔记)

1.1.使用requestAnimationFrame的动画循环

(function drawFrame () {
window.requestAnimationFrame(drawFrame,canvas);
//animation code...
}());


1.2交互事件
1.2.1 鼠标常见的一些事件:
● mousedown
● mouseup
● click
● dblclick
● mousewheel
● mousemove
● mouseover
● mouseout
1.2.2 触摸事件
● touchstart
● touchend
● touchmove

1.3 获取位置
1.3.1 鼠标位置
鼠标事件的两个属性确定鼠标的当前位置:pageX和pageY。兼容属性clientX与clientY。
封装获取鼠标位值到函数utils.captureMouse中

utils.captureMouse = function(element){
var mouse = {x:0,y:0};
element.addEventListener('mousemove',function(event){
var x,y;
if(event.pageX || event.pageY){
x = event.pageX;
y = event.pageY;
}else{
x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
x -= element.offsetLeft;
y -= element.offsetTop;

mouse.x = x;
mouse.y = y;
},false);
return mouse;
}

1.3.2 触摸位置

utils.captureTouch = function(element){
var touch = {x:null,y:null,isPressed:false};
element.addEventListener('touchstart',function(event){
touch.idPressed = true;
},false);
element.addEventListener('touchend',function(event)){
touch.isPressed = false;
touch.x = null;
touch.y = null;
}
element.addEventListener('touchmove',function(event){
var x,y,touch_event = event.touches[0];//first touch
if(touch_event.pageX || touch_event.pageY){
x = touch_event.pageX;
y = touch_event.pageY;
}else{
x = touch_event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
y = touch_event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
x -= offsetLeft;
y -= offsetTop;
touch.x = x;
touch.y = y;
},false);
return touch;
};

2.1弧度与角度的转换

radians = degrees * Math.PI / 180;
degrees = radians * 180 / Math.PI;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值