AddForce не работает
|
|
Knife_Kill | Дата: Пятница, 24 Июля 2015, 17:55 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Здравствуйте, столкнулся с такой проблемой - в новой Юньке AddForce не работает как раньше, почему? И как сейчас можно записать? Код using UnityEngine; using System.Collections;
public class Control : MonoBehaviour {
public GameObject player; public float speed = 2f; public float jump = 1.5f; public bool jumping;
// Use this for initialization void Start () { }
// Update is called once per frame
void Update () { if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) { transform.Translate(Vector3.left * speed * Time.deltaTime, Space.Self); }
else if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) { transform.Translate(Vector3.right * speed * Time.deltaTime, Space.Self); }
if(Input.GetKey(KeyCode.W)) { //rigidbody2D.AddForce(new Vector2(0f, jump)); - раньше работало } } }
П.с. пробовал через GetComponent, но все равно не работает. Код GetComponent<Rigidbody2D>().AddForce(new Vector2(0f, jump));
|
|
| |
кое-кто | Дата: Пятница, 24 Июля 2015, 18:30 | Сообщение # 2 |
Сейчас нет на сайте
| У тебя unity 5 ?
Моя группа
|
|
| |
Knife_Kill | Дата: Пятница, 24 Июля 2015, 18:52 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| кое-кто, Да, 5.0.1f1
|
|
| |
beril | Дата: Пятница, 24 Июля 2015, 22:24 | Сообщение # 4 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| ну в FixedUpdate нужно физику запихивать.
Цитата Knife_Kill ( ) новой Юньке AddForce не работает как раньше, почему? А щас как то работает? или вообще ничего не происзодит?
Код void FixedUpdate() { if(Input.GetKeyDown(KeyCode.W)) { Debug.Log("work"); gameObject.GetComponent<Rigidbody2D> ().AddForce (Vector2.up * 500); } } Все прекрасно работает
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Knife_Kill | Дата: Пятница, 24 Июля 2015, 22:40 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| beril, Код rigidbody2D.AddForce(new Vector2(0f, jump)); - пишет ошибку в Юньке и в Visual Studio Код GetComponent<Rigidbody2D>().AddForce(new Vector2(0f, jump)); - ничего не происходит
|
|
| |
beril | Дата: Пятница, 24 Июля 2015, 23:11 | Сообщение # 6 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Цитата Knife_Kill ( ) - пишет ошибку в Юньке и в Visual Studio в 5 версии нужно через getComponent
Цитата Knife_Kill ( ) - ничего не происходит GetComponent<Rigidbody2D> ().AddForce(new Vector2(0, jump), ForceMode2D.Force); И массу Rigidbody2D уменьшить нужно до 0.01. Чем больше масса тем больше усилие нужно. А посколько jump = 1.5f массу больше 0.01 оно не поднимает
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Knife_Kill | Дата: Пятница, 24 Июля 2015, 23:27 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| beril, Хммм, заработало. Но почему если я пишу - Код gameObject.GetComponent<Rigidbody2D> ().AddForce (Vector2.up * 500); Оно работает нормально, а если прописываю переменную Jump со значением 500, то оно не работает? Код gameObject.GetComponent<Rigidbody2D> ().AddForce (Vector2.up * Jump); Не могу понятьДобавлено (24 июля 2015, 23:27) --------------------------------------------- beril, А в целом, спасибо!
|
|
| |
beril | Дата: Пятница, 24 Июля 2015, 23:35 | Сообщение # 8 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Цитата Knife_Kill ( ) Не могу понять чему равна Jump? я писал выше, чем больше масса ригибоди тем больше нужна сила
Цитата beril ( ) переменную Jump со значением 500, то оно не работает? все работает, я только,что проверил
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
seaman | Дата: Пятница, 24 Июля 2015, 23:35 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Цитата Оно работает нормально, а если прописываю переменную Jump со значением 500, то оно не работает? Может потому что переменная называется не Jump, а jump?
|
|
| |
MANMANA | Дата: Пятница, 24 Июля 2015, 23:36 | Сообщение # 10 |
почти ветеран
Сейчас нет на сайте
| прочитай, что за ошибку пишет и все будет понятно. если не понятно, то посмотри сюда. Код public float jump = 1.5f; ... gameObject.GetComponent<Rigidbody2D> ().AddForce (Vector2.up * Jump); большие и маленькие буковкиДобавлено (24 июля 2015, 23:36) --------------------------------------------- seaman,
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
Knife_Kill | Дата: Пятница, 24 Июля 2015, 23:40 | Сообщение # 11 |
частый гость
Сейчас нет на сайте
| MANMANA, seaman, В коде я писал с маленькой, вы уж не подумайте beril, Действительно, все дело в массе. Спасибо
|
|
| |