LGlobal Class
全局类。
Item Index
Methods
- divideCoordinate static
- hitPolygon static
- hitTestArc static
- hitTestPolygon static
- hitTestPolygonArc static
- hitTestRect static
- resize static
- screen static
- setDebug static
- setFrameRate static
- show static
Properties
- FULL_SCREEN static
- LGlobal.align static
- LGlobal.android static
- LGlobal.aspectRatio static
- LGlobal.backgroundColor static
- LGlobal.canTouch static
- LGlobal.canvas static
- LGlobal.canvasObj static
- LGlobal.destroy static
- LGlobal.forceRefresh static
- LGlobal.height static
- LGlobal.ios static
- LGlobal.keepClear static
- LGlobal.mobile static
- LGlobal.os static
- LGlobal.preventDefault static
- LGlobal.stage static
- LGlobal.stageScale static
- LGlobal.stopPropagation static
- LGlobal.webAudio static
- LGlobal.width static
Methods
divideCoordinate
-
width
-
height
-
row
-
col
将传入的宽和高,按照行数和列数进行拆分计算,会得到一个2维数组。
Parameters:
-
width
Float宽
-
height
Float高
-
row
Int行数
-
col
Int列数
Returns:
2维数组
Example:
LInit(50, "legend", 800, 480, main);
function main () {
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("player.png", "bitmapData");
}
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.target,0,0,120,210);
player = new LAnimation(backLayer,data,list);
backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
}
function onframe(){
player.onframe();
}
hitPolygon
-
vertices
-
x
-
y
检测点是否在多边形内部
Parameters:
-
vertices
Array多边形的顶点数组[[x1,y1],[x2,y2],[x3,y3],......]
-
x
Floatcoordinate-x of point
-
y
Floatcoordinate-y of point
Returns:
当たったらtrueを返す
Example:
LGlobal.setDebug(true);
var layer = new LSprite();
addChild(layer);
var vertices = [[50,100],[150,50],[100,150]];
layer.graphics.drawVertices(1,"#000000",vertices);
var point1 = [100,100];
layer.graphics.drawArc(1,"#000000",[point1[0],point1[1],2,0,2*Math.PI]);
var point2 = [50,200];
layer.graphics.drawArc(1,"#000000",[point2[0],point2[1],2,0,2*Math.PI]);
trace(LGlobal.hitPolygon(vertices,point1[0],point1[1]));//out:true
trace(LGlobal.hitPolygon(vertices,point2[0],point2[1]));//out:false
hitTestArc
-
objA
-
objB
-
objAR
-
objBR
将两个对象看作圆来检测碰撞
如果对象发生旋转,则不能使用此方法进行碰撞检测,请使用LSprite类的hitTestObject
Parameters:
-
objA
LDisplayObject对象A
-
objB
LDisplayObject对象B
-
objAR
Float新的半径
-
objBR
Float新的半径
Returns:
当たったらtrueを返す
Example:
LGlobal.setDebug(true);
var arcLayer1 = new LSprite();
arcLayer1.graphics.drawArc(1,"#000000",[100,100,100,0,2*Math.PI]);
addChild(arcLayer1);
var arcLayer2 = new LSprite();
arcLayer2.alpha = 0.5;
arcLayer2.x = 150;
arcLayer2.graphics.drawArc(1,"#000000",[100,100,100,0,2*Math.PI]);
addChild(arcLayer2);
var arcLayer3 = new LSprite();
arcLayer3.alpha = 0.5;
arcLayer3.x = 300;
arcLayer3.graphics.drawArc(1,"#000000",[100,100,100,0,2*Math.PI]);
addChild(arcLayer3);
//[100,100,100,0,2*Math.PI] vs [100,100,100,0,2*Math.PI]
trace(LGlobal.hitTestArc(arcLayer1,arcLayer2));//out:true
//[115,115,70,0,2*Math.PI] vs [115,115,70,0,2*Math.PI]
trace(LGlobal.hitTestArc(arcLayer2,arcLayer3,70,70));//out:false
hitTestPolygon
-
verticesA
-
verticesB
检测多边形与多边形的碰撞
Parameters:
-
verticesA
Array多边形A的顶点数组[[x1,y1],[x2,y2],[x3,y3],......]
-
verticesB
Array多边形B的顶点数组[[x1,y1],[x2,y2],[x3,y3],......]
Returns:
当たったらtrueを返す
Example:
LGlobal.setDebug(true);
var layer = new LSprite();
addChild(layer);
var vertices = [[50,100],[150,50],[100,150]];
layer.graphics.drawVertices(1,"#000000",vertices);
var vertices1 = [[120,60],[250,150],[100,100]];
layer.graphics.drawVertices(1,"#000000",vertices1);
var vertices2 = [[70,200],[100,160],[200,300]];
layer.graphics.drawVertices(1,"#000000",vertices2);
trace(LGlobal.hitTestPolygon(vertices,vertices1));//out:true
trace(LGlobal.hitTestPolygon(vertices,vertices2));//out:false
hitTestPolygonArc
-
vertices
-
circle
检测一个多边形和一个圆的碰撞
Parameters:
-
vertices
Array多边形的顶点数组[[x1,y1],[x2,y2],[x3,y3],......]
-
circle
Array圆[中心坐标x,中心坐标y,半径,半径*半径]
Returns:
当たったらtrueを返す
Example:
LGlobal.setDebug(true);
var layer = new LSprite();
addChild(layer);
var vertices = [[50,100],[150,50],[100,150]];
layer.graphics.drawVertices(1,"#000000",vertices);
var circle1 = [170,100,50,2500];
layer.graphics.drawArc(1,"#000000",[circle1[0],circle1[1],circle1[2],0,2*Math.PI]);
var circle2 = [50,200,50,2500];
layer.graphics.drawArc(1,"#000000",[circle2[0],circle2[1],circle2[2],0,2*Math.PI]);
trace(LGlobal.hitTestPolygonArc(vertices,circle1));//out:true
trace(LGlobal.hitTestPolygonArc(vertices,circle2));//out:false
hitTestRect
-
objA
-
objB
-
vecA
-
vecB
将两个对象看作矩形来检测碰撞,等同于 hitTest。
如果对象发生旋转,则不能使用此方法进行碰撞检测,请使用LSprite类的hitTestObject
Parameters:
-
objA
LDisplayObject对象A
-
objB
LDisplayObject对象B
-
vecA
Array重新设置对象A的矩形范围 [width,height]
-
vecB
Array重新设置对象B的矩形范围 [width,height]
Returns:
如果碰撞则返回true。
Example:
LGlobal.setDebug(true);
var rectLayer1 = new LSprite();
rectLayer1.graphics.drawRect(1,"#000000",[0,0,200,200],true,"#FF0000");
addChild(rectLayer1);
var rectLayer2 = new LSprite();
rectLayer2.alpha = 0.5;
rectLayer2.x = 150;
rectLayer2.graphics.drawRect(1,"#000000",[0,0,200,200],true,"#00FF00");
addChild(rectLayer2);
var rectLayer3 = new LSprite();
rectLayer3.alpha = 0.5;
rectLayer3.x = 300;
rectLayer3.graphics.drawRect(1,"#000000",[0,0,200,200],true,"#0000FF");
addChild(rectLayer3);
//[0,0,200,200] vs [0,0,200,200]
trace(LGlobal.hitTestRect(rectLayer1,rectLayer2));//out:true
//[30,0,140,200] vs [30,0,140,200]
trace(LGlobal.hitTestRect(rectLayer2,rectLayer3,[140,200],[140,200]));//out:false
resize
-
width
-
height
将画面设置为指定大小
Parameters:
-
width
Float指定宽度
-
height
Float指定高度
Example:
LInit(1000/60, "legend", 240, 240, main);
function main () {
LGlobal.resize(400,100);
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("face.jpg", "bitmapData");
}
function loadBitmapdata (event) {
var bitmapdata = new LBitmapData(event.target);
var bitmap = new LBitmap(bitmapdata);
addChild(bitmap);
}
screen
-
value
全画面显示或者设定画面大小的缩放比例值
Parameters:
-
value
String | float全画面的静态值LGlobal.FULL_SCREEN 或者 画面大小的缩放比例值
Example:
LInit(1000/60, "legend", 240, 240, main);
function main () {
LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
LGlobal.screen(LStage.FULL_SCREEN);
//you can also use it like : LGlobal.screen(1.5);
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("face.jpg", "bitmapData");
}
function loadBitmapdata (event) {
var bitmapdata = new LBitmapData(event.target);
var bitmap = new LBitmap(bitmapdata);
addChild(bitmap);
}
setDebug
-
value
设定是否开启测试模式。
*当游戏发布的时候,必须关闭测试模式。
Parameters:
-
value
Boolean是否开启测试模式
Example:
LInit(50, "legend", 800, 480, main);
function main () {
LGlobal.setDebug(true);
trace("test01", "test02", "test03");
}
setFrameRate
-
speed
重新设定游戏速度
Parameters:
-
speed
Int游戏速度,每次页面刷新间隔(单位毫秒), FPS = 1000 / speed。
Example:
LGlobal.setFrameRate(1000/60);
show
-
list
-
context2D
将传入的一组对象绘制到指定的CanvasRenderingContext2D对象上。
※该方法每调用一次,只绘制一次。
Parameters:
-
list
Array要绘制的对象数组,数组中的对象必须是LDisplayObject对象
-
context2D
CanvasRenderingContext2D通过canvas.getContext("2d")得到的对象
Example:
LInit(1000/60, "legend", 240, 240, main);
var myCanvas=document.getElementById("myCanvas");
var ctx=myCanvas.getContext("2d");
function main () {
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("face.jpg", "bitmapData");
}
function loadBitmapdata(event){
var bitmapdata = new LBitmapData(event.target);
var bitmap = new LBitmap(bitmapdata);
addChild(bitmap);
LGlobal.show([bitmap], ctx);
}
Properties
FULL_SCREEN
String
public
static
[静态] 定义全屏的属性值。
用法请参照LGlobal.screen函数
LGlobal.align
String
public
static
一个 LStageAlign 类中指定舞台在浏览器中的对齐方式的值。
Example:
LInit(50, "legend", 240, 240, main);
function main () {
LGlobal.align = LStageAlign.BOTTOM_MIDDLE;
LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
LSystem.screen(LStage.FULL_SCREEN);
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("face.jpg", "bitmapData");
}
function loadBitmapdata (event) {
var bitmapdata = new LBitmapData(event.target);
var bitmap = new LBitmap(bitmapdata);
addChild(bitmap);
}
LGlobal.android
Boolean
public
static
当前浏览器是否为Android。
LGlobal.aspectRatio
String
public
static
将舞台设置成使用指定长宽比的方向。可以设置为下列值
LANDSCAPE、PORTRAIT。
LGlobal.backgroundColor
String
public
static
游戏画面的背景颜色。
LGlobal.canTouch
Boolean
public
static
等同于 LGlobal.mobile。
LGlobal.canvas
CanvasRenderingContext2D
public
static
context 对象。
LGlobal.canvasObj
HTML elements
public
static
canvas 标签。
LGlobal.destroy
Boolean
public
static
LDisplayObject对象从舞台上被移除的时候,是否将这个对象整个清空。
Default: true
LGlobal.forceRefresh
Boolean
public
static
强制将画面彻底刷新,如果游戏中没有背景,有些手机上清空画面时偶尔会留下残影,如果遇到情况,可以在清空画面时将此属性设置为true来强制刷新画面一次。
Default: false
LGlobal.height
Int
public
static
游戏初始化时设定的画面的高,即canvas的高。
LGlobal.ios
Boolean
public
static
当前浏览器是否为IOS。
LGlobal.keepClear
Boolean
public
static
LDisplayObject对象从舞台上被移除的时候,是否将这个对象整个清空。
如果游戏不是透明背景的话,可以将LGlobal.keepClear的值设置为false来提高游戏效率。
Default: true
LGlobal.mobile
Boolean
public
static
当前浏览器是否是移动浏览器。等同于 LGlobal.canTouch。
LGlobal.os
String
public
static
当前浏览器环境。可以是下面中的一个
OS_IPHONE,OS_IPOD,OS_IPAD,OS_ANDROID,OS_PC。
LGlobal.preventDefault
Boolean
public
static
如果事件对象的cancelable属性为true,则该方法可以取消事件的默认动作.但并不取消事件的冒泡行为。移动网页中用来禁止滚屏,默认为true(禁止),如果需要使用滚屏功能,则需要将其设置为fasle。
Default: true
LGlobal.stage
LSprite
public
static
一个LSprite对象,所有的DisplayObject对象的最底层。
除非做功能扩展,否则不推荐直接将对象加载到LGlobal.stage上。
LGlobal.stageScale
String
public
static
一个 LStageScaleMode 类中指定要使用哪种缩放模式的值。
Example:
LInit(50, "legend", 240, 240, main);
function main () {
LGlobal.align = LStageAlign.BOTTOM_MIDDLE;
LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
LSystem.screen(LStage.FULL_SCREEN);
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("face.jpg", "bitmapData");
}
function loadBitmapdata (event) {
var bitmapdata = new LBitmapData(event.target);
var bitmap = new LBitmap(bitmapdata);
addChild(bitmap);
}
LGlobal.stopPropagation
Boolean
public
static
该方法将停止事件的传播,阻止它被分派到其他 Document 节点。
Default: false
LGlobal.webAudio
Boolean
public
static
当设备支持Web Audio Api的时候,是否使用Web Audio Api来播放音频。
Default: true
LGlobal.width
Int
public
static
游戏初始化时设定的画面的宽,即canvas的宽。