Unity 制作滚动物品界面

Unity 制作滚动物品界面:

第一种方式: (panel的方式实现)

1. 创建一个GameObject(A),添加UIPanel和UIScrollView
           2. 物品放入A中,添加Drag Scroll View 和 box Colliders(一般是添加一个Grid,物体放入Grid,把Grid放入A)

注意事项:

1. 动态加载的物品坐标不正确,使用Grid组件Reposititon(),进行更新

代码实现:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class RootPanel : MonoBehaviour {

    public UIScrollView view;
    public GameObject items;
    public GameObject Grid;
    public List<GameObject> itemList = new List<GameObject>();

    public void Start()
    {
        foreach (var i in itemList)
        {
            Grid.GetComponent<UIGrid>().AddChild(i.transform);
        }

        view.Scroll(1f);
    }

    public void NextPage()
    {
        view.MoveRelative(new Vector3(200, 0, 0));
        view.RestrictWithinBounds(false, true, false);
    }
    public void PreviousPage()
    {
        view.MoveRelative(new Vector3(-200, 0, 0));
        view.RestrictWithinBounds(false, true, false);
    }

    //向前面滚动
    public void Next()
    {

        view.Scroll(1f);
    }

    //向后面滚动
    public void Previous()
    {
        view.Scroll(-1f);
    }

    //添加
    public void Add()
    {

       var clone = (GameObject)Instantiate(items,Vector3.zero,Quaternion.identity);
        clone.transform.parent = Grid.transform;
        clone.transform.localScale = new Vector3(1, 1, 1);
        itemList.Add(clone);

        Grid.GetComponent<UIGrid>().AddChild(clone.transform);
        Grid.GetComponent<UIGrid>().Reposition();
    }

    //删除
    int index = 0;
    public void Remove()
    {
        var grid =  Grid.GetComponent<UIGrid>();
        Destroy(itemList[index].gameObject);
        index++;

        grid.repositionNow = true;

    }

}

源代码: http://yunpan.cn/cyP9DQ22JpYJk  提取码 7131

时间: 2024-08-02 15:09:37

Unity 制作滚动物品界面的相关文章

Unity手机开发之巧妙利用纹理制作滚动背景

巧妙利用纹理制作滚动背景 本次学习的主要知识点有以下: 1.如何创建滚动背景. 可以利用材质球,让其不断地偏移纹理,就可以达到这样的效果. 2.time 和deltaTime的区别[狗刨学习网] Time.time是表示游戏从开始到现在的时间,是一个增长值. Time.deltaTime是表示机器上帧与帧之间的时间间隔,是一个固定值. 使用方法是创建一个材质球,贴上我们想要的背景,让Panel附上材质球,调整好摄像机的位置,将脚本挂在我们之前创建的Panel上. using UnityEngin

制作滚动视图(ScrollView)

怎样判断是否应当使用滚动视图 所谓的滚动视图,是指一个可以滑动的视窗,视窗大小和位置固定不变,视窗内的内容用户可以通过手指滑动或者拖动滚动天来进行滚动浏览. 滚动视图的目的是为了解决同类内容过多,一个UI版面显示不下的情况.如果同类内容过多,一般可以采取设置多个页面,然后通过翻页浏览的方式来浏览,但是很明显,滚动视图会比翻页更方便,因为在移动上可以很方便地花瓶进行滚动,在PC上可以通过鼠标的滚动进行滚动. 当需要判断是否应该使用滚动视图制作UI时,可以遵循以下规律: (1)有很多同类内容一个版面

axure 制作滚动效果(不显示滚动条)

笔者在上一篇文章<axure制作app侧滑菜单>中介绍了淘宝app筛选菜单的制作方法,但筛选菜单中的内容仅仅填充了"一屏"的内容,如果内容比较多,就需要菜单能够上下滚动,且仅仅是菜单部分滚动,其他商品列表部分(背景)无需滚动,本文介绍一下实现方法: 上篇<axure制作app侧滑菜单>博文地址: http://pmdrx.blog.51cto.com/11810835/1911380 要是实现局部滚动,动态面板即可实现,但动态面板的滚动条是不能隐藏的,这个时候我

Android学习笔记(十二)——实战:制作一个聊天界面

//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Patch图片是一种被特殊处理过的 png 图片,能够指定哪些区域可以被拉伸而哪些区域不可以.一般用来作为聊天信息的背景.在此我们先准备一张png图片.然后在 Android sdk 目录下有一个 tools 文件夹,在这个文件夹中找到 draw9patch.bat文件. 双击打开之后, 在导航栏点击 File→

Unity制作游戏中的场景

Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity 2D游戏开发从入门到精通清华大学出版社. 要创建一个新的场景,只需单击File|New Scene命令,或者按下快键键Ctrl+N,如图1-16所示. 图1-16  创建程序的命令,以及场景 默认情况下,新创建游戏项目的同时,也新创建了游戏的场景,只不过还没有保存罢了.使用快捷键Ctrl+S即可保

在几何画板中如何制作滚动按钮

在使用几何画板的过程中,很多的用户朋友都遇到过页面中内容较多,无法全部显示等情况,面对这种情况我们可以通过“滚动”按钮控制显示内容在屏幕内滚动.下面我们就来给大家介绍介绍几何画板制作滚动按钮? 在绘图区域中构造一个点并选定该点,执行“编辑”—“操作类按钮”—“滚动”命令,打开“滚动”属性对话框,选择滚动方向后单击“确定”生成一个“滚动”按钮.单击该按钮整个绘图区域中的对象随着点进行滚动.如滚动方向中的“窗口左上方”是指选定的点移动到窗口左上方,而画板的画面随选定的点,也向窗口的左上方平移.按住“

【原创游戏】合金弹头S——Unity制作的同人游戏

--纪念合金弹头陪伴的童年,回味横版过关射击快感 合金弹头S是一款Unity制作的同人游戏,由于当时我只是一个学了3个月游戏的同学,所以尚有一些不足之处,但这是我用Unity做的第一个原创作品 下载地址:https://pan.baidu.com/s/1c2ohTrq 原创boss战 O(∩_∩)O~ 原文地址:https://www.cnblogs.com/sols/p/8449317.html

使用UIPageControl UIScrollView制作APP引导界面

1. 新建两个视图控制器类(继承自UIViewController), 在AppDelegate.m中指定根视图控制器 #import "AppDelegate.h" #import "RootViewController.h" #import "LeadViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (void)dealloc { se

[译]为Unity制作WP8插件

前言: 在用Unity发布WP8应用时候,经常会遇到一些API不能用的情况,例如弹出MessageBox,无法使用string.Compare(string,string,bool)等等之类的问题.那么如何解决这些问题呢?解决方案之一就是制作插件.在Unity Manual中有这样一篇文章:http://docs.unity3d.com/Manual/wp8-plugins-guide-csharp.html 讲的就是如何制作Unity的WP8插件.小弟我用中文将这个过程描述一遍.由于能力有限,