您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        
- function OnGUI() {
 - GUI.Label(Rect(1,1,100,20),"I'm a Label"); //1
 - GUI.Box(Rect(1,21,100,20),"I'm a Box"); //2
 - GUI.Button(Rect(1,41,100,20),"I'm a Button"); //3
 - GUI.RepeatButton(Rect(1,61,120,20),"I'm a RepeatButton"); //4
 - GUI.TextField(Rect(1,81,100,20),"I'm a TextFielld"); //5
 - GUI.TextArea(Rect(1,101,100,40),"I'm a TextArea,\nMultiline"); //6
 - GUI.Toggle(Rect(1,141,120,20),true,"I'm a Toggle true"); //7
 - GUI.Toggle(Rect(1,161,120,20),false,"I'm a Toggle false"); //8
 - GUI.Toolbar(Rect(1,181,160,20),-1,["Toolbar","Tool2","Tool3"); //9
 - GUI.SelectionGrid(Rect(1,201,190,20),2,["Selection","Grid","select3"],3); //10
 - GUI.HorizontalSlider(Rect(1,221,180,20),3.0,0,10.0); //11
 - GUI.VerticalScrollbar(Rect(1,241,20,100),3.0,1,0.0,10.0); //12
 - //13
 - GUI.BeginScrollView (Rect (200,10,100,100),Vector2.zero, Rect (0, 0, 220, 200));
 - GUI.Label(Rect(0,0,100,20),"I'm a Label");
 - GUI.EndScrollView();
 - //14
 - GUI.Window(0,Rect(200,129,100,100),funcwin,"window");
 - }
 - function funcwin(windowID:int)
 - {
 - GUI.DragWindow(Rect(0,0,10000,2000));
 - }
 
2 JS调用DLL
- import System;
 - import System.Runtime.InteropServices;
 - @DllImport("user32.dll")
 - public static function MessageBox(Hwnd : int,text : String,Caption : String,iType : int) : int {};
 - function Start()
 - {
 - MessageBox(0, "API Message Box", "Win32 API", 64) ;
 - }
 - function Update () {
 - }
 
3 物体标签
- var target : Transform; // Object that this label should follow
 - var offset = Vector3.up; // Units in world space to offset; 1 unit above object by default
 - var clampToScreen = false; // If true, label will be visible even if object is off screen
 - var clampBorderSize = .05; // How much viewport space to leave at the borders when a label is being clamped
 - var useMainCamera = true; // Use the camera tagged MainCamera
 - var cameraToUse : Camera; // Only use this if useMainCamera is false
 - private var cam : Camera;
 - private var thisTransform : Transform;
 - private var camTransform : Transform;
 - function Start () {
 - thisTransform = transform;
 - if (useMainCamera)
 - cam = Camera.main;
 - else
 - cam = cameraToUse;
 - camTransform = cam.transform;
 - }
 - function Update () {
 - if (clampToScreen) {
 - var relativePosition = camTransform.InverseTransformPoint(target.position);
 - relativePosition.z = Mathf.Max(relativePosition.z, 1.0);
 - thisTransform.position = cam.WorldToViewportPoint(camTransform.TransformPoint(relativePosition + offset));
 - thisTransform.position = Vector3(Mathf.Clamp(thisTransform.position.x, clampBorderSize, 1.0-clampBorderSize),
 - Mathf.Clamp(thisTransform.position.y, clampBorderSize, 1.0-clampBorderSize),
 - thisTransform.position.z);
 - }
 - else {
 - thisTransform.position = cam.WorldToViewportPoint(target.position + offset);
 - }
 - }
 - @script RequireComponent(GUIText)
 
4 unity3d读取保存xml文件
- import System;
 - import System.Xml;
 - import System.Xml.Serialization;
 - import System.IO;
 - import System.Text;
 - class CeshiData{
 - var Ceshi1 : String;
 - var Ceshi2 : String;
 - var Ceshi3 : float;
 - var Ceshi4 : int;
 - }
 - class UserData
 - {
 - public var _iUser : CeshiData = new CeshiData();
 - function UserData() { }
 - }
 - private var c1 : String;
 - private var c2 : String;
 - private var c3 : float;
 - private var c4 : int;
 - private var _FileLocation : String;
 - private var _FileName : String = "CeshiData.xml";
 - var myData : UserData[];
 - private var tempData : UserData = new UserData();
 - var i : int = 0;
 - var GUISkin1 : GUISkin;
 - var ShowData : int = 0;
 - function Awake(){
 - _Filelocation=Application.dataPath;
 - }
 - function Start(){
 - FirstSave();
 - }
 - function FirstSave(){//初始化XML
 - tempData._iUser.Ceshi1 = "?";
 - tempData._iUser.Ceshi2 = "?";
 - tempData._iUser.Ceshi3 = 0;
 - tempData._iUser.Ceshi4 = 0;
 - var writer : StreamWriter;
 - var t : FileInfo = new FileInfo(_FileLocation+"/"+ _FileName);
 - if(!t.Exists)
 - {
 - writer = t.CreateText();
 - _data = SerializeObject(tempData);
 - for(i=0;i<10;i++){
 - writer.WriteLine(_data);
 - }
 - writer.Close();
 - }
 - }
 - function Save(sc1 : String,sc2 : String,sc3 : float,sc4 : int){//保存数据到指定的XMl里
 - tempData._iUser.Ceshi1 = sc1;
 - tempData._iUser.Ceshi2 = sc2;
 - tempData._iUser.Ceshi3 = sc3;
 - tempData._iUser.Ceshi4 = sc4;
 - var writer : StreamWriter;
 - var t : FileInfo = new FileInfo(_FileLocation+"/"+ _FileName);
 - t.Delete();
 - writer = t.CreateText();
 - _data = SerializeObject(tempData);
 - for(i=0;i<10;i++){
 - writer.WriteLine(_data);
 - }
 - writer.Close();
 - }
 - function Load(){//读取保存在XML里的数据
 - var r : StreamReader = File.OpenText(_FileLocation+"/"+ _FileName);
 - var _info : String ;
 - for(i=0;i<10;i++){
 - _info = r.ReadLine();
 - _data=_info;
 - myData[i] = DeserializeObject(_data);
 - }
 - r.Close();
 - }
 - function OnGUI() {
 - GUI.skin = GUISkin1;
 - if(GUI.Button(Rect(0,0,100,40),"save")){
 - Save("ceshi1","ceshi2",1.23,50);//要显示中文需设定中文字体
 - }
 - if(GUI.Button(Rect(200,0,100,40),"load")){
 - Load();
 - ShowData = 1;
 - }
 - if(ShowData == 1){
 - GUI.Label(Rect(170,170+53*0,150,50),myData[0]._iUser.Ceshi1);
 - GUI.Label(Rect(370,170+53*0,150,50),myData[0]._iUser.Ceshi2);
 - GUI.Label(Rect(550,170+53*0,150,50),myData[0]._iUser.Ceshi3 + "");
 - GUI.Label(Rect(760,170+53*0,150,50),myData[0]._iUser.Ceshi4 + "");
 - GUI.Label(Rect(170,170+53*1,150,50),myData[1]._iUser.Ceshi1);
 - GUI.Label(Rect(370,170+53*2,150,50),myData[2]._iUser.Ceshi2);
 - GUI.Label(Rect(550,170+53*3,150,50),myData[3]._iUser.Ceshi3 + "");
 - GUI.Label(Rect(760,170+53*4,150,50),myData[4]._iUser.Ceshi4 + "");
 - }
 - }
 - //================================================================================
 - function UTF8ByteArrayToString(characters : byte[] )
 - {
 - var encoding : UTF8Encoding = new UTF8Encoding();
 - var constructedString : String = encoding.GetString(characters);
 - return (constructedString);
 - }
 - //byte[] StringToUTF8ByteArray(string pXmlString)
 - function StringToUTF8ByteArray(pXmlString : String)
 - {
 - var encoding : UTF8Encoding = new UTF8Encoding();
 - var byteArray : byte[] = encoding.GetBytes(pXmlString);
 - return byteArray;
 - }
 - // Here we serialize our UserData object of myData
 - //string SerializeObject(object pObject)
 - function SerializeObject(pObject : Object)
 - {
 - var XmlizedString : String = null;
 - var memoryStream : MemoryStream = new MemoryStream();
 - var xs : XmlSerializer = new XmlSerializer(typeof(UserData));
 - var xmlTextWriter : XmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
 - xs.Serialize(xmlTextWriter, pObject);
 - memoryStream = xmlTextWriter.BaseStream; // (MemoryStream)
 - XmlizedString = UTF8ByteArrayToString(memoryStream.ToArray());
 - return XmlizedString;
 - }
 - // Here we deserialize it back into its original form
 - //object DeserializeObject(string pXmlizedString)
 - function DeserializeObject(pXmlizedString : String)
 - {
 - var xs : XmlSerializer = new XmlSerializer(typeof(UserData));
 - var memoryStream : MemoryStream = new MemoryStream(StringToUTF8ByteArray(pXmlizedString));
 - var xmlTextWriter : XmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
 - return xs.Deserialize(memoryStream);
 - }
 
5 单击物体弹出对话框
- static var WindowSwitch : boolean = false;
 - var mySkin : GUISkin;
 - var windowRect = Rect (200, 80, 240, 100);
 - function OnGUI ()
 - {
 - if(WindowSwitch == true)
 - {
 - GUI.skin = mySkin;
 - windowRect = GUI.Window (0, windowRect, WindowContain, "测试视窗");
 - }
 - }
 - function WindowContain (windowID : int)
 - {
 - if (GUI.Button (Rect (70,40,100,20), "关闭视窗"))
 - {
 - WindowSwitch = false;
 - }
 - }
 - function OnMouseEnter ()
 - {
 - renderer.material.color = Color.red;
 - }
 - function OnMouseDown ()
 - {
 - Func_GUIWindow.WindowSwitch = true;
 - }
 - function OnMouseExit ()
 - {
 - renderer.material.color = Color.white;
 - }
 
6 读取txt文本
- using UnityEngine;
 - using System.Collections;
 - using System.IO;
 - using System.Text;
 - public class ReadTxt : MonoBehaviour {
 - string path = "D:\\txtName.txt";
 - StreamReader smRead = new StreamReader(path,
 - Encoding.Default); //设置路径
 - string line;
 - void Update () {
 - if ((line = smRead.ReadLine()) != null) {
 - string[] arrStr = line.Split('|'); //分割符 “|”
 - id1 = arrStr[0].ToString();
 - name = arrStr[1].ToString();
 - sfz = arrStr[2].ToString();
 - }
 - }
 - }
 
7 截屏
- function OnMouseDown() {
 - Application.CaptureScreenshot("Screenshot.png");
 - }
 
8 下拉菜单
- using UnityEngine;
 - using System.Collections;
 - using System.Collections.Generic;
 - using System.Text.RegularExpressions;
 - public class DropDownList : MonoBehaviour
 - {
 - private Rect DropDownRect; // Size and Location for drop down
 - private Transform currentRoot; // selected object transform
 - private Vector2 ListScrollPos; // scroll list position
 - public string selectedItemCaption; // name of selected item
 - private string lastCaption; // last selected item
 - private int guiWidth; // width of drop list
 - private int guiHight; // hight of drop list
 - private bool textChanged; // if text in text box has changed look for item
 - private bool clearDropList; // clear text box
 - public bool DropdownVisible; // show drop down list
 - public bool updateInfo; // update info window
 - public Transform root; // top of the Hierarchy
 - public GUISkin dropSkin; // GUISkin for drop down list
 - public int itemtSelected; // index of selected item
 - public bool targetChange; // text in text box was changed, update list
 - public class GuiListItem //The class that contains our list items
 - {
 - public string Name; // name of the item
 - public int GuiStyle; // current style to use
 - public int UnSelectedStyle; // unselected GUI style
 - public int SelectedStyle; // selected GUI style
 - public int Depth; // depth in the Hierarchy
 - public bool Selected; // if the item is selected
 - public bool ToggleChildren; // show child objects in list
 - // constructors
 - public GuiListItem(bool mSelected, string mName, int iGuiStyle, bool childrenOn, int depth)
 - {
 - Selected = mSelected;
 - Name = mName;
 - GuiStyle = iGuiStyle;
 - ToggleChildren = childrenOn;
 - Depth = depth;
 - UnSelectedStyle = 0;
 - SelectedStyle = 0;
 - }
 - public GuiListItem(bool mSelected, string mName)
 - {
 - Selected = mSelected;
 - Name = mName;
 - GuiStyle = 0;
 - ToggleChildren = true;
 - Depth = 0;
 - UnSelectedStyle = 0;
 - SelectedStyle = 0;
 - }
 - public GuiListItem(string mName)
 - {
 - Selected = false;
 - Name = mName;
 - GuiStyle = 0;
 - ToggleChildren = true;
 - Depth = 0;
 - UnSelectedStyle = 0;
 - SelectedStyle = 0;
 - }
 - // Accessors
 - public void enable()// don't show in list
 - {
 - Selected = true;
 - }
 - public void disable()// show in list
 - {
 - Selected = false;
 - }
 - public void setStlye(int stlye)
 - {
 - GuiStyle = stlye;
 - }
 - public void setToggleChildren(bool childrenOn)
 - {
 - ToggleChildren = childrenOn;
 - }
 - public void setDepth(int depth)
 - {
 - Depth = depth;
 - }
 - public void SetStyles(int unSelected, int selected)
 - {
 - UnSelectedStyle = unSelected;
 - SelectedStyle = selected;
 - }
 - }
 - //Declare our list of stuff
 - public List MyListOfStuff;
 - // Initialization
 - void Start()
 - {
 - guiWidth = 400;
 - guiHight = 28;
 - // Manually position our list, because the dropdown will appear over other controls
 - DropDownRect = new Rect(10, 10, guiWidth, guiHight);
 - DropdownVisible = false;
 - itemtSelected = -1;
 - targetChange = false;
 - lastCaption = selectedItemCaption = "Select a Part...";
 - if (!root)
 - root = gameObject.transform;
 - MyListOfStuff = new List(); //Initialize our list of stuff
 - // fill the list
 - BuildList(root);
 - // set GUI for each item in list
 - SetupGUISetting();
 - // fill the list
 - FillList(root);
 - }
 - void OnGUI()
 - {
 - //Show the dropdown list if required (make sure any controls that should appear behind the list are before this block)
 - if (DropdownVisible)
 - {
 - GUI.SetNextControlName("ScrollView");
 - GUILayout.BeginArea(new Rect(DropDownRect.xMin, DropDownRect.yMin + DropDownRect.height, guiWidth, Screen.height * .25f), "", "box");
 - ListScrollPos = GUILayout.BeginScrollView(ListScrollPos, dropSkin.scrollView);
 - GUILayout.BeginVertical(GUILayout.Width(120));
 - for (int i = 0; i < MyListOfStuff.Count; i++)
 - {
 - if (MyListOfStuff[i].Selected && GUILayout.Button(MyListOfStuff[i].Name, dropSkin.customStyles[MyListOfStuff[i].GuiStyle]))
 - {
 - HandleSelectedButton(i);
 - }
 - }
 - GUILayout.EndVertical();
 - GUILayout.EndScrollView();
 - GUILayout.EndArea();
 - }
 - //Draw the dropdown control
 - GUILayout.BeginArea(DropDownRect, "", "box");
 - GUILayout.BeginHorizontal();
 - string ButtonText = (DropdownVisible) ? "<<" : ">>";
 - DropdownVisible = GUILayout.Toggle(DropdownVisible, ButtonText, "button", GUILayout.Width(32), GUILayout.Height(20));
 - GUI.SetNextControlName("PartSelect");
 - selectedItemCaption = GUILayout.TextField(selectedItemCaption);
 - clearDropList = GUILayout.Toggle(clearDropList, "Clear", "button", GUILayout.Width(40), GUILayout.Height(20));
 - GUILayout.EndHorizontal();
 - GUILayout.EndArea();
 - }
 - void Update()
 - {
 - //check if text box info changed
 - if (selectedItemCaption != lastCaption)
 - {
 - textChanged = true;
 - }
 - // if text box info changed look for part matching text
 - if (textChanged)
 - {
 - lastCaption = selectedItemCaption;
 - textChanged = false;
 - // go though list to find item
 - for (int i = 0; i < MyListOfStuff.Count; ++i)
 - {
 - if (MyListOfStuff[i].Name.StartsWith(selectedItemCaption, System.StringComparison.CurrentCultureIgnoreCase))
 - {
 - MyListOfStuff[i].enable();
 - MyListOfStuff[i].ToggleChildren = false;
 - MyListOfStuff[i].GuiStyle = MyListOfStuff[i].UnSelectedStyle;
 - }
 - else
 - {
 - MyListOfStuff[i].disable();
 - MyListOfStuff[i].ToggleChildren = false;
 - MyListOfStuff[i].GuiStyle = MyListOfStuff[i].UnSelectedStyle;
 - }
 - }
 - for (int i = 0; i < MyListOfStuff.Count; ++i) { // check list for item int test = string.Compare(selectedItemCaption, MyListOfStuff[i].Name, true); if (test == 0) { itemtSelected = i; targetChange = true; break; // stop looking when found } } } // reset message if list closed and text box is empty if (selectedItemCaption == "" && !DropdownVisible) { lastCaption = selectedItemCaption = "Select a Part..."; ClearList(root); FillList(root); } // if Clear button pushed if (clearDropList) { clearDropList = false; selectedItemCaption = ""; } } public void HandleSelectedButton(int selection) { // do the stuff, camera etc itemtSelected = selection;//Set the index for our currently selected item updateInfo = true; selectedItemCaption = MyListOfStuff[selection].Name; currentRoot = GameObject.Find(MyListOfStuff[itemtSelected].Name).transform; // toggle item show child MyListOfStuff[selection].ToggleChildren = !MyListOfStuff[selection].ToggleChildren; lastCaption = selectedItemCaption; // fill my drop down list with the children of the current selected object if (!MyListOfStuff[selection].ToggleChildren) { if (currentRoot.childCount > 0)
 - {
 - MyListOfStuff[selection].GuiStyle = MyListOfStuff[selection].SelectedStyle;
 - }
 - FillList(currentRoot);
 - }
 - else
 - {
 - if (currentRoot.childCount > 0)
 - {
 - MyListOfStuff[selection].GuiStyle = MyListOfStuff[selection].UnSelectedStyle;
 - }
 - ClearList(currentRoot);
 - }
 - targetChange = true;
 - }
 - // show only items that are the root and its children
 - public void FillList(Transform root)
 - {
 - foreach (Transform child in root)
 - {
 - for (int i = 0; i < MyListOfStuff.Count; ++i)
 - {
 - if (MyListOfStuff[i].Name == child.name)
 - {
 - MyListOfStuff[i].enable();
 - MyListOfStuff[i].ToggleChildren = false;
 - MyListOfStuff[i].GuiStyle = MyListOfStuff[i].UnSelectedStyle;
 - }
 - }
 - }
 - }
 - // turn off children objects
 - public void ClearList(Transform root)
 - {
 - //Debug.Log(root.name);
 - Transform[] childs = root.GetComponentsInChildren();
 - foreach (Transform child in childs)
 - {
 - for (int i = 0; i < MyListOfStuff.Count; ++i) { if (MyListOfStuff[i].Name == child.name && MyListOfStuff[i].Name != root.name) { MyListOfStuff[i].disable(); MyListOfStuff[i].ToggleChildren = false; MyListOfStuff[i].GuiStyle = MyListOfStuff[i].UnSelectedStyle; } } } } // recursively build the list so the hierarchy is in tact void BuildList(Transform root) { // for every object in the thing we are viewing foreach (Transform child in root) { // add the item MyListOfStuff.Add(new GuiListItem(false, child.name)); // if it has children add the children if (child.childCount > 0)
 - {
 - BuildList(child);
 - }
 - }
 - }
 - public void ResetDropDownList()
 - {
 - selectedItemCaption = "";
 - ClearList(root);
 - FillList(root);
 - }
 - public string RemoveNumbers(string key)
 - {
 - return Regex.Replace(key, @"\d", "");
 - }
 - // sets the drop list elements to use the correct GUI skin custom style
 - private void SetupGUISetting()
 - {
 - // set drop down list gui
 - int depth = 0;
 - // check all the parts for hierarchy depth
 - for (int i = 0; i < MyListOfStuff.Count; ++i) { GameObject currentObject = GameObject.Find(MyListOfStuff[i].Name); Transform currentTransform = currentObject.transform; depth = 0; if (currentObject.transform.parent == root) // if under root { if (currentObject.transform.childCount > 0)
 - {
 - MyListOfStuff[i].GuiStyle = depth;
 - MyListOfStuff[i].UnSelectedStyle = depth;
 - MyListOfStuff[i].SelectedStyle = depth + 2;
 - }
 - else
 - {
 - MyListOfStuff[i].GuiStyle = depth + 1;
 - MyListOfStuff[i].UnSelectedStyle = depth + 1;
 - MyListOfStuff[i].SelectedStyle = depth + 1;
 - }
 - MyListOfStuff[i].Depth = depth;
 - }
 - else // if not under root find depth
 - {
 - while (currentTransform.parent != root)
 - {
 - ++depth;
 - currentTransform = currentTransform.parent;
 - }
 - MyListOfStuff[i].Depth = depth;
 - // set gui basied on depth
 - if (currentObject.transform.childCount > 0)
 - {
 - MyListOfStuff[i].GuiStyle = depth * 3;
 - MyListOfStuff[i].UnSelectedStyle = depth * 3;
 - MyListOfStuff[i].SelectedStyle = (depth * 3) + 2;
 - }
 - else
 - {
 - MyListOfStuff[i].GuiStyle = depth * 3 + 1;
 - MyListOfStuff[i].UnSelectedStyle = depth * 3 + 1;
 - MyListOfStuff[i].SelectedStyle = depth * 3 + 1;
 - }
 - }
 - }
 - }
 - }
 
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。