分享

lufylegend

 命運之輪 2014-07-03

 

转载自: http://lufy./lufylegend-js.php?v=api

 

API不断完善中,如有问题请发邮件到lufy.legend@gmail.com进行咨询。

 

lufylegend库件的使用方法


lufylegend库件的使用方法的使用非常简单:
1,从http://lufy./lufylegend-js.php下载库件最新版。
压缩包内包含lufylegend-x.x.x.js和lufylegend-x.x.x.min.js两个版本,后者是去除了回车和空格的压缩版本。
2,在html中将库件引入。
3,调用init函数,初始化库件。
举例:

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title>demo</title>  
  6. </head>  
  7. <body>  
  8. <div id="mylegend">loading……</div>  
  9. <script type="text/javascript" src="../lufylegend-1.4.0.min.js"></script>   
  10. <script>  
  11. init(50,"mylegend",800,480,main);  
  12. function main(){  
  13.     alert("ok");  
  14. }  
  15. </script>  
  16. </body>  
  17. </html>   



1、init 初始化


函数原型:init(speed,divid,width,height,completeFunc,type)
参数:
speed:游戏速度设定
divid:传入一个div的id,库件进行初始化的时候,会自动将canvas加入到此div内部
width:游戏界面宽
height:游戏界面高
completeFunc:游戏初始化后,调用此函数
type:当为null时,会先进行页面的onload操作,如果你的init函数调用是在onload之后,那么需要将此参数设为LEvent.INIT 举例:
同上

2、LGlobal.setDebug debug模式设定


函数原型:LGlobal.setDebug(value)
参数:
value:debug参数,此参数设为true的时候,进入debug状态,设为false时,结束debug状态


3、trace debug输出


函数原型:trace(...param)
作用:此函数用于测试,会将传入的字符串输出到游戏界面的下方,只有在debug模式下有效,否则调用无效,参数可以是任意个,输出的时候每个参数的输出为一行

LGlobal.divideCoordinate 数组拆分
函数原型:LGlobal.divideCoordinate(w,h,row,col)
作用:此函数用于将一个矩形按要求分割成一个2维数组
参数:
w:矩形宽
h:矩形高
row:行数
col:列数

4、base 继承


函数原型:base(derive,baseSprite,baseArgs)
作用:因为javascript没有继承,此函数用于实现继承
参数:
derive:需要继承的类
baseSprite:被继承的类
baseArgs:传给被继承类的参数
举例:
function Myclass(){ 
 base(this,LSprite,[]);

因为LSprite的构造器不需要参数,所以最后的参数传了一个空数组

5、addChild 函数


函数原型:addChild(DisplayObject)
作用:lufylegend库件实现了游戏的层结构,此函数将对象加入到游戏最底层画板上
参数:
DisplayObject:对象
举例:
var backLayer = LSprite();
addChild(backLayer);
 

6、removeChild 函数


函数原型:removeChild(DisplayObject)
作用:将对象移除游戏最底层画板
参数:
DisplayObject:对象

7、LLoader load


函数原型:load(src,loadtype)
作用:用来读取图片等
参数:
src:读取图片的路径
loadtype:目前只有bitmapData可用
举例:

[javascript] view plaincopy
  1. var loader;    
  2. function main(){    
  3.     loader = new LLoader();    
  4.     loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);    
  5.     loader.load("img.png","bitmapData");    
  6. }    
  7. function loadBitmapdata(event){    
  8.     var bitmapdata = new LBitmapData(loader.content);    
  9.     var bitmap = new LBitmap(bitmapdata);    
  10.     addChild(bitmap);    
  11. }    


 

8、LBitmapData类


构造器:LBitmapData(image,x,y,width,height)
作用:用来保存Image对象
参数:
image:Image对象
x:Image可是范围x坐标
y:Image可是范围y坐标
width:Image可是范围宽
height:Image可是范围高
可用属性:
type:类型x

9、LBitmapData.setCoordinate


函数原型:setCoordinate(x,y)
作用:用来改变LBitmapData内Image的可是范围的坐标
参数:
x:Image可是范围x坐标
y:Image可是范围y坐标

10、LBitmapData.setProperties


函数原型:setProperties(x,y,width,height)
作用:用来改变LBitmapData内Image的可是范围的坐标
参数:
x:Image可是范围x坐标
y:Image可是范围y坐标
width:Image可是范围宽
height:Image可是范围高

11、LBitmap类


构造器:LBitmap(bitmapdata)
作用:用来将LBitmapData对象里的Image显示到页面上
参数:
bitmapdata:LBitmapData对象
可用属性:
type:类型x
x:坐标x
y:坐标y
scaleX:X坐标方向上的缩放比例
scaleY:Y坐标方向上的缩放比例
alpha:透明度
rotate:旋转角度
visible:是否可见,当设为false的时候,该LBitmap对象不可视,且内部所有处理都将停止

