unity3d表格模擬繪製
前段時間收到網友來信,該網友希望能夠在Unity3d中實現表格的繪製並且能夠動態地修改與獲取表格中的資訊。由於前段時間相對較忙,因此該問題一直未能解決,在這裡先向該網友致歉,下面我將介紹一種使用TextField元件模擬表格繪製的方法。
更多內容請關注新浪微博@築夢天下文化科技 http://weibo.com/mongtx
請同時關注團隊新微博@築夢創想 http://weibo.com/mongcc
聯絡方式:
E-mail:gsh0913@qq.com
QQ:264965161
我將通過一個簡單的例程實現表格功能的模擬(執行效果如圖所示),在本例項中我將通過使用TextField元件模擬表格的繪製,並使用一個一位陣列存放表格中的資料,當然我們同樣可以通過這個陣列動態地獲取到表格中的資料。
在指令碼中我們需要先定義表格的行列設定rows和columns,在 Start () 方法中對陣列進行初始化,根據表格的行列數初始化陣列並設定單元格的初始值。在OnGUI()方法中我們需要實現對錶格的繪製,控制單元格繪製位置的邏輯十分簡單,詳細的大家可以參看程式碼。
接著,我們需要寫一個getValue(row:int, column:int)方法用於更具索引獲取表格中的內容,最後在 Update ()方法中呼叫getValue()方法就可以實現動態地獲取表格某單元格的內容了。
例項具體的程式碼如下:
更多內容請關注新浪微博@築夢天下文化科技 http://weibo.com/mongtx
請同時關注團隊新微博@築夢創想 http://weibo.com/mongcc
聯絡方式:
E-mail:gsh0913@qq.com
QQ:264965161
我將通過一個簡單的例程實現表格功能的模擬(執行效果如圖所示),在本例項中我將通過使用TextField元件模擬表格的繪製,並使用一個一位陣列存放表格中的資料,當然我們同樣可以通過這個陣列動態地獲取到表格中的資料。
在指令碼中我們需要先定義表格的行列設定rows和columns,在 Start () 方法中對陣列進行初始化,根據表格的行列數初始化陣列並設定單元格的初始值。在OnGUI()方法中我們需要實現對錶格的繪製,控制單元格繪製位置的邏輯十分簡單,詳細的大家可以參看程式碼。
接著,我們需要寫一個getValue(row:int, column:int)方法用於更具索引獲取表格中的內容,最後在 Update ()方法中呼叫getValue()方法就可以實現動態地獲取表格某單元格的內容了。
例項具體的程式碼如下:
- #pragma strict
- // 建立一個陣列用於存放表格內容
- var list = new Array();
- // 設定表格的行列數
- private var rows:int = 5;
- private var columns:int = 5;
- function Start ()
- {
- // 計算陣列長度
- var total = rows * columns;
- // 初始化陣列
- for(var r:int = 0; r < total; r++)
- {
- // 初始化單元格的值
- list.push("0");
- }
- }
- function Update ()
- {
- // 當按下數字鍵1時輸出指定單元格的內容
- if(Input.GetKey(KeyCode.Alpha1))
- {
- getValue(2, 3);
- }
- }
- function OnGUI()
- {
- var tx:int = 10; // 初始偏移量
- var ty:int = 10;
- var width:int = 500; // 表格寬度
- var height:int = 100; // 表格高度
- var tw:int = width / rows; // 單元格寬度
- var th:int = height / columns; // 單元格高度
- var dx:int = 0; // 單元格偏移量
- var dy:int = 0;
- for(var j:int = 0; j < rows; j++)
- {
- dy = ty + (j * th);
-
- for(var t:int = 0; t < columns; t++)
- {
- dx = tx + (t * tw);
-
- // 計算當前索引
- var index:int = columns * j + t;
-
- // 繪製單元格
- list[index] = GUI.TextField(Rect(dx, dy, tw, th), list[index]);
- }
-
- dx = tx;
- }
- }
- // 根據索引獲取表格中的資訊
- function getValue(row:int, column:int)
- {
- var index:int = columns * column + row;
- // 現實單元格中的資訊
- print(list[index]);
- }
相關文章
- wrf模擬的domain圖繪製AI
- Android模擬器繪製實現概述Android
- Python繪製直方圖 Pygal模擬擲骰子Python直方圖
- 用div css模擬表格對角線CSS
- unity3D 兩點拋物線模擬炮彈Unity3D
- excel表格複製貼上格式怎麼能一模一樣 表格怎麼複製一個一模一樣的Excel
- Unity3d 繪製並獲取通過任意點的曲線Unity3D
- elixir模擬ruby快速複製字串字串
- 定製Android模擬器skinAndroid
- 模擬多次曝光攝影製作教程
- Unity3D學習筆記2——繪製一個帶紋理的面Unity3D筆記
- 【模擬設計】模擬技術在智慧製造中的作用;智慧製造難點在模型,焦點在模擬;汽車行業CAE研究模型行業
- Unity3D利用UGUI模擬《海島奇兵》收穫資源的爆炸效果Unity3DUGUI
- Unity3d實現的十字路口的模擬(一)Unity3D
- Unity3D學習筆記1——繪製一個三角形Unity3D筆記
- 前端模擬使用者的複製操作前端
- 12.3 實現模擬滑鼠錄製回放
- 信安實踐2-利用HTML和CSS繪製出好看的表格HTMLCSS
- Flutter自定義繪製(1)- 繪製基礎Flutter
- View的繪製二:View的繪製流程View
- 繪製流程
- Vue+Mock.js模擬登入和表格的增刪改查VueMockJS
- 【Matlab】BFSK的調製與解調模擬Matlab
- Matlab實現模擬調製與解調Matlab
- Android繪製優化(一)繪製效能分析Android優化
- 使用joinjs繪製流程圖(五)-流程圖繪製JS流程圖
- 模擬
- 強大的CSS:模擬下雪效果動畫製作教程CSS動畫
- CSS 繪製圓環CSS
- Flutter繪製barchartFlutter
- canvas 繪製矩形Canvas
- canvas 繪製扇形Canvas
- canvas 繪製文字Canvas
- canvas 繪製圖案是重疊繪製而不是重置Canvas
- canvas繪製圖案是重疊繪製而不是重置Canvas
- (資料科學學習手札149)用matplotlib輕鬆繪製漂亮的表格資料科學
- 10.6 模擬賽(NOIP 模擬賽 #9)
- 有限元模擬 有限體積模擬