با سلام
فرض کنید می خوایم مثل فیلم ها چند تا دوربین تو بازی داشته باشیم و هر وقت که خواستیم مثلا با زدن یک دکمه یا خودکار دوربین بازیمون رو عوض کنیم و بازی رو از یک صحنه دیگه نمایش بدیم . خوب برای اینکار به کد زیر احتیاج داریم . 🙂
using UnityEngine; using System.Collections; public class CameraSwitcher : MonoBehaviour { public Camera camera1; public Camera camera2; void Update () { if (Input.GetKey(KeyCode.UpArrow)) { SwitchCamera(1); } if (Input.GetKey(KeyCode.DownArrow)) { SwitchCamera(2); } } public void SwitchCamera(int camNumber) { if (camNumber == 1) { camera1.depth = 1000; camera2.depth = -100; } else if (camNumber == 2) { camera1.depth = -100; camera2.depth = 100; } } }
خوب این کد دو تا دوربین می گیره و بازدن دکمه های بالا و پایین تابع SwitchCamera رو صدا می کنه ، این تابع هم یک ورودی می گیره که همون شماره دوربین هستش .
برای اینکه از این تابع جای دیگه استفاده کنید(به جای دکمه کیبورد) باید مثلا از یه همچین کدی استفاده کنید .
using UnityEngine; using System.Collections; public class test : MonoBehaviour { private CameraSwitcher camSwitch; void Start () { camSwitch = this.gameObject.GetComponent<CameraSwitcher>(); } void YourSpecialFunction() { camSwitch.SwitchCamera(1); } }