12、LBitmap.getWidth


函数原型:getWidth()
返回值:LBitmap对象的宽度

13、LBitmap.getHeight


函数原型:getHeight()
返回值:LBitmap对象的高度

14、LSprite类


构造器:LSprite()
作用:LSprite 类是基本显示列表构造块,一个可显示图形并且也可包含子项的显示列表节点。
可用属性:
type:类型x
x:坐标x
y:坐标y
scaleX:X坐标方向上的缩放比例
scaleY:Y坐标方向上的缩放比例
alpha:透明度
rotate:旋转角度
visible:是否可见,当设为false的时候,该LBitmap对象不可视,且内部所有处理都将停止
childList:该对象的所有子项
graphics:指定属于此 LSprite 的 Graphics 对象,在此 LSprite 中可执行矢量绘图命令。
box2dBody:结合box2dweb后,创建的body2d
mask:遮罩

14、LSprite.addChild


函数原型:addChild(DisplayObject)
作用:将一个 可视对象添加到该实例中。
参数:
DisplayObject:添加的可视对象

15、LSprite.removeChild


函数原型:removeChild(DisplayObject)
作用:将一个 可视对象从该实例中移除。
参数:
16、DisplayObject:移除的可视对象

 

17、LSprite.getChildAt


函数原型:getChildAt(index)
作用:得到该实例的一个子对象。
参数:
index:子对象的索引
返回值:获取到的子对象

18、LSprite.removeChildAt


函数原型:removeChildAt(index)
作用:移除该实例的一个子对象。
参数:
index:移除子对象的索引

19、LSprite.removeAllChild


函数原型:removeAllChild()
作用:移除该实例的所有子对象。


20、LSprite.addEventListener


函数原型:addEventListener(type,listener)
作用:注册事件侦听器对象,以使侦听器能够接收事件通知。
参数:
type:事件的类型。
listener:处理事件的侦听器函数。

21、LSprite.removeEventListener


函数原型:removeEventListener(type,listener)
作用:删除侦听器。如果没有向 EventDispatcher 对象注册任何匹配的侦听器,则对此方法的调用没有任何效果。
参数:
type:事件的类型。
listener:要删除的侦听器对象。

22、LSprite.die


函数原型:LSprite.die()
作用:移除该实例的所有事件。


23、LSprite.addBodyCircle


函数原型:addBodyCircle(radius,cx,cy,type,density,friction,restitution)
作用:Box2d相关,设定圆形body。
参数:
radius:半径
cx:圆心坐标x
cy:圆心坐标y
type:是否动态(1或0)
density:密度
friction:摩擦
restitution:弹性
返回值:返回一个box2d创建的body

24、LSprite.addBodyPolygon


函数原型:addBodyPolygon(w,h,type,density,friction,restitution)
作用:Box2d相关,设定矩形body。
参数:
w:矩形宽
h:矩形高
type:是否动态(1或0)
density:密度
friction:摩擦
restitution:弹性
返回值:返回一个box2d创建的body

25、LSprite.addBodyVertices


函数原型:addBodyVertices(vertices,cx,cy,type,density,friction,restitution)
作用:Box2d相关,已定点数组形式设定任意形状的body。
参数:
vertices:定点数组
cx:中心坐标x
cy:中心坐标y
type:是否动态(1或0)
density:密度
friction:摩擦
restitution:弹性
返回值:返回一个box2d创建的body

26、LSprite.clearBody


函数原型:clearBody()
作用:Box2d相关,移除已设定的body。

27、LSprite.setBodyMouseJoint


函数原型:setBodyMouseJoint(value)
作用:Box2d相关,跟随鼠标拖动。

28、LSprite.setRotate


函数原型:setRotate(angle)
作用:Box2d相关,旋转
参数:
angle:旋转角度

29、LGraphics类


构造器:LGraphics()
作用:LGraphics 类包含一组可用来创建矢量形状的方法。


30、LGraphics.drawLine


函数原型:drawLine(thickness,lineColor,pointArray)
作用:画一条线。
参数:
thickness:线粗
lineColor:线颜色
pointArray:[起始坐标x,起始坐标y,结束坐标x,结束坐标y]

31、LGraphics.drawArc


函数原型:drawArc(thickness,lineColor,pointArray,isfill,color)
作用:画一段圆弧。
参数:
thickness:边缘线粗
lineColor:边缘线颜色
pointArray:数组元素依次为arc的所有参数,[圆心坐标x,圆心坐标y,半径r,起始角度sAngle,结束角度eAngle,顺逆时针aClockwise]
isfill:是否实心图形
color:实心颜色

