当前位置: 首页 > 文档资料 > KAG 标签文档 v1.0 >

图层

优质
小牛编辑
131浏览
2023-12-01

标签

描述

laycount

重新分配layer图层和message层的数目

layopt

设定图层的属性

backlay

forelay

把表层复制到里层

把里层复制到表层

copylay

把某一图层复制到目标图层上

laylevel

设定图层的absolute

layfront

layback

把指定图层移到最前面

指指定图层移到最后面

laycount

说明:

(1) 重新分配layers[i]和messages[i]的空间和数目

(2) 内部通过allocateCharacterLayers(+elm.layers)和allocateMessageLayers(+elm.messages)实现

例子:

game.laycount(%[layers:10,messages:10]);

也就是分配10个layers层和10个messages层的空间

backlay

说明:

(1) 如果layer有指定的话,就把表层的layer复制到里层,如果layer没指定的话,就把所有层(base, character, message, stage, event)复制到它们的里层

(2) 内部主要通过backupLayer(elm, true)实现

属性:

layer: (“base”,“stage”,“event”,“message”, “message0”, “message1”, “message2”…… num)

message得到的是当前的信息层,num得到的是当前的layers[+num]层)

例子:

var game=kag.tagHandlers;

kag.fore.base.drawText(0,0,"longmo",0xffffff);

game.backlay(%[layer:"base"]);

kag.fore.base.fillRect(0,0,1024,768,0x000000);

kag.back.base.visible=true;

屏幕上依然显示longmo,因为backlay把base的表层复制到了里层

forelay

说明:

(1) 如果layer有指定的话,就把里层的layer复制到表层,如果layer没指定的话,就把所有层(base, character, message, stage, event)复制到它们的表层

(2) 内部主要通过backupLayer(elm, false)实现

属性:

layer: (“base”,“stage”,“event”,“message”, “message0”, “message1”, “message2”…… num)

message得到的是当前的信息层,num得到的是当前的layers[+num]层)

例子:

var game=kag.tagHandlers;

kag.back.base.drawText(0,0,"longmo",0xffffff);

game.forelay(%[layer:"base"]);

屏幕上会显示longmo,因为把表层复制到了里层上

copylay

说明:

(1) 把srclayer层的内容复制到destlayer上,注意srclayer和destlayer必须是相同的对象

(2) 内部通过copyLayer(elm)实现

属性:

srcpage: (“fore” 或 “back”)

srclayer: (“base”,“stage”,“event”,“message”, “message0”, “message1”, “message2”…… num)

message得到的是当前的信息层,num得到的是当前的layers[+num]层)

destpage: (“fore” 或 “back”)

destlayer: (“base”,“stage”,“event”,“message”, “message0”, “message1”, “message2”…… num)

message得到的是当前的信息层,num得到的是当前的layers[+num]层)

例子:

var game=kag.tagHandlers;

kag.back.base.drawText(0,0,"abcdefghijkl",0xffffff);

game.copylay(%[srcpage:"back",srclayer:"base",destpage:"fore",destlayer:"base"]);

屏幕上显示abcdefghijkl,因为把base层的back复制到了base层的fore上

layopt

说明:

(1) 设定指定层的内容

(2) 内部通过调用getLayerFromElm(elm).setOptions(elm)实现

属性:

layer: (“base”,“stage”,“event”,“message”, “message0”, “message1”, “message2”…… num)

message得到的是当前的信息层,num得到的是当前的layers[+num]层)

以上字典还未全,如果是base的话

base层时

opacity: (int 0 to 255)

index: (long)

left: (int)

top: (int)

modal: (bool)

stage层或layer层时

visible: (bool)

opacity: (int 0 to 255)

index: (long)

left: (int)

top: (int)

modal: (bool)

type: (string 如”alpha”代表ltAlpha?)

rotate: (int 以度为单位)

zoomx: (int 以%为单位)

zoomy: (int 以%为单位)

zoom: (int 以%为单位)

afx: (int 或 “left” “right” “center”)

afy: (int 或 “top” “bottom” “center”)

reset: (bool)

autohide: (bool)

message层时

visible: (bool)

opacity: (int 0 to 255)

index: (long)

left: (int)

top: (int)

modal: (bool)

例子:

var game=kag.tagHandlers;

game.image(%[layer:"0",page:"fore",storage:"config"]);

game.layopt(%[layer:"0",page:"fore",visible:true,left:100,top:100,rotate:60]);

得到的是旋转了60度的图像

laylevel

说明:

(1) 给指定的layers[i]层分配新的level,实际上就是分配新的absolute的值

(2) 可看成是absolute的简化

(3) 内部通过toLevel(elm.layer, elm.level, base)实现

属性:

layer:

page:

level:

例子:

var game=kag.tagHandlers;

var inf=System.inform;

inf(kag.fore.layers[0].absolute);

game.laylevel(%[layer:"0",page:"fore",level:3]);

inf(kag.fore.layers[0].absolute);

第一个显示的对话框数值是100000,第二个显示的对话框数值是400100,其计算方法是

(level + 1) * 100000 +100

layfront

说明:

(1) 把指定的图层移动到最前面

(2) 内部通过toFront(elm.layer, base)实现

属性:

layer:

page:

layback

说明:

(1) 把指定的图层移动到最后面

(2) 内部通过toBack(elm.layer, base)实现

属性:

layer:

page: