[网页游戏开发]容器的使用及自定义Tab,RadioGroup,List,ViewStack
Morn里面,容器和其他普通组件不同,无需皮肤,所以也不能从组件树种拖动创建(Tab,RadioGroup例外),只能转换而来
Morn的容器组件主要有Box,Container,Panel,Tab,RadioGroup,List,ViewStack,他们的区别请查看教程《进一步了解Morn UI及工作流》
添加容器的操作步骤
1.选择要被包含在容器中的对象,比如我选择了一个label和button

2.用快捷键Ctrl+B转换为容器

这样就把label和button包含到了容器内

Box,Container,Panel等容器都是上面的操作方法
进入容器进行编辑
上面已经把label和button包含在容器里了,操作容器,就能同时操作label和button,比如设置位置,alpha属性等
如果想编辑容器内的label怎么操作呢?
只需双击这个容器对象,就可以进入容器内部了,然后就可以随意对内部组件进行操作修改,双击容器外区域,就又返回容器视图
Box,Container,Panel容器操作都比较简单,下面说一下Tab,RadioGroup,List,ViewStack自定义方式
Tab,RadioGroup普通创建方式
1.把一个按钮命名为tab_xxx

2.拖动到编辑器视图即可创建一个普通Tab

3.通过设置labels属性来改变标签的内容,设置direction属性可以控制Tab是水平还是垂直布局

这样就完成了一个Tab的创建
RadioGroup操作方式和Tab类同,只需把一个RadioButton命名为radiogroup_xxx,拖动到视图并且设置属性即可
自定义Tab,RadioGroup,List,ViewStack的显示
如果遇到个性化需求,比如每个按钮颜色不同,被放置的位置随意并且没有规律,上述方法明显不能控制每个按钮并让他们个性化
而自定义的方式实现的Tab,RadioGroup就能轻松实现个性化需求。
自定义方式和Box操作类似,下面我们自定义一个RadioGroup
1.在编辑器视图中拖动两个RadioButton,这时对这些按钮做一下个性化修改,比如我让一个RadioButton的Label颜色设置为红色,另外一个字体改为粗体

2.分别把他们的name属性命名为item0,item1等等(如果更多就是item2,item3)

3.然后同时选择这两RadioButton,Ctrl+B换行为RadioGroup容器

这样就完成了一个自定义RadioGroup组件,非常简单并且很灵活吧,Tab,List,ViewStack等容器自定义和上面类同
关于List和ViewStack的使用,会在后面单独进行更为详细的讲解,敬请期待
[网页游戏开发]容器的使用及自定义Tab,RadioGroup,List,ViewStack的更多相关文章
- 网页游戏开发秘笈 PDF扫描版
精选10种常见的游戏类型,透过典型实例,深入剖析游戏引擎及工具的选用技巧,详细讲解每款游戏的制作过程,为快速掌握网页游戏开发提供系统而实用的指南. 网页游戏开发秘笈 目录: 译者序 前 言 导 言 ...
- [网页游戏开发]Morn简介及使用教程
网页游戏开发利器,morn系列教程之Morn简介及使用教程 网页游戏开发的一大部分工作是在和UI制作上,一个好的工具及框架能使开发事半功倍,Adobe自带flash IDE和Flex各有不足. Mor ...
- [网页游戏开发]进一步了解Morn UI及工作流
Morn UI工作流 Morn Builder不仅仅是对Flash IDE的改进,传统的开发协作是以fla为基础,由于fla是二进制文件,在以svn等版本控制软件协作下,合并过程中会出现各种各样的问题 ...
- Phaser3 场景Scene之间的传值 -- HTML JAVASCRIPT 网页游戏开发
PHASERJS3 一.首先当然得有至少有二个场景sceneA.js,sceneB.js 二.从场景A传值到场景B二种方法 1)通过事件this.events.emit('event key',{ ...
- [网页游戏开发]Morn组件赋值
在讲解List之前,我们先介绍一下Morn组件赋值功能 默认属性赋值 界面逻辑开发过程中,经常会涉及到动态更改UI属性,比如: 界面有一个按钮,一个多选框和一个文本,分别命名为myButton,myC ...
- Phaser3 场景Scene之间的传值 -- HTML网页游戏开发
一.首先当然得有至少有二个场景sceneA.js,sceneB.js 二.从场景A传值到场景B二种方法 1)通过事件this.events.emit('event key',{objKey:objVa ...
- Phaserjs3 对象池随机产生炸弹并销毁 -- Html网页游戏开发
scene.js /// <reference path="../../libs/phaser/phaser.min.js"/> 'use strict'; var B ...
- Unity3D游戏开发之开发游戏带来的问题
昨日曾就某投资人把移动团队失败原因之中的一个归于选择Unity引擎进行了一番评论,工具本身无罪,但怎样理解工具.正确使用Unity引擎确实须要讨论,在选择Unity之前你也许须要了解下这个引擎实际开发 ...
- 手机3D游戏开发:自定义Joystick的相关设置和脚本源码
Joystick在手游开发中非常常见,也就是在手机屏幕上的虚拟操纵杆,但是Unity3D自带的Joystick贴图比较原始,所以经常有使用自定义贴图的需求. 下面就来演示一下如何实现自定义JoySti ...
随机推荐
- 六 、harbor使用
1 登录harbor docker login 10.1.2.6 2 打上标签 docker tag e3a875d407cf 10.1.2.6/library/ctf3:xss01 3 push到h ...
- hdu 4764 巴什博弈
Stone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- 九度oj 题目1208:10进制 VS 2进制
题目描述: 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们乘B为A的二进制逆序数. 例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10 ...
- POJ 1741 Tree ——点分治
[题目分析] 这貌似是做过第三道以Tree命名的题目了. 听说树分治的代码都很长,一直吓得不敢写,有生之年终于切掉这题. 点分治模板题目.自己YY了好久才写出来. 然后1A了,开心o(* ̄▽ ̄*)ブ ...
- BZOJ3261 最大异或和 【可持久化trie树】
题目 给定一个非负整数序列{a},初始长度为N. 有M个操作,有以下两种操作类型: 1.Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1. 2.Qlrx:询问操作,你需要找到一个位置p,满 ...
- 【leetcode dp】Dungeon Game
https://leetcode.com/problems/dungeon-game/description/ [题意] 给定m*n的地牢,王子初始位置在左上角,公主在右下角不动,王子要去救公主,每步 ...
- 大逃杀(树上dp)
这道题和宝藏差不多吧,转移的时候比较麻烦的. 代码中分量很多种情况. h更新比较麻烦 这两幅图表示了双边更新中3,4连个h更新,下面比较好理解的吧. #include<cstring> # ...
- vector 类中的 push_back( ) 函数
函数名 push_back,算法语言里面的一个函数名,如: 1) c++中的vector头文件里面就有这个push_back函数: 2) 在vector类中作用为在vector尾部加入一个数据 ...
- 创建mavenweb项目
1.创建maven项目 2.创建maven-web项目 3.将webapp文件夹复制到maven项目下,src路径下
- Python脚本实现单据体背景色及字段前景色设置
#PythonEntitySetColor clr.AddReference('Kingdee.BOS.Core') from Kingdee.BOS.Core.DynamicForm.PlugIn. ...