2016-04-19 6 views
0

Я пытаюсь реализовать физику, подобную этой игре:Подвижная и балансировка HingeJoint2D с помощью мышки

https://sites.google.com/site/newstudyhall/games/tilt-2

У меня есть спрайт «рука», которая является кинематической и иметь HingeJoint2D на нем. Другой спрайт «Stick», который не является кинематическим, связан с HingeJoint2D. Я хочу сбалансировать палку на руке, двигая рукой.

Я прилагаю следующий сценарий с ручкой. Я перемещаю руку с помощью мыши и применяю силу на палке в противоположном направлении движения мыши. Но это не работает, как в вышеупомянутой игре.

Есть ли какой-либо компонент в Unity, который я могу использовать для создания этого результата или как его реализовать?

private Vector3 screenPoint; 
private Vector3 offset; 


void FixedUpdate() 
{ 
    //ON CLICK 
    if (Input.GetButtonDown("Fire1")) 
    { 
     screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position); 
     offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10)); 

    } 

    //ON DRAG 
    if (Input.GetButton("Fire1")) 
    { 
     Vector3 cursorPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10); 

     //HAND POSITION CHANGE WITH MOUSE DRAG 
     Vector2 cursorPosition = Camera.main.ScreenToWorldPoint(cursorPoint) + offset; 
     transform.position = cursorPosition; 

     //APPLY FORCE ON TRAY IN OPPOSITE DIRECTION OF MOUSE MOVEMENT 
     GameObject.Find("Stick").GetComponent<Rigidbody2D>().AddForce(((cursorPosition.normalized * 5)) * -1, ForceMode2D.Impulse); 

    } 
} 

ответ

1

Я думаю, что вы можете использовать компоненты rigidbody2d и параметр силы тяжести, чтобы сделать такой же простой способ расслоения.

Here is a link to a similar question with a very good answer that may help you

+0

Я вижу, что вы уже используете rigidbodies, я думаю, вам просто нужно использовать параметр силы тяжести уже имеющимся, хотя вам, возможно, придется настроить его немного, чтобы получить желаемый эффект balacing для игры. –

 Смежные вопросы

  • Нет связанных вопросов^_^