每个.ui 发布后都会自动继承 View 或者 Dialog 如果要继承自己的UI基类要怎么处理,总不能每次都去手动修改,这时候我们就需要添加上自己的ui基类
第一 编写我们自己的UI基类
package Core.View
{
import laya.ui.View;
/**
* ...
* @author
*/
public class UIBase extends View
{
public function UIBase()
{
init();
}
private function init():void
{
onInit();
}
public function show():void
{
this.visible = true;
addListener();
onShow();
opendLoop();
}
public function hide():void
{
removeListener();
this.visible = false;
this.onHide();
clear();
}
public function destory():void
{
removeListener();
this.removeSelf();
this.destory();
this.onDestory();
}
// 增加游戏主循环
private function opendLoop():void
{
Laya.timer.frameLoop(1,this,update);
}
// 清理对象身上的所有定时器。
private function clear():void
{
Laya.timer.clear(this,update);
}
protected function onInit():void{}
protected function onShow():void{}
protected function onHide():void{}
protected function addListener():void{}
protected function removeListener():void{}
protected function onDestory():void{}
protected function update():void{}
}
}
第二 切换到UI 编辑模式下 按F9 弹出项目设置,添加上我们自己的基类 点击确定 如下图
第三 右键新建 页面/场景 在页面类型中多了一项UIBase 选择UIBase创建自己的UI界面 修改runtime为UIBase的脚本路径
runtime 的作用
在LayaAirIDE中资源面板下所有的组件均有runtime的属性,runtime是该组件运行时的逻辑类;相同组件可使用同一runtime类来实现相同的功能,比如不同页面上需要对相同的组件实现同一功能。需要注意的是组件的runtime逻辑类如果不继承组件自身,并且继承的对象中没有该组件的属性时,这个属性则会失效(不支持在View和Dialog页面中使用)。