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直方圖
- unity3D 兩點拋物線模擬炮彈Unity3D
- Unity3D學習筆記2——繪製一個帶紋理的面Unity3D筆記
- excel表格複製貼上格式怎麼能一模一樣 表格怎麼複製一個一模一樣的Excel
- Unity3D學習筆記1——繪製一個三角形Unity3D筆記
- Python:用tqdm模組繪製進度條Python
- 用Python的random模組繪製折線圖Pythonrandom
- 信安實踐2-利用HTML和CSS繪製出好看的表格HTMLCSS
- 12.3 實現模擬滑鼠錄製回放
- View的繪製二:View的繪製流程View
- Flutter自定義繪製(1)- 繪製基礎Flutter
- (資料科學學習手札149)用matplotlib輕鬆繪製漂亮的表格資料科學
- 【模擬設計】模擬技術在智慧製造中的作用;智慧製造難點在模型,焦點在模擬;汽車行業CAE研究模型行業
- 繪製影象
- 繪製文字
- 繪製流程
- Matlab實現模擬調製與解調Matlab
- 前端模擬使用者的複製操作前端
- 【Matlab】BFSK的調製與解調模擬Matlab
- 使用joinjs繪製流程圖(五)-流程圖繪製JS流程圖
- Vue+Mock.js模擬登入和表格的增刪改查VueMockJS
- Python基本圖形繪製--模組1:turtle庫的使用Python
- 使用Python的turtle模組繪製美麗的櫻花樹Python
- 繪製圖形
- canvas 繪製扇形Canvas
- canvas 繪製文字Canvas
- canvas 繪製矩形Canvas
- Flutter繪製barchartFlutter
- Android View繪製原理:繪製流程排程、測算等AndroidView
- canvas繪製圖案是重疊繪製而不是重置Canvas
- canvas 繪製圖案是重疊繪製而不是重置Canvas
- Python按條件篩選、剔除表格資料並繪製剔除前後的直方圖Python直方圖
- 在 Maui 中自繪元件1:繪製UI元件
- 電腦製作excel表格全步驟 excel製作表格的步驟教程Excel
- View的繪製三:UI繪製的三大步驟ViewUI
- canvas 繪製圓形Canvas
- 使用opengl繪製yuv