我想在游戏中使用 spring 关节2d . 在这里,我有一些关于 spring 关节的代码我试图创建一个像愤怒的小鸟一样的游戏 . 但在这里,我无法让 spring 接头2d工作 . 它的工作就像一根绳子,不像 spring 一样受到阻碍 .
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class Projectile_dragging : MonoBehaviour {
public LineRenderer catapultLineFront;
public LineRenderer catapultLineBack;
private bool clickedOn;
void Start(){
LineRenderersetup ();
}
void Update(){
if(clickedOn)
Dragging();
LineRendererUpdate ();
}
void OnMouseDown(){
clickedOn = true;
}
void OnMouseUp(){
GetComponent<Rigidbody2D>().isKinematic = false;
clickedOn = false;
}
void LineRendererUpdate(){
//Vector2 hold = transform.position - catapultLineFront.transform.position;
Vector3 hold = transform.position;
//leftRay.direction = projectile;
//Vector3 hold = leftRay.GetPoint(projectile.magnitude + radius);
catapultLineFront.SetPosition(1, hold);
catapultLineBack.SetPosition(1, hold);
}
void LineRenderersetup(){
catapultLineBack.SetPosition (0, catapultLineBack.transform.position);
catapultLineFront.SetPosition (0, catapultLineFront.transform.position);
catapultLineBack.sortingLayerName = "Foreground";
catapultLineFront.sortingLayerName = "Foreground";
catapultLineBack.sortingOrder = 1;
catapultLineFront.sortingOrder = 3;
}
void Dragging(){
Vector3 mouseworldpoint = Camera.main.ScreenToWorldPoint (Input.mousePosition);
mouseworldpoint.z = 0f;
transform.position = mouseworldpoint;
}
}