32、LGraphics.drawRect


函数原型:drawRect(thickness,lineColor,pointArray,isfill,color)
作用:画一个矩形。
参数:
thickness:边缘线粗
lineColor:边缘线颜色
pointArray:[起始坐标x,起始坐标y,矩形宽width,矩形高height]
isfill:是否实心图形
color:实心颜色

33、LGraphics.drawVertices


函数原型:drawVertices(thickness,lineColor,vertices,isfill,color)
作用:根据数组定点画任意图形。
参数:
thickness:边缘线粗
lineColor:边缘线颜色
vertices:[[x,y],[x1,y1],[x2,y2]...]顶点个数必须大于3
isfill:是否实心图形
color:实心颜色

34、LGraphics.add


函数原型:add(fun)
作用:在LGraphics中调用原绘图方法。
参数:
fun:自定义函数
举例:

[javascript] view plaincopy
  1. backLayer.graphics.add(function (){  
  2.  LGlobal.canvas.beginPath();  
  3.  LGlobal.canvas.moveTo(10,10);  
  4.  LGlobal.canvas.lineTo(30,30);  
  5.  LGlobal.canvas.lineWidth = 2;  
  6.  LGlobal.canvas.strokeStyle = "#FF0000";  
  7.  LGlobal.canvas.closePath();  
  8.  LGlobal.canvas.stroke();  
  9. });    


35、LButton类


构造器:LButton(up,over)
作用:继承自LSprite类的一个子类,用来生成按钮
参数:
up:按钮的弹起状态(可以是LSprite类型或者LBitmap类型)
over:按钮的按下状态(可以是LSprite类型或者LBitmap类型)
举例:

[javascript] view plaincopy
  1. function gameInit(event){    
  2.     backLayer = new LSprite();    
  3.     addChild(backLayer);    
  4.     //imglist是一个保存了Image的数组  
  5.     btn01 = new LButton(new LBitmap(new LBitmapData(imglist["replay_button_up"])),  
  6.       new LBitmap(new LBitmapData(imglist["replay_button_over"])));    
  7.     btn01.x = 76;    
  8.     btn01.y = 50;    
  9.     backLayer.addChild(btn01);     
  10.     btn02 = new LButton(new LBitmap(new LBitmapData(imglist["quit_button_up"])),  
  11.       new LBitmap(new LBitmapData(imglist["quit_button_over"])));    
  12.     btn02.x = 76;    
  13.     btn02.y = 100;    
  14.     backLayer.addChild(btn02);    
  15.     btn01.addEventListener(LMouseEvent.MOUSE_DOWN, onmousedown01);    
  16.     btn02.addEventListener(LMouseEvent.MOUSE_DOWN, onmousedown02);    
  17. }    
  18. function onmousedown01(event){    
  19.     alert("btn01 on click");    
  20. }    
  21. function onmousedown02(event){    
  22.     alert("btn02 on click");    
  23. }    

 

36、LTextField类


构造器:LTextField()
作用:LTextField 类用于创建显示对象以显示和输入文本。
可用属性:
type:类型x
x:坐标x
y:坐标y
text:作为文本字段中当前文本的字符串。
font:文字的格式
size:文字大小
color:文字颜色
visible:是否可见,当设为false的时候,该LBitmap对象不可视,且内部所有处理都将停止
weight:文字粗细
stroke:文字的stroke属性,当为true时,可以设置lineWidth线宽
lineWidth:文字线宽,当stroke属性为true时有效
textAlign:文字左右对齐方式。
textBaseline:文字上下对齐方式

37、LTextField.setType


函数原型:setType(type)
作用:设置LTextField类型
参数:
type:当设置为LTextFieldType.INPUT的时候,LTextField会变为可输入状态
注意:LTextField的可输入状态起始就是html的text文本框

38、LTextField.getWidth


函数原型:getWidth()
作用:得到当前文本的宽度

 

39、LTextField.wind


函数原型:wind(listener)
作用:打字机状态逐字显示当前文本
参数:
listener:文字逐字显示结束后调用此函数

40、LAnimation类


构造器:LAnimation(layer,data,list)
作用:实现简单动画的播放,原理是将一张大的图片,按照保存有坐标的二维数组保存的坐标来逐个显示
参数:
layer:LSprite显示层
data:LBitmapData对象
list:装有坐标的二维数组
可用属性:
rowIndex:当前小图片行序号
colIndex:当前小图片列序号
bitmap:封装了LBitmapData对象的LBitmap对象
imageArray:坐标数组。

41、LAnimation.setAction


