月度存档: 8 月 2013 - 第2页

html5的video

记得flash里面要嵌入一段视频要多少步骤么,虽然直接导入或者拖video组件就可以
但是如果浏览器里面只要一行代码搞定,那还是很爽的,看html5是怎么玩的:
[code]




html5_video






[/code]
flash里面换视频播放器的皮肤那是相当之方便的,html5怎么换呢,以后再研究

css3还可以玩3d

[code]




css3_animations




[/code]

css3也玩帧动画

flash里的帧动画就是直接拖来拖去
看看css3里就是用@-webkit-keyframes myAnim这个定义的,废话少说,上代码:
[code]




css3_animations




[/code]

css3让方块向右缓动

[code]




css3让方块向右缓动





[/code]

[code]
/**
* …css3
*推荐网站
* http://prefixr.com/–浏览器兼容css3
* http://nicolasgallagher.com/css-drop-shadows-without-images/
* http://sandbox.webpro.nl/css3/3d-transforms-interactive-demo.html
* http://gaming.adobe.com/
* http://lostworldsfairs.com/atlantis
* http://css-tricks.com/有很多例子
* @author amyflash.com
*/

function clicked()
{
var b = document.getElementById(“box”);
b.style.left = 500+”px”;
}
[/code]

解决css3的浏览器兼容性

获取css3兼容代码
将style里的代码贴到这个网站上,一键获取兼容代码再贴回来,大部分现代浏览器都支持了,无敌啊
[code]




css3


I am a Div




[/code]

dom动画vs canvas动画

dom动画的优势:
1.兼容旧浏览器,无需用到html5特性
2.dom内容可通过程序获取
3.dom在旧的浏览器上的运行效率高于canvas
canvas动画的优势:
1.可以有效利用现代浏览器的gpu硬件加速功能
2.相对dom来说,canvas动画更容易旋转和变形
3.可以精确到像素级别的处理动画
总结:
1.当你想在已有的html元素上加动画的时候,使用dom动画
2.涉及到很多交互操作,比如游戏里面,可以考虑用canvas
3.很多时候,结合dom动画和canvas动画来构建你的项目可能是个明智的选择

dom动画

[code]









[/code]
[code]
/**
* …dom动画
*jquery对dom动画支持很好
* wowslider.com有很多例子
* @author amyflash.com
*/

(function() {
var dx=0;
var dy=0;
var x = 0;
var y =0;
var d;

d=document.getElementById(“box”);
dx = Math.random()*800;
dy = Math.random()*800;

loop();

function loop()
{
requestAnimationFrame(loop);
x+=(dx-x)*0.1;
y+=(dy-y)*0.1;

d.style.left = x+”px”;
d.style.top = y+”px”;

//d.style.width = x+”px”;
//d.style.height = y+”px”;

if(Math.abs(x-dx)<1) { dx = Math.random()*800; dy = Math.random()*600; } } })(); [/code]

canvas嵌套

[code]
/**
* …canvas嵌套
* @author amyflash.com
*/

(function() {
var ctx = document.getElementById(“canvas”).getContext(“2d”);

var canvas2 = document.createElement(“canvas”);

canvas2.width =200;
canvas2.height =200;
var ctx2 = canvas2.getContext(“2d”);
ctx2.fillStyle=”#0000FF”;
ctx2.strokeStyle=”#000000″;
ctx2.lineWidth =10;
ctx2.fillRect(0,0,200,200);
ctx2.strokeRect(0,0,200,200);

ctx.drawImage(canvas2,10,10);
})();
[/code]

canvas和sprite_sheets

有时候为了减小js文件大小,可能不需要用createjs框架,那这种情况下怎么画html5的动画呢,sprite_sheets跳出来了:Y别当我是空气啊:)
sprite_sheet.png
[code]
/**
* …canvas 加载sprite_sheet
* @author amyflash.com
*/

(function() {
var ctx = document.getElementById(“canvas”).getContext(“2d”);
var count = 0;
var x;
var y;
var xpos=0;
var ypos=0;

var img=new Image();
img.src = “sprite_sheet.png”;
img.onload = draw;
function draw()
{
requestAnimationFrame(draw);
//ctx.clearRect(0,0,212,201);
ctx.clearRect(0,0,800,600);

x = (count%9)*212;
y = Math.floor(count/9)*201;
ctx.drawImage(img,x,y,212,201,xpos++,ypos++,212,201);
if(count==149)
{
count=0;
}else{
count++;
}
}
})();
[/code]

canvas加载图片

[code]
/**
* …canvas 加载图片
* @author amyflash.com
*/

(function() {
var ctx = document.getElementById(“canvas”).getContext(“2d”);
var img=new Image();
img.src = “rusty.jpg”;
img.onload = function()
{
var x=30;
var y=0;
var img_width =100;
var img_height = 100;
//ctx.drawImage(this,x,y); //按原图大小显示
//ctx.drawImage(this,x,y,img_width,img_height);//按指定宽高显示
ctx.drawImage(this,x,y,img_width,img_height,x,y,150,150);//截取150*150显示
};
})();
[/code]