利用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 ...
随机推荐
- LVM原理及PV、VG、LV、PE、LE关系图
PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区.VG(volume group):卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立 ...
- window.frame
定义和用法 frames 属性返回窗口中所有命名的框架. 该集合是 Window 对象的数组,每个 Window 对象在窗口中含有一个框架或 <iframe>.属性 frames.leng ...
- tiny中文乱码问题,不过仅适用于windows,所以xml不可以出现中文
我是在SetAttribute() 函数之前使用的 SetAttribute(const char* name,const char * _value) 首先得到了一个CString 类型的变量 st ...
- JavaScript笔记基础篇(三)
针对前段JS获取当前时间或者对时间数据处理方法汇总: javascript 字符串转化为日期 Java代码 var s="2010-5-18 12:30:20"; var t= ...
- jeecg 扩展封装查询条件 时间段查询
使用jeecg框架开发的小伙伴们知道,添加查询条件,通常是我们加一个配置(query="true")就可以将该字段设置为查询条件.简单方便.但是这样的配置查询条件仅适用于输入框输入 ...
- 基础篇-struts2的搭建
.---恢复内容开始--- struts的官网是英文版的,不懂怎么下载的话可以跟着我的步骤来做, 首先去struts的官网http://apache.org/下载struts的报jar类包. 往下拉到 ...
- Spark Streaming架构设计和运行机制总结
本期内容 : Spark Streaming中的架构设计和运行机制 Spark Streaming深度思考 Spark Streaming的本质就是在RDD基础之上加上Time ,由Time不断的运行 ...
- 采用UDP协议的PIC32MZ ethernet bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 经过千辛万苦,今天终于 ...
- PAT 02-线性结构1 两个有序链表序列的合并 (15分)
本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个递增的整数序列. 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef ...
- vba 笔记
1.PlanWS5.Range("D5:E13").Copy 复制PlanWS5.Range("G5:H13").PasteSpecial Paste:=x ...