利用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 ...
随机推荐
- java、tomcat环境变量的配置(针对windows)
重做了下系统. 于是所有的软件都没了. 好吧,我是故意的,就是把那些我不知道的东西都删掉.. 于是问题来了,java安装好了,tomcat也粘贴完了,环境变量怎么办? 好吧,首先从可爱的java或者说 ...
- ubuntu12.04下一个简单的conky安装
这个conky用一些漂亮的圆圈来显示cpu,时钟,内存,交换空间,硬盘信息,网络及天气信息(不需要登陆任何网站噢).而且,提供多种色彩方案供选择,带发行版标记(fedora,mint,debian,o ...
- BIOS设置之UEFI/Legacy BIOS切换图文详解
近几年出现的电脑其中相当一部分都配置了UEFI BIOS,不过大多都默认以Legacy BIOS方式启动.而Win8正式上市后, 所有预装Win8(或Win8.1)的电脑都配置了UEFI BIOS并且 ...
- php-fpm 在centos 7下的安装配置
安装php: sudo yum install php php-fpm php-mysql php-mbstring php-mcrypt php-sockets php-curl php-commo ...
- c++ 类的静态变量
类的静态变量作为类的一部分,但不由类的创建产生,类的销毁而消失.静态变量和全局变量一样,会在main函数结束后销毁. 类可以对静态变量的值进行改变 #pragma once class ctest { ...
- 初学python之urllib
urllib.request urlopen()urllib.urlopen(url, data, proxies) :创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远 ...
- 解决CentOS无法解析域名的问题
用SecureCRT连接到CentOS上,发现ping IP通,ping地址不同 [root@zyt-ceshi2 ~]# ping www.baidu.comping: unknown host w ...
- 笔试常考的Java基础
1. Socket编程:ServerSocket (int port) :Creates a server socket, bound to the specified port. Socket(In ...
- json---简单入门
1.推荐使用第三种方式JAVABEAN的方式(使用前引入org.json) package day05; import java.util.HashMap; import java.util.Map; ...
- Tomcat 实现双向SSL认证
大概思路: 使用openssl生产CA证书,使用keytool生产密钥库 实验环境:RHEL6.4+Tomcat8 一.生成CA根证书,并自签名 1.生成CA密钥 # genrsa [产生密钥命令] ...