-
Notifications
You must be signed in to change notification settings - Fork 137
Advanced use
打开编辑器,快捷键Ctrl+O打开项目,选择Example文件夹下的MornExample.Morn项目文件即可打开
Morn里面,资源即组件
打开编辑器,在资源面板上点击“添加资源”,弹出资源目录,把资源放到此目录即可
特别提醒:
1.位图要以文件夹的方式存放,编辑器会以文件夹为单位生成对应的swf
2.Morn编辑器会根据资源的前缀自动识别为对应组件,前缀命名规则参考Builder/MornUIConfig.xml文件设置
比如前缀为button或btn的图片会被识别为Button组件
资源放到目录后,编辑器内使用快捷键F5刷新资源视图
在编辑器内使用F12快捷键发布资源和代码
如果编译项目后只看到文字看不到资源,是因为资源没有加载,请先加载资源后再实例化页面
只需执行Builder下的Project_support.bat添加.Morn和编辑器的注册,就能直接双击.morn项目文件打开项目了
选中组件,快捷键Ctrl+B转换为容器,容器的类型可以通过F9配置
选中容器,通过快捷键Ctrl+U打散容器
在页面内摆放几个按钮,每个按钮的位置颜色等属性可以随意设置,然后把按钮的name属性分别命名为item0,tiem1,item2...,选中这些按钮,Ctrl+B转换为Tab,这样就完成了自定义的Tab,RadioGroup,List类同
组件有gridSize属性(格式:左边距,上边距,右边距,下边距),例如可以设置为4,5,4,5
Container继承自Box,Container是一个相对定位的容器,增加了定位属性,比如left,right,top,bottom,还增加了centerX,centerY剧中对齐等属性
Panel继承自Box,实现了遮罩效果和滚动条
Dialog继承自View,Dialog是对话框,增加了show,close等弹出关闭窗口的方法
Morn Builder支持自定义页面的View和Dialog类,通过F9打开项目设置面板进行相关设置
1)窗口默认是不能拖动的
2)在编辑器内拖动一个可视对象,命名为drag,即可实现拖动块的设置(实际运行中拖动块不可见)
3)或者通过代码视图直接设置拖拽区域(dragArea)属性即可使窗体拖动
赋值是对组件属性修改的简化操作,类似flex里面的数据绑定。赋值是通过dataSource属性设置的
例如页面内有一个name属性为“labe1”的文本,和一个name属性为"btn2"的按钮
简单赋值:this.dataSource={{"labe1":"设置文本的text属性"},{"btn2":"按钮名称"}};
通过上述操作,就改变了label的text属性和button的label属性
复杂赋值:this.dataSource={{"labe1":{text:"设置text",size:12}},{"btn2":{label:"按钮名称",alpha:0.5}}};
例子:添加一个label并选中,Ctrl+B转换为Box,设置box的name属性为render,再把box转换为List,设置List的行数,列数和间隔属性即可(分别为repeatX,repeatY,spaceX,spaceY)。还可以自定义list,参考怎么自定义Tab,Radiogroup,List
代码中通过dataSource进行赋值,比如list.dataSource=[{label:"1"},{label:"2"},{label:"2"}]
或者list.array=[{label:"1"},{label:"2"},{label:"2"}]
list可以通过renderHandler函数自定义list渲染,如下图,详细可参看Example示例
双击list,进入list内部,拖动一个滚动条到list内,修改name属性为scrollBar,即可自动识别,详细可参看Example示例
双击进入list的item内部,添加一个两帧的clip(over状态,select状态),命名为selectBox,list即可自动识别,详细可参看Example示例
自定义组件有三个步骤:
1.书写组件类,实现IComponent接口(或者直接继承Component类),如果是容器,实现IBox接口(或者直接继承Box类)
2.修改View类添加对应的映射
3.修改编辑器Builder/MornUIConfig.xml添加对应的配置
Morn支持自定义控件(又称页面嵌套),实现页面的复用,只需拖动页面到另外一个页面内部,即可实现控件复用,还可通过修改此控件的runtime属性来设置控件的逻辑类
通过快捷键Ctrl+R可实现组件的批量复制
可以通过层对组件层次和是否显示进行控制,使用快捷键可以调整组件在同层的顺序和及切换到其他层,快捷键参考图层菜单
快捷键F9打开项目设置,里面可以修改很多个性化设置
内嵌模式和加载模式都是针对UIXML而言的,内嵌模式是将UI视图结构内嵌在UI类里面,加载模式是把UI视图结构压缩打包为ui.swf,使用时再加载解析
内嵌模式简单清晰,加载模式实现了UI和主程序分离,所以可以让美术直接修改UI导出,而无需编译主程序即可看到效果
Clip和FrameClip可以在编辑器内进行预览,选择组件,按回车键控制播放
常用快捷键:刷新资源(F5),发布代码(F12),转换为容器(Ctrl+B),打散容器(Ctrl+U),拖动视图(鼠标右键)等等,更多快捷键可以从菜单提示内找到
只要继承至编辑器扩展基类PluginBase即可,详细参考PluginDemo扩展实例源码
如需更多帮助,可以加入Morn交流群51451081,如发现bug,请在https://github.com/yungzhu/morn或http://code.google.com/p/morn进行反馈