Всем привет. Тут столкнулся с такой проблемой. Есть скрипт управления и прыжка шара, но при прыжке с разгона шар летит вперед сильно если держать клавишу, с место как бы нормально. И когда давишь допустим в право, шар разгоняется как и должен, но когда отпускаешь, он продолжает двигатся, мне же нужно чтобы он остоновился только не сразу.
Code
var Jumped = false; var speedScroll = 3; var JumpUP = 7; function Update () {
if (Input.GetKey ("a")) {
rigidbody.AddForce (Vector3.left *speedScroll);
} if (Input.GetKey ("d")) { rigidbody.AddForce (Vector3.right * speedScroll); }
if(Input.GetKey("space") && !Jumped) { rigidbody.velocity += Vector3(0,JumpUP,0); Jumped = true; } } //При помощи этого тега шар будет прыгать. Указать тег где вы хотели использовать прыжок. function OnCollisionEnter(theCollision : Collision){ if(theCollision.gameObject.tag == "Floor"){ Jumped = false;}} function OnCollisionExit(theCollision : Collision){ Jumped = true;}
Прошу помощи, так как еще не достиг хорошего знания JS но стараюся.
Да и как уместит в одной строке много тегов, дапустим Floor| Metal| Wood столько сколько нужно мне. http://www.youtube.com/watch?v=wD6VGTjkK9Q&feature=related
http://www.youtube.com/watch?NR=1&v=lXgX7zvTw0E http://orbart.free.fr/index.php?Gallery=105 - Созданно на юнити
Сообщение отредактировал MaxUnityDev - Пт, 03 Фев 2012, 16:08
Можно ли в тегах прописывать не одно значение а несколько, чтобы не дописывать еще много строк кода.
if(theCollision.gameObject.tag == "Floor"){ - Можно ли еще дописать сюда же допустим тег Metal, wood или нужно еще дополнительно прописывать код для тега? http://www.youtube.com/watch?v=wD6VGTjkK9Q&feature=related
http://www.youtube.com/watch?NR=1&v=lXgX7zvTw0E http://orbart.free.fr/index.php?Gallery=105 - Созданно на юнити
string tag = theCollision.gameObject.tag; if(tag == "Floor" || tag == "Metal" || ...) {}
Спасибо. Можете еще помочь. Как это
Code
string tag = theCollision.gameObject.tag; if(tag == "Floor" || tag == "Metal" || ...) {}
приставить сюда
Code
function OnCollisionEnter(theCollision : Collision){ if(theCollision.gameObject.tag == "Floor"){ Jumped = false;}} function OnCollisionExit(theCollision : Collision){ Jumped = true;}
Просто вчера пробовал, с таким еще не разу не связывался. Вроде как дома сделал, но он перестал вообще реагировать на теги. http://www.youtube.com/watch?v=wD6VGTjkK9Q&feature=related
http://www.youtube.com/watch?NR=1&v=lXgX7zvTw0E http://orbart.free.fr/index.php?Gallery=105 - Созданно на юнити
Сообщение отредактировал MaxUnityDev - Пн, 06 Фев 2012, 10:20
function OnCollisionEnter(theCollision : Collision) { tag = theCollision.gameObject.tag; Jumped = !(tag == "Floor" || tag == "Metal"); } function OnCollisionExit(theCollision : Collision) { Jumped = true; }
Впринцепи при массе хотябы 10 кг и Ангуляр драг я поставил 1 все хорошо работает.
Добавлено (07.02.2012, 12:00) --------------------------------------------- Подскажите еще, как можно сделать при нажатии клавиши шифт чтобы шар разгонялся в ту сторону куда идешь. Допустим я качу шар в право, он едет тихо, я нажимаю клавишу шифт и он резко устремляется вперед, но так чтобы допусти всего секунды 3, чтобы тупа не летел.
Если добавить к коду выше вот эти строки то шар крутится но не так как надо. А то что он на месте прокручивается нужно усилить. Но как?
Code
var ballRotateSpeed = 200;
if (Input.GetKey ("left ctrl")) { rigidbody.AddTorque (Vector3.one * ballRotateSpeed); }
Помогите. Вот исходник. Там есть скрипт Particle_Collision я кидаю его на объект, и выбираю партикл, при коллизии производится эффект. А как сделать чтобы допустим при коллизии чтобы дым исходил не однократно, при его передвижение...