Unity中ScrollRect锁定元素详述(一)
2016-03-26 12:08
393 查看
0. 背景
需求是在竖向屏幕上,左右滑动以选择角色。若角色处在图1.a)图的非完整角色位置,则要求找到最近的角色卡片,并且自动滑动定位,如图1.b)所示。图1.a)
scrollRect处于非完整角色位置,b) 自动滑动锁定最近角色
1. 制作步骤
1.1 Unity版本
需求制作使用Unity5的
UGUI的新GUI组建(
UGUI自Unity4.6版本出现的)。
1.2 新建Canvas,Panel等UI
a). 在菜单栏GameObject/UI/Canvas,新建
Canvas,命名为
CharCanvas,如图2。
图2. 新建
Canvas
b). 同理,在CharCanvas中新建一个
Create/UI/Panel中新建一个panel,作为
CharCanvas子物体,并命名为ChoosePanel,如图3,在其
Image组建中,选择
Color的
alpha通道为0(使透明)。
图3. 新建
panel
这样在
Hierarchy中就有
CharCanvas和
EventSystem,如图4。
图4. 新建
Canvas和
Panel后的
Hierarchy
c). 在ChoosePanel新添一个
ScrollRect组件,如图5:
图5. 新添
ScrollRect组件
注. 在ScrollRect组建中设置去掉
Vertical的选择框,选择
MoveMentType为
Unrestricted
d). 在
ChoosePanel再新建一个
panel,作为
ChoosePanel的子物体,命名为
Content,并将此Content拖到c)步的ScrollRect组建的Content中,如图6所示:
图6
Content加入
ScrollRect
e). 在
Content中添加
Image,
Button, 自定义的
Prefabs等作为
Content的子物体。这些就是你将来滑动的角色卡片。为了简化,这是使用
UI/Image作为角色卡片的元素。添加好后,并且以x坐标520距离(同一高度)并列水平放置,
Hierarchy的层级目录和
Scence如图7所示:
图7.
Hierarchy的层级目录和
Scence
现在开启游戏,就可以在
ChoosePanel上左右滑动了。现在的问题是,它并不能定位在某个角色卡片上,接下来下一篇博客就讲述使用C#脚本实现上述功能。
相关文章推荐
- 对于解决新版unity5.x的license error 问题
- Unity3D研究院之提取游戏资源的三个工具支持Unity5(八十四)
- unity3D 如何提取游戏资源
- Unity3D 学习笔记5 ——使用ScriptableObject进行序列化
- Unity3D asset bundle 格式简析
- 各种光照的算法原理
- Unity怎样在Editor下运行协程(coroutine)
- Unity Shaders and Effects Cookbook (2-4) 压缩和混合纹理贴图:使用灰度图存储插值信息
- Unity中Awake和Start的区别
- Unity构建读取XML简单架构的方法与注意事项
- Thinking in Unity3D:材质系统概览
- Thinking in Unity3D:材质系统概览
- warning: mysql-community-libs-5.7.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5
- unity3D:Unity中的优化技术
- Android Studio 导入unity 项目
- unity3d,声音播放
- unity3d网格(mesh)编程的研究
- Unity3D -- Shader
- unity工具IGamesTools之批量生成帧动画
- Unity中的优化技术