使用NGUI制作UI,为什么打开界面太慢
展开全部
Scroll View定义:用来在界面中绘制一个滚动视图区域,并且可以通过滚动条来控制显示的区域内容
对应NGUI官网上的大纲是:
1 新建立一个Scene场景
2 拖入一个Contorl-Backgound到Scene中,微调,作为背景使用
3 鼠标在场景中右键点击Create-->Scroll View (调整的时候,注意不要调整的是UIPanel)
4 创建一个Sprite,或者快捷键Alt+Shift+S 并且将这个Sprite拖放到Scroll View 下(在Hierarchy中),Depth为0
拖动Sprite的时候,Sprite会被Scroll View的边缘剪辑一部分
5 添加交互事件的两个必要步骤
1 给Sprite添加Collider(碰撞体),鼠标右键-->Attach--> Box Collider 再右键点击Sprite的时候Attach中多了很多选项
2 给Sprite添加Drag Scroll View (拖动滚动视图)脚本,鼠标右键-->Attach-->UIDrag Scroll View 这个时候就可以用鼠标或是 Touch Event(触摸事件) 控制Scroll View,这个时候这个Sprite就会有滑动效果
6 复制(Ctrl+D)Scroll View下的多个Sprite,就能够实现拖动它们(不包含Sprite外边的,只包含Sprite内部),进行滚动
7 实现拖拽两个物体中间或外面,整体滑动效果
1 选中Scroll View,打开右键菜单选择Create Invisible widget,就会出现一个以Container的隐形控件,Depth 为1,
Container这里我设置的大小是和Scroll view 大小一样的
Invisible Widget(隐形控件) 只是一个四方形框架,中间不绘制任何东西
2 调整尺寸,和ScrollView重叠,然后将其拖出Sroll View,也就是在UIRoot下 这样就不会跟着Scroll View一起移动
3 最后添加Box Collider 和 Drag Scroll View(需要设置UI的Scroll View),UIDrag Scroll View 脚本中Scroll View 绑定上文创建的那个Scroll View
8 Container的Depth是1,Scroll View的Sprite的Depth 是0,Container(隐形控件)是否会拦截Spirte中的事件?
1 移除Container中的Drag Scroll View脚本,在点击播放按钮,仍然可以拖拽(说明只需要添加Box Collider碰撞体就可以实现点击空白部分实现拖拽滑动)
说明Container不会获取事件,而物体会获取事件 因为Scroll View 有它自己的Panel,Panel的Depth设置为1
而UIRoot中Panel对应的Depth是0,Scroll View中的Depth是1,所以事件会先发送到Scroll View 之后才会发送到Ui Root
对应NGUI官网上的大纲是:
1 新建立一个Scene场景
2 拖入一个Contorl-Backgound到Scene中,微调,作为背景使用
3 鼠标在场景中右键点击Create-->Scroll View (调整的时候,注意不要调整的是UIPanel)
4 创建一个Sprite,或者快捷键Alt+Shift+S 并且将这个Sprite拖放到Scroll View 下(在Hierarchy中),Depth为0
拖动Sprite的时候,Sprite会被Scroll View的边缘剪辑一部分
5 添加交互事件的两个必要步骤
1 给Sprite添加Collider(碰撞体),鼠标右键-->Attach--> Box Collider 再右键点击Sprite的时候Attach中多了很多选项
2 给Sprite添加Drag Scroll View (拖动滚动视图)脚本,鼠标右键-->Attach-->UIDrag Scroll View 这个时候就可以用鼠标或是 Touch Event(触摸事件) 控制Scroll View,这个时候这个Sprite就会有滑动效果
6 复制(Ctrl+D)Scroll View下的多个Sprite,就能够实现拖动它们(不包含Sprite外边的,只包含Sprite内部),进行滚动
7 实现拖拽两个物体中间或外面,整体滑动效果
1 选中Scroll View,打开右键菜单选择Create Invisible widget,就会出现一个以Container的隐形控件,Depth 为1,
Container这里我设置的大小是和Scroll view 大小一样的
Invisible Widget(隐形控件) 只是一个四方形框架,中间不绘制任何东西
2 调整尺寸,和ScrollView重叠,然后将其拖出Sroll View,也就是在UIRoot下 这样就不会跟着Scroll View一起移动
3 最后添加Box Collider 和 Drag Scroll View(需要设置UI的Scroll View),UIDrag Scroll View 脚本中Scroll View 绑定上文创建的那个Scroll View
8 Container的Depth是1,Scroll View的Sprite的Depth 是0,Container(隐形控件)是否会拦截Spirte中的事件?
1 移除Container中的Drag Scroll View脚本,在点击播放按钮,仍然可以拖拽(说明只需要添加Box Collider碰撞体就可以实现点击空白部分实现拖拽滑动)
说明Container不会获取事件,而物体会获取事件 因为Scroll View 有它自己的Panel,Panel的Depth设置为1
而UIRoot中Panel对应的Depth是0,Scroll View中的Depth是1,所以事件会先发送到Scroll View 之后才会发送到Ui Root
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询