Если счет меньше 1 - не впускать дальше
|
|
Knife_Kill | Дата: Воскресенье, 04 Января 2015, 21:08 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| В общем, есть вырвиглазный код (ниже) и нужно сделать условие - если герой собрал меньше 1 звездочки - не впускать его дальше. Несколько часов ломал голову, так и не додумался как сделать.
Код using UnityEngine; using System.Collections;
public class Controll : MonoBehaviour { public float jump = 100; public float maxSpeed; public GameObject heroes; public float score; public string lovel;
void Update () { if(Input.GetKeyDown(KeyCode.W)||Input.GetKeyDown(KeyCode.UpArrow)) { heroes.rigidbody2D.AddForce(new Vector2(0f, jump)); } if(Input.GetKey(KeyCode.D)||Input.GetKey(KeyCode.RightArrow)) { heroes.rigidbody2D.velocity = new Vector2(maxSpeed, rigidbody2D.velocity.y); } if(Input.GetKey(KeyCode.A)||Input.GetKey(KeyCode.LeftArrow)) { heroes.rigidbody2D.velocity = new Vector2((-maxSpeed), rigidbody2D.velocity.y); } if(Input.GetKeyDown(KeyCode.R)) { Application.LoadLevel(Application.loadedLevel); } if(Input.GetKeyDown(KeyCode.Escape)) { Application.Quit(); } }
void OnTriggerEnter2D(Collider2D col) { if(col.gameObject.tag == "Die"||col.gameObject.tag == "Saw") { Application.LoadLevel(Application.loadedLevel); } if(col.gameObject.tag == "End") { Application.LoadLevel(lovel); } if(col.gameObject.tag == "Star") { score++; Destroy(col.gameObject); } } }
Ах да, еще вопросик - как сделать чтобы камера четко была зафиксирована на предмете и не крутилась с ним? Если я делаю ее "дочерней" предмету, то она крутится, как это исправить?
Зарание благодарю.
|
|
| |
yavl | Дата: Воскресенье, 04 Января 2015, 21:30 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| Цитата Knife_Kill ( ) условие - если герой собрал меньше 1 звездочки - не впускать его дальше. if (score >= 1.0f) { nextlevel(); } else nevpuskat();
|
|
| |
Knife_Kill | Дата: Воскресенье, 04 Января 2015, 21:56 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Цитата yavl ( ) if (score >= 1.0f) { nextlevel(); } else nevpuskat(); Спасибо, работает. Странно, до этого писал похожее - не работало, но тогда я указывал вместо >= просто > и вместо 1.0f указывал 1, неужели в этом проблема?
Сообщение отредактировал Knife_Kill - Воскресенье, 04 Января 2015, 21:58 |
|
| |
NEBR | Дата: Воскресенье, 04 Января 2015, 23:28 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| Цитата Knife_Kill ( ) вместо 1.0f указывал 1, неужели в этом проблема? не, с этим проблем быть не должно. флоат переменные целочисленные не требуют добавления буквы f
King Size #Gamiron12
|
|
| |
MANMANA | Дата: Воскресенье, 04 Января 2015, 23:31 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| Цитата NEBR ( ) но тогда я указывал вместо >= просто > и вместо 1.0f указывал 1, неужели в этом проблема? скорее всего где-то было условие вида if(score<=1) и/или if(score=1) или if(score<1) либо скобочки не там, их отсутствие ну и как вариант - не туда были добавлены строки
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
Сообщение отредактировал MANMANA - Воскресенье, 04 Января 2015, 23:32 |
|
| |
Knife_Kill | Дата: Понедельник, 05 Января 2015, 00:12 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Ладно, в любом случае спасибо.
|
|
| |