Нужна помощь в скрипте.
|
|
Adom | Дата: Вторник, 16 Июля 2013, 22:20 | Сообщение # 1 |
Печенька!
Сейчас нет на сайте
| И так я делаю простую 2d игру где надо прыгать по платформам так-вот я сделал пол ну что бы когда Player падал он уничтожался и там выходит выбор рестарт или выйти.Я сделал это для 1 уровня,а потом для 2 но потом на 2 уровне появилась как-раз проблема когда я падаю у меня как-всегда выходит выбор и я нажимаю рестарт и меня отправляет на первый уровень.Вот вопрос как сделать чтобы делался рестарт в зависимости от уровня то-есть чтобы на 2 уровне он отправлял меня в начало 2 уровня. Надесюсь все нормально объяснил. Вот скрипт #pragma strict var Player : GameObject; var a : float =0; public var RestartRect : Rect; public var QuitRect : Rect; public var customSkin : GUISkin; function Start () {
}
function Update () {
} function OnTriggerStay(other : Collider){ Destroy(Player); a +=1; } function OnGUI(){ if(a == 1) GUI.Label(new Rect(50,50,50,50),"You Dead!"); // if(a == 1) if(GUI.Button(RestartRect,"Рестарт")){ Application.LoadLevel(1); } if(a == 1) if(GUI.Button(QuitRect,"Выход")){ Application.Quit(); } GUI.skin = customSkin; } Писал его сам так-что строго не судите.
Сообщение отредактировал Adom - Вторник, 16 Июля 2013, 22:21 |
|
| |
Левша | Дата: Среда, 17 Июля 2013, 03:02 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| Цитата (Adom) if(GUI.Button(RestartRect,"Рестарт")){ Application.LoadLevel(1); Application.LoadLevel (loadedLevel);
X.cor.R (Prologue)
Сообщение отредактировал Левша - Среда, 17 Июля 2013, 14:25 |
|
| |
Adom | Дата: Среда, 17 Июля 2013, 11:07 | Сообщение # 3 |
Печенька!
Сейчас нет на сайте
| Левша,что-то я совсем не пойму как этим воспользоваться?
|
|
| |
Kira | Дата: Среда, 17 Июля 2013, 19:32 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| #pragma strict var Player : GameObject; var a : float =0; public var RestartRect : Rect; public var QuitRect : Rect; public var customSkin : GUISkin; public var curentLevel : int; function Start () {
}
function Update () {
} function OnTriggerStay(other : Collider){ Destroy(Player); a +=1; } function OnGUI(){ if(a == 1) GUI.Label(new Rect(50,50,50,50),"You Dead!"); // if(a == 1) if(GUI.Button(RestartRect,"Рестарт")){ Application.LoadLevel(curentLevel); } if(a == 1) if(GUI.Button(QuitRect,"Выход")){ Application.Quit(); } GUI.skin = customSkin; } curentLevel- текущий уровень.
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
|
|
| |
PoqXert | Дата: Четверг, 18 Июля 2013, 01:56 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Application.LoadLevel(Application.loadedLevel); И инспектор мучить не придётся.
Расширения для Unity3D Блог программиста - PoqXert.ru
|
|
| |
Adom | Дата: Четверг, 18 Июля 2013, 08:42 | Сообщение # 6 |
Печенька!
Сейчас нет на сайте
| Kira,Спасибо помогло с меня + Добавлено (18.07.2013, 08:42) --------------------------------------------- Вот еще один вопрос как сделать чтобы уровень был заблокирован если игрок до него еще не дошел? #pragma strict public var customSkin : GUISkin; public var OneLevlRect : Rect; public var TwoLevlRect : Rect; function Start () {
}
function Update () {
} function OnGUI() { if(GUI.Button(OneLevlRect,"OneLevl")){ Application.LoadLevel(1); } if(GUI.Button(TwoLevlRect,"TwoLevl")){ Application.LoadLevel(2); } } Вот скрипт через что я загружаю уровни ну как в Angri Birds.
|
|
| |
PoqXert | Дата: Четверг, 18 Июля 2013, 09:17 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Храни в глобальной (статик) переменной номер уровня, до которого дошел игрок и проверяй.
Расширения для Unity3D Блог программиста - PoqXert.ru
|
|
| |
Adom | Дата: Четверг, 18 Июля 2013, 10:08 | Сообщение # 8 |
Печенька!
Сейчас нет на сайте
| Ага попробую Добавлено (18.07.2013, 10:08) --------------------------------------------- Блин что-то не получается ты уж извини но я пока что нуб в писании скриптов.Можешь как нибудь объяснить?
|
|
| |
zaicev9797 | Дата: Четверг, 18 Июля 2013, 15:01 | Сообщение # 9 |
AbRaKaDaBrA
Сейчас нет на сайте
| Напишу русслими буквами и без пробелов, надеюсь поймешь. Привате статик ПройденоУровней; при прохождении уровня прибавляй к ней 1. А если ты в менюшке (или как у тебя там) щелкаеш по любой кнопке ( а им переменной надо задать номер уровня на который они будут перекидывать (он же номер кнопки) проверяй чтоб: номер кнопки совпадал с переменной ПройденоУровней + 1. И если совпадает, то аппликатион.лоадЛевел(номер кнопки по йоторой щелкнули
проект Mysterious Space. The losted moment
|
|
| |
Adom | Дата: Четверг, 18 Июля 2013, 19:50 | Сообщение # 10 |
Печенька!
Сейчас нет на сайте
| Воспользуюсь еще раз вашим терпением Мне нужно переделать вот-этот скрипт под андроид я пытался это делать но никак может вы поможете Ну тоесть сделать управление под андроид Сразу говорю скрипт не мой брал из урока 4GameFreee using UnityEngine; using System.Collections;
public class NewBehaviourScript : MonoBehaviour{
private Vector3 inp; private Vector3 delta; private Vector3 oldPos; private Vector3 gravity; private const float pi2 = Mathf.PI * Mathf.PI;
public float diam = 7f;
public float speed = 7f; public Transform cam; GameObject fire;
// Use this for initialization void Start (){ oldPos = transform.position; Physics.gravity = new Vector3(0, -75, 0); }
// Update is called once per frame void Update () { fire = GameObject.Find("fire"); if (Input.GetKeyDown(KeyCode.Space)){
} inp.x = Input.GetAxis("Horizontal"); } void FixedUpdate() {
Vector3 cp = transform.position - cam.position; cp.y = 0f; transform.Translate(Quaternion.LookRotation(cp) * inp * speed * Time.deltaTime, Space.World); delta = oldPos - transform.position;
float ang = Mathf.Sin(delta.magnitude / diam / pi2) * Mathf.Rad2Deg; transform.RotateAround(Vector3.Cross(delta, Vector3.up), ang); oldPos = transform.position;
} }
Сообщение отредактировал Adom - Четверг, 18 Июля 2013, 21:15 |
|
| |
Novatorvlad | Дата: Четверг, 18 Июля 2013, 22:27 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| zaicev9797, Уж лучше совсем не отвечай. Adom, Зря надеешься. Переделать кнопки на нажатие на экран по справке не сложно. Скорей всего в этом разделе справки можно найти то, что тебе нужно. И не надейся сослаться на незнания английского.
Девбложек
|
|
| |
Adom | Дата: Пятница, 19 Июля 2013, 07:35 | Сообщение # 12 |
Печенька!
Сейчас нет на сайте
| Да это легко но я не пойму что вот с этим делать inp.x
|
|
| |