icaros Дата: Вс, 23 Фев 2014, 11:31 | Сообщение # 1
Сообщений: 19
Награды:
0
Репутация:
0
Статус: Offline
У меня есть скрипты и надо сделать так чтобы при нажатии на клавишу открывался инвентарь и октлючался определённый скрипт, а после отключения инвентаря скрипт снова включался Вот скрипты: Код
#pragma strict import System.Collections.Generic; //ask for max weight var maxWeight : float = 20; var currentWeight : float = 0; var soundDrop : AudioClip; var playerInventory : List.<ItemClass> = new List.<ItemClass>(); var scrollView : Vector2; var isOpen : boolean; var health : float = 50; var bag : boolean; var guiWait : boolean = false; var myWater : float = 0; var myHunger : float = 0; var healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew); var hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger); var playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(RigidController); function Start() { healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew); hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger); playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(RigidController); } function Update () { //healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew); //hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger); //health = healthGet.hitPoints; } function OnGUI() { if (bag) { GUILayout.BeginArea(Rect(Screen.width/2 - 50, Screen.height/2-50, 100,100)); GUILayout.Box ("hitPoints: " + Mathf.Round(health)); GUILayout.EndArea(); ///[Find inventory script draw]/////// GUILayout.BeginArea(Rect(Screen.width/2 - 60, Screen.height/2-25, 125,100)); GUILayout.Box ("Weight: " + Mathf.Round(currentWeight) + "/" + Mathf.Round(maxWeight)); GUILayout.EndArea(); GUILayout.BeginArea(Rect(Screen.width/2 - 50, Screen.height/2, 100,100)); if (GUILayout.Button("Inventory")) { isOpen = true; } GUILayout.EndArea(); if (isOpen) { GUILayout.BeginArea(Rect(Screen.width - 600, 0, 100,100)); if (GUILayout.Button("CLOSE")) { isOpen = false; } GUILayout.EndArea(); GUILayout.BeginArea(Rect(Screen.width - 500, 0, 500,500)); scrollView = GUILayout.BeginScrollView(scrollView, GUILayout.Width(500), GUILayout.Height(500)); for(var x = 0; x < playerInventory.Count; x++){ GUILayout.BeginHorizontal(); if(GUILayout.Button(playerInventory[x].icon)) { //playerInventory.RemoveAt(x); } if (GUILayout.Button("Drop Item")) { Instantiate(playerInventory[x].myDropPrefab, transform.position, Quaternion.identity); currentWeight -= playerInventory[x].myWeight; // AudioSource.PlayClipAtPoint(soundDrop, transform.position); playerInventory.RemoveAt(x); } if (GUILayout.Button("Use Item")) { healthGet.hitPoints += playerInventory[x].healthInc; hungerScript.water += playerInventory[x].waterInc; playerScript.stanima += playerInventory[x].stanimaInc; currentWeight -= playerInventory[x].myWeight; hungerScript.hunger += playerInventory[x].hungerInc; //AudioSource.PlayClipAtPoint(playerInventory[x].soundUse, transform.position); playerInventory.RemoveAt(x); } GUILayout.Box(playerInventory[x].name); GUILayout.EndHorizontal(); GUILayout.Box(playerInventory[x].description); } GUILayout.EndScrollView(); GUILayout.EndArea(); } } }
Код
#pragma strict var playerI : Component; function Start(){ Time.timeScale = 0; Screen.lockCursor = false; playerI = GameObject.FindGameObjectWithTag("Player").GetComponent(Inventory); } function DidLockCursor () { Debug.Log("Locking cursor"); // Disable the button //guiTexture.enabled = false; } // Called when the cursor is being unlocked // or by a script calling Screen.lockCursor = false; function DidUnlockCursor () { Debug.Log("Unlocking cursor"); Time.timeScale = 0; // Show the button again // guiTexture.enabled = true; } private var wasLocked = false; function Update () { // In standalone player we have to provide our own key // input for unlocking the cursor var playerI = GameObject.FindGameObjectWithTag("Player").GetComponent(Inventory); if (Input.GetKeyDown ("escape")) { playerI.bag = true; Screen.lockCursor = false; } // Did we lose cursor locking? // eg. because the user pressed escape // or because he switched to another application // or because some script set Screen.lockCursor = false; if (!Screen.lockCursor && wasLocked) { wasLocked = false; DidUnlockCursor(); } // Did we gain cursor locking? else if (Screen.lockCursor && !wasLocked) { wasLocked = true; playerI.bag = false; DidLockCursor (); } } function OnGUI(){ if(Screen.lockCursor == false){ if(GUI.Button(Rect(Screen.width -120, 20, 100, 30), "Lock Cursor" )){ Screen.lockCursor = true; Time.timeScale = 1; } } }
Сообщение отредактировал icaros - Вс, 23 Фев 2014, 11:38
Сообщение У меня есть скрипты и надо сделать так чтобы при нажатии на клавишу открывался инвентарь и октлючался определённый скрипт, а после отключения инвентаря скрипт снова включался Вот скрипты: Код
#pragma strict import System.Collections.Generic; //ask for max weight var maxWeight : float = 20; var currentWeight : float = 0; var soundDrop : AudioClip; var playerInventory : List.<ItemClass> = new List.<ItemClass>(); var scrollView : Vector2; var isOpen : boolean; var health : float = 50; var bag : boolean; var guiWait : boolean = false; var myWater : float = 0; var myHunger : float = 0; var healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew); var hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger); var playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(RigidController); function Start() { healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew); hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger); playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(RigidController); } function Update () { //healthGet = GameObject.FindGameObjectWithTag("Player").GetComponent(PlayerDamageNew); //hungerScript = GameObject.FindGameObjectWithTag("Player").GetComponent(hunger); //health = healthGet.hitPoints; } function OnGUI() { if (bag) { GUILayout.BeginArea(Rect(Screen.width/2 - 50, Screen.height/2-50, 100,100)); GUILayout.Box ("hitPoints: " + Mathf.Round(health)); GUILayout.EndArea(); ///[Find inventory script draw]/////// GUILayout.BeginArea(Rect(Screen.width/2 - 60, Screen.height/2-25, 125,100)); GUILayout.Box ("Weight: " + Mathf.Round(currentWeight) + "/" + Mathf.Round(maxWeight)); GUILayout.EndArea(); GUILayout.BeginArea(Rect(Screen.width/2 - 50, Screen.height/2, 100,100)); if (GUILayout.Button("Inventory")) { isOpen = true; } GUILayout.EndArea(); if (isOpen) { GUILayout.BeginArea(Rect(Screen.width - 600, 0, 100,100)); if (GUILayout.Button("CLOSE")) { isOpen = false; } GUILayout.EndArea(); GUILayout.BeginArea(Rect(Screen.width - 500, 0, 500,500)); scrollView = GUILayout.BeginScrollView(scrollView, GUILayout.Width(500), GUILayout.Height(500)); for(var x = 0; x < playerInventory.Count; x++){ GUILayout.BeginHorizontal(); if(GUILayout.Button(playerInventory[x].icon)) { //playerInventory.RemoveAt(x); } if (GUILayout.Button("Drop Item")) { Instantiate(playerInventory[x].myDropPrefab, transform.position, Quaternion.identity); currentWeight -= playerInventory[x].myWeight; // AudioSource.PlayClipAtPoint(soundDrop, transform.position); playerInventory.RemoveAt(x); } if (GUILayout.Button("Use Item")) { healthGet.hitPoints += playerInventory[x].healthInc; hungerScript.water += playerInventory[x].waterInc; playerScript.stanima += playerInventory[x].stanimaInc; currentWeight -= playerInventory[x].myWeight; hungerScript.hunger += playerInventory[x].hungerInc; //AudioSource.PlayClipAtPoint(playerInventory[x].soundUse, transform.position); playerInventory.RemoveAt(x); } GUILayout.Box(playerInventory[x].name); GUILayout.EndHorizontal(); GUILayout.Box(playerInventory[x].description); } GUILayout.EndScrollView(); GUILayout.EndArea(); } } }
Код
#pragma strict var playerI : Component; function Start(){ Time.timeScale = 0; Screen.lockCursor = false; playerI = GameObject.FindGameObjectWithTag("Player").GetComponent(Inventory); } function DidLockCursor () { Debug.Log("Locking cursor"); // Disable the button //guiTexture.enabled = false; } // Called when the cursor is being unlocked // or by a script calling Screen.lockCursor = false; function DidUnlockCursor () { Debug.Log("Unlocking cursor"); Time.timeScale = 0; // Show the button again // guiTexture.enabled = true; } private var wasLocked = false; function Update () { // In standalone player we have to provide our own key // input for unlocking the cursor var playerI = GameObject.FindGameObjectWithTag("Player").GetComponent(Inventory); if (Input.GetKeyDown ("escape")) { playerI.bag = true; Screen.lockCursor = false; } // Did we lose cursor locking? // eg. because the user pressed escape // or because he switched to another application // or because some script set Screen.lockCursor = false; if (!Screen.lockCursor && wasLocked) { wasLocked = false; DidUnlockCursor(); } // Did we gain cursor locking? else if (Screen.lockCursor && !wasLocked) { wasLocked = true; playerI.bag = false; DidLockCursor (); } } function OnGUI(){ if(Screen.lockCursor == false){ if(GUI.Button(Rect(Screen.width -120, 20, 100, 30), "Lock Cursor" )){ Screen.lockCursor = true; Time.timeScale = 1; } } }
Автор - icaros Дата добавления - 23 Фев 2014 в 11:31
Hunjeth Дата: Вт, 25 Фев 2014, 10:40 | Сообщение # 2
Сообщений: 354
Награды:
1
Репутация:
112
Статус: Offline
вот впример: Код
var myScript : ScriptName; function Update() { if (Input.GetKeyUp(KeyCode.LeftShift)) { isOpen = !isOpen; myScript.enabled = !isOpen; } }
Сообщение отредактировал Hunjeth - Вт, 25 Фев 2014, 18:35
Сообщение вот впример: Код
var myScript : ScriptName; function Update() { if (Input.GetKeyUp(KeyCode.LeftShift)) { isOpen = !isOpen; myScript.enabled = !isOpen; } }
Автор - Hunjeth Дата добавления - 25 Фев 2014 в 10:40
Altair Дата: Вт, 25 Фев 2014, 14:06 | Сообщение # 3
Unity 3D PRO Developer
Сообщений: 758
Награды:
6
Репутация:
195
Статус: Offline
icaros , ты хоть понимаешь как они работают надеюсь ?
Сообщение icaros , ты хоть понимаешь как они работают надеюсь ?Автор - Altair Дата добавления - 25 Фев 2014 в 14:06