利用Unity制作“表”
一枚小菜鸟 目前没发现在Unity有其他路径制作类似于c# WinForm中的表;但是利用Unity自带的UGUI,制作了一张“伪表”,具体方案如下:
效果图如下:

步骤:
1、制作一个简单的UI界面,制作一个 button的预制件;



2、其中的数据来源有WCF服务提供;
3、代码实现:
脚本:

代码:
using UnityEngine;
using System.Collections;
using System.ServiceModel;
using UnityEngine.UI; public class showList : MonoBehaviour
{
public GameObject infoButton; //製作好的infobutton预制件
public GameObject InfoParent; //信息载体
private static string EnterStr = "_n_"; //自定义换行符
private static string SpaceStr = "_s_"; //自定义空格符
WriteSaveClient client;
void Awake()
{
client = new WriteSaveClient(new BasicHttpBinding(), new EndpointAddress(" http://localhost:8733/Design_Time_Addresses/STL_WCF/WriteSave/"));
}
void Start ()
{
ShowinfoList();//显示文件信息
}
#region 显示文件信息
void ShowinfoList() //显示文件信息函数
{ string 序号,用户,文件;
string[] rowinfo = string_handle();
for (int i=;i< rowinfo.Length;i++)
{
GameObject infolist = Instantiate(infoButton); //实例化infobutton预制件
infolist.GetComponent<RectTransform>().SetParent(InfoParent.GetComponent<RectTransform>()); //设置父对象
infolist.GetComponent<RectTransform>().localScale = Vector3.one; //设置大小
infolist.GetComponent<RectTransform>().localPosition = Vector3.zero; //设置位置
string[] Detailinfo = rowinfo[i].Replace(SpaceStr, "$").Split('$'); //提取具体信息
序号 = " "+Detailinfo[];
用户 = Detailinfo[];
文件 = Detailinfo[];
infolist.transform.FindChild("Count").GetComponent<Text>().text = 序号; //显示序号
infolist.transform.FindChild("userinfo").GetComponent<Text>().text = 用户; //显示用户
infolist.transform.FindChild("fileinfo").GetComponent<Text>().text = 文件; //显示文件
Button LoadBT = infolist.transform.FindChild("load").GetComponent<Button>(); //下载事件
LoadBT.onClick.AddListener(
delegate()
{
this.OnLoadClickBT(infolist);
}
);
}
InfoParent.GetComponent<RectTransform>().sizeDelta = //信息载体的大小要随着信息个数变化而变化
new Vector2(, rowinfo.Length * +);
}
string[] string_handle() //将包含信息的string第一步处理
{
string tempinfo = client.ShowFileList();
string[] rowinfo = tempinfo.Replace(EnterStr, "#").Split('#');
return rowinfo;
}
void OnLoadClickBT(GameObject bt) //下载按钮的触发事件
{ }
#endregion void Update ()
{ }
}
【欢迎转载】
转载请表明出处: 乐学习
利用Unity制作“表”的更多相关文章
- 利用中转输出表制作HijackDll
[原创]利用中转输出表制作HijackDll(附工具源码)作 者: baixinye时 间: 2012-08-05,16:48:45链 接: http://bbs.pediy.com/showthre ...
- Entity Framework 实体框架的形成之旅--利用Unity对象依赖注入优化实体框架(2)
在本系列的第一篇随笔<Entity Framework 实体框架的形成之旅--基于泛型的仓储模式的实体框架(1)>中介绍了Entity Framework 实体框架的一些基础知识,以及构建 ...
- 利用CSS制作背景变色的横向导航栏
1.表单 页面如下: <html> <head> <title>注册表单页面</title> </head> <body> &l ...
- 利用Unity3D制作简易2D计算器
利用Unity3D制作简易2D计算器 标签(空格分隔): uiniy3D 1. 操作流程 在unity3DD中创建一个新项目 注意选择是2D的(因为默认3D) 在Assets框右键新建C#脚本 在新建 ...
- Unity 制作不规则形状button
在游戏开发中,我们有时需要制作不规则形状的按键. Unity3d中使用UGUI的Button控件只能实现规则的长方形按钮.而通过给Button的Image组件添加对应的贴图(sprite)我们可以实现 ...
- PHP简单利用token防止表单重复提交
<?php /* * PHP简单利用token防止表单重复提交 * 此处理方法纯粹是为了给初学者参考 */ session_start(); function set_token() { $_S ...
- 利用TabHost制作QQ客户端标签栏效果(低版本QQ)
学习一定要从基础学起,只有有一个好的基础,我们才会变得更加的perfect 下面小编将利用TabHost制作QQ客户端标签栏效果(这个版本的QQ是在前几年发布的)…. 首先我们看一下效果: 看到这个界 ...
- Unity制作FPS Demo
等到把这个Unity FPS Demo[僵尸杀手]完成后再详细补充一下,使用Unity制作FPS游戏的经历,今天做个标识.
- Unity制作游戏中的场景
Unity制作游戏中的场景 1.2.3 场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity ...
随机推荐
- Codeforces Round #232 (Div. 2) D. On Sum of Fractions
D. On Sum of Fractions Let's assume that v(n) is the largest prime number, that does not exceed n; u ...
- C++设计模式-Mediator中介者模式
Mediator中介者模式作用:用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. UML如下: Colleage抽象同事类 ...
- C++设计模式-Composite组合模式
Composite组合模式作用:将对象组合成树形结构以表示“部分-整体”的层次结构.Composite使得用户对单个对象和组合对象的使用具有一致性. UML图如下: 在Component中声明所有用来 ...
- sax/dom/jdom/dom4j的区别
sax/dom/jdom/dom4j的区别[转] 博客分类: xml 网上能够查到很多的4种解析方式的区别,我再做一下摘录和总结,顺带给自己做个备份. SAX sax分析器在对xml文档进行分析时 ...
- 洛谷P2409 Y的积木
P2409 Y的积木 77通过 491提交 题目提供者zhouyonglong 标签云端评测 难度普及+/提高 提交 讨论 题解 最新讨论 这组数据几乎可以卡掉所有程- 第一个题解有点问题 求教大 ...
- uva1588kickdown
题目要求简述:给定长度分别为n1,n2(n1,n2<=100)且每列的高度只为1或者2的长条.需要将他们放入一个高度为3的容器,问能够容纳它们的最短容器长度. 思路就是固定一个字符串a,字符串b ...
- [python]获取文件夹下所有文件名
#---picknames.py---import os filenames = os.listdir(os.getcwd()) for name in filenames: print(name)
- Oracle死锁处理
SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#, l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS,b.O ...
- R&Rstudio安装各种包
安装rCharts的方法 install.packages('devtools') library(devtools) require(devtools) install_github('ramnat ...
- React知识点总结1
最近打算把react知识点总结下: React特点 1.虚拟DOM 在内存中操作DOM,在内存中创建数据结构,只会更新有差异的地方 2.组件化 页面分成若干个组件,每个组件包含逻辑结构和样式 组件仅包 ...