一枚小菜鸟   目前没发现在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制作“表”的更多相关文章

  1. 利用中转输出表制作HijackDll

    [原创]利用中转输出表制作HijackDll(附工具源码)作 者: baixinye时 间: 2012-08-05,16:48:45链 接: http://bbs.pediy.com/showthre ...

  2. Entity Framework 实体框架的形成之旅--利用Unity对象依赖注入优化实体框架(2)

    在本系列的第一篇随笔<Entity Framework 实体框架的形成之旅--基于泛型的仓储模式的实体框架(1)>中介绍了Entity Framework 实体框架的一些基础知识,以及构建 ...

  3. 利用CSS制作背景变色的横向导航栏

    1.表单 页面如下: <html> <head> <title>注册表单页面</title> </head> <body> &l ...

  4. 利用Unity3D制作简易2D计算器

    利用Unity3D制作简易2D计算器 标签(空格分隔): uiniy3D 1. 操作流程 在unity3DD中创建一个新项目 注意选择是2D的(因为默认3D) 在Assets框右键新建C#脚本 在新建 ...

  5. Unity 制作不规则形状button

    在游戏开发中,我们有时需要制作不规则形状的按键. Unity3d中使用UGUI的Button控件只能实现规则的长方形按钮.而通过给Button的Image组件添加对应的贴图(sprite)我们可以实现 ...

  6. PHP简单利用token防止表单重复提交

    <?php /* * PHP简单利用token防止表单重复提交 * 此处理方法纯粹是为了给初学者参考 */ session_start(); function set_token() { $_S ...

  7. 利用TabHost制作QQ客户端标签栏效果(低版本QQ)

    学习一定要从基础学起,只有有一个好的基础,我们才会变得更加的perfect 下面小编将利用TabHost制作QQ客户端标签栏效果(这个版本的QQ是在前几年发布的)…. 首先我们看一下效果: 看到这个界 ...

  8. Unity制作FPS Demo

    等到把这个Unity FPS Demo[僵尸杀手]完成后再详细补充一下,使用Unity制作FPS游戏的经历,今天做个标识.

  9. Unity制作游戏中的场景

    Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity ...

随机推荐

  1. 使用微软CORS包不能跨域访问的问题

    使用jquery的ajax异步调用的时候会出现不能跨域访问的问题,这个问题一般有两种方法. 1:使用jsonp跨域 2:使用html5的CORS 在这里只谈论第二种,微软对CORS提供的了支持,在Nu ...

  2. iOS--KVO的实现原理与具体应用

    本文分为2个部分:概念与应用. 概念部分旨在剖析KVO这一设计模式的实现原理,应用部分通过创建的项目,以说明KVO技术在iOS开发中所带来的作用: 如果是作为是刚接触KVO的初学者,可以在了解基本原理 ...

  3. Json 字符串 转换为 DataTable数据集合

    /// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson" ...

  4. jquery 获取日期时间

    获取JavaScript 的时间使用内置的Date函数完成 var mydate = new Date();mydate.getYear(); //获取当前年份(2位)mydate.getFullYe ...

  5. setFeatureInt、android 自定义标题栏

    Android 自带的toolbar 往往不能很好的的满足我们的个性化要求.因此我们经常使用自定的的标题栏.而Android系统本身也允许我们自定以标题栏. 记录一下,自定义标题栏常遇到的问题.先上效 ...

  6. HTML5学习总结

    一.HTML5概念 HTML5并不仅仅只是做为HTML标记语言的一个最新版本,更重要的是它制定了Web应用开发的一系列标准,成为第一个将Web做为应用开发平台的HTML语言. HTML5定义了一系列新 ...

  7. zTree默认勾选指定ID并执行事件

    try { var arrs = $('#subjectClassID').val().split(","); var treeObj = $.fn.zTree.getZTreeO ...

  8. function语句和function表达式的随笔

    function语句: function fn(){};/*利用function关键字声明,其在作用域顶端*/ function表达式: var fn = function(){};或者 var fn ...

  9. C#打开文件对话框

    OpenFileDialog ofd = new OpenFileDialog(); ofd.InitialDirectory = System.Environment.CurrentDirector ...

  10. iOS内存管理

    iOS内存管理的方式是引用计数机制.分为MRC(人式引用计数)和ARC(自动引用计数). 为什么要学习内存管理? 内存管理方式是引用计数机制,通过控制对象的引用计数来实现操作对象的功能.一个对象的生命 ...