函数原型:setAction(rowIndex,colIndex,mode,isMirror)
作用:设置播放动画的行号和列号。
参数:
rowIndex:播放动画的行号
colIndex:播放动画的列号
mode:(1,0,-1)分别代表(正序播放,静止,倒序播放)
isMirror:Boolean型,当设定为true的时候,图片显示为水平翻转后的镜像

42、LAnimation.getAction


函数原型:getAction()
作用:得到当前动画播放的行号和列号返回值:结果数组[行号,列号]

LAnimation.onframe
函数原型:onframe()
作用:按照坐标数组逐次播放一行图片

43、LAnimation.addEventListener


函数原型:addEventListener(type,listener)
作用:注册事件侦听器对象,以使侦听器能够接收事件通知。
参数:
type:事件的类型,目前只支持LEvent.COMPLETE事件,表示一行图片组播放完成。
listener:处理事件的侦听器函数。

44、LAnimation.removeEventListener


函数原型:removeEventListener(type,listener)
作用:删除侦听器。如果没有向 EventDispatcher 对象注册任何匹配的侦听器,则对此方法的调用没有任何效果。
参数:
type:事件的类型,目前只支持LEvent.COMPLETE事件。
listener:要删除的侦听器对象。

45、LTweenLite.to


函数原型:LTweenLite.to($target,$duration,$vars)
作用:对LSprite或LBitmap对象进行缓动操作。
参数:
$target:进行缓动的对象
$duration:缓动执行的时间。
$vars:Object对象,通过属性值,来存储各种属性参数用于缓动。

$vars可用属性:
x:x坐标
y:y坐标
delay:延时时间
rotate:旋转角度
alpha:透明度
scaleX:x轴缩放
scaleY:y轴缩放
ease:缓动函数
onUpdate:缓动过程中调用的函数
onComplete:缓动结束后调用的函数

ease缓动函数:
o.easeIn,o.easeOut,o.easeInOut
其中的o可以是Quad,Cubic,Quart,Quint,Sine,Strong,Expo,Circ,Elastic,Back,Bounce;

46、LBox2d


构造器:LBox2d()
作用:在lufylegend库件里使用box2dweb,在使用box2d相关属性的时候,必须加入下面一行代码,将box2dweb实例化。
LGlobal.box2d = new LBox2d();

47、LBox2d.setEvent


函数原型:LBox2d.setEvent(type_value,fun_value)
作用:为box2d加载事件监听器
参数:
type_value:事件的类型,可以使用下面四个事件类型。
  LEvent.BEGIN_CONTACT:刚刚碰撞开始的时候会触发这个函数
  LEvent.END_CONTACT:碰撞结束的时候会触发这个函数
  LEvent.POST_SOLVE:碰撞后会处理这个函数
  LEvent.PRE_SOLVE:碰撞前即将碰撞的时候
fun_value:侦听函数。

48、LBox2d.setDistanceJoint


函数原型:LBox2d.setDistanceJoint(bodyA,bodyB)
作用:距离链接。
举例:
http://lufy./lufylegend-js/lufylegend-1.4/box2d/sample01/index9.html

49、LBox2d.setRevoluteJoint


函数原型:LBox2d.setRevoluteJoint(bodyA,bodyB,angle,motor)
作用:锚点链接。
举例:
http://lufy./lufylegend-js/lufylegend-1.4/box2d/sample01/index9.html

50、LBox2d.setPulleyJoint


函数原型:LBox2d.setPulleyJoint(bodyA,bodyB,verticesA,verticesB,ratio)
作用:滑轮链接。
举例:
http://lufy./lufylegend-js/lufylegend-1.4/box2d/sample01/index9.html

51、LBox2d.setPrismaticJoint


函数原型:LBox2d.setPrismaticJoint(bodyA,bodyB,vec,translation,motor)
作用:活塞链接。
举例:
http://lufy./lufylegend-js/lufylegend-1.4/box2d/sample01/index9.html

52、LBox2d.setGearJoint


函数原型:LBox2d.setGearJoint(bodyA,bodyB,ratio,revoluteJoint,prismaticJoint)
作用:齿轮链接。
举例:
http://lufy./lufylegend-js/lufylegend-1.4/box2d/sample01/index9.html

53、LBox2d.setLineJoint


函数原型:LBox2d.setLineJoint(bodyA,bodyB,vec,translation,motor)
作用:悬挂链接。
举例:
http://lufy./lufylegend-js/lufylegend-1.4/box2d/sample01/index9.html

54、LBox2d.setWeldJoint


函数原型:LBox2d.setWeldJoint(bodyA,bodyB)
作用:焊接。
举例:
http://lufy./lufylegend-js/lufylegend-1.4/box2d/sample01/index9.html

 

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多