最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

HTML5制作仿jQuery效果

来源:动视网 责编:小采 时间:2020-11-27 15:16:31
文档

HTML5制作仿jQuery效果

HTML5制作仿jQuery效果:开言 本篇文章通过开源html5引擎lufylegend实现JQuery滑动效果。能使一个矩形来回减速加速滑行。由于用到了html5里的canvas,所以如果大家要测试程序,请用支持html5的浏览器打开。源码下载稍后提供。初始化页面首先我们来看看html文件里的代码:>
推荐度:
导读HTML5制作仿jQuery效果:开言 本篇文章通过开源html5引擎lufylegend实现JQuery滑动效果。能使一个矩形来回减速加速滑行。由于用到了html5里的canvas,所以如果大家要测试程序,请用支持html5的浏览器打开。源码下载稍后提供。初始化页面首先我们来看看html文件里的代码:>


开言

本篇文章通过开源html5引擎lufylegend实现JQuery滑动效果。能使一个矩形来回减速加速滑行。由于用到了html5里的canvas,所以如果大家要测试程序,请用支持html5的浏览器打开。源码下载稍后提供。

初始化页面

首先我们来看看html文件里的代码:

> 
<html> 
<head> 
 <meta charset="utf-8" /> 
 <title>html5 game - 仿jquerytitle> 
 <script type="text/javascript" src="./js/lufylegend-1.6.1.min.js">script> 
 <script type="text/javascript" src="./js/main.js">script> 
head> 
<body> 
 <div id="mylegend">loading……div> 
body> 
html>

也许有人疑问,说是用html5,怎么不见canvas标签???其实当你使用lufylegend开发时,根本不需要加入canvas标签。只需要调用该引擎中的init函数并向参数赋值就能自动将canvas标签加到html文件中。

接下来让我们看看init用法:init(speed,id,width,height,function,type);其中speed代表页面更换速度,id代表传入的一个div的id,库件进行初始化的时候,会自动将canvas加入到此div内部,width和height分别代表页面大小,function就是初始化完成后调用的函数,最后一个参数type为null时,会先进行页面的onload操作,如果init函数调用是在onload之后,那么需要将此参数设为LEvent.INIT。

我在js里是这样调用init的:

init(50,"mylegend",800,400,main);

开始移动

看完初始化部分,我们不仿来看看是怎样做到能使一个矩形来回减速加速滑行。首先我们来看看main.js里的代码:

init(50,"mylegend",800,400,main); 
var backLayer; 
var speed = 20,x = 0; 
function main(){ 
 //加入层 
 initLayer(); 
 //开始移动 
 setInterval(function(){move();},10); 
} 
function initLayer(){ 
 //加入背景层 
 backLayer = new LSprite(); 
 addChild(backLayer); 
} 
function move(){ 
 //清空背景 
 backLayer.graphics.drawRect(0,"white",[0,0,800,400],true,"white"); 
 //绘制矩形 
 backLayer.graphics.drawRect(0,"dimgray",[x+=speed,0,200,200],true,"gray"); 
 //将速度逐渐变小 
 speed--; 
 //当速度小于或等于-20时,将速度重新设为20 
 if(speed <= -20){ 
 speed = 20; 
 } 
}

当我初始化完毕后,我加入了层,也就LSprite,用法如下:

■作用:
LSprite 类是基本显示列表构造块,一个可显示图形并且也可包含子项的显示列表节点。

■可用属性:
type:类型
x:坐标x
y:坐标y
scaleX:X坐标方向上的缩放比例
alpha:透明度
rotate:旋转角度
visible:是否可见,当设为false的时候,该LBitmap对象不可视,且内部所有处理都将停止
childList:该对象的所有子项
graphics:指定属于此 LSprite 的 Graphics 对象,在此 LSprite 中可执行矢量绘图命令。
box2dBody:结合box2dweb后,创建的body2d
mask:遮罩

举个例子:

var loader; 
init(200,"mylegend",500,350,main); 
function main(){ 
 loader = new LLoader(); 
 loader.addEventListener(LEvent.COMPLETE,loadBitmapdata); 
 loader.load("img.png","bitmapData"); 
} 
function loadBitmapdata(event){ 
 var bitmapdata = new LBitmapData(loader.content,0,0,64,64); 
 var bitmap = new LBitmap(bitmapdata); 
 var layer = new LSprite(); 
 addChild(layer); 
 layer.addChild(bitmap); 
}

当层初始化完成后,就可以开始移动矩形了。首先我用setInterval不断地画矩形,为了不让矩形重叠,我让它每画一次,清空一次屏幕。

//清空背景 
backLayer.graphics.drawRect(0,"white",[0,0,800,400],true,"white"); 
//绘制矩形 
backLayer.graphics.drawRect(0,"dimgray",[x+=speed,0,200,200],true,"gray");

以上代码实现了不断画矩形。可以看到,我是在backLayer层上实行绘制的。至于graphics的用法,我将它列在下面:

drawRect( 
 thickness, 
 lineColor, 
 pointArray, 
 isfill, 
 color 
)

■作用:
画一个矩形


■参数:
thickness:边缘线粗
lineColor:边缘线颜色
pointArray:[起始坐标x,起始坐标y,矩形宽width,矩形高height]
isfill:是否实心图形
color:实心颜色

接下来就是改变速度。首先我将每次移动的速度减少1,然后进行一次重新绘制。这样的画就可以进行减速加速滑行。速度减少成了负数就会往反方向走,但如果减少的太多就会移出屏幕,所以给它一个限制:

if(speed <= -20){ 
<span style="white-space:pre"> </span>speed = 20; 
}

也就是说如果减少的速度达到了-20那就让矩形往回跑。

这样一来,来回滑动就做好了。

文档

HTML5制作仿jQuery效果

HTML5制作仿jQuery效果:开言 本篇文章通过开源html5引擎lufylegend实现JQuery滑动效果。能使一个矩形来回减速加速滑行。由于用到了html5里的canvas,所以如果大家要测试程序,请用支持html5的浏览器打开。源码下载稍后提供。初始化页面首先我们来看看html文件里的代码:>
推荐度:
标签: 制作 效果 html5
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top