using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerControl : MonoBehaviour
{
private Rigidbody2D rigidbody2D;
private Vector2 m_preVelocity = new Vector2(4, 0);
// Use this for initialization
void Start()
{
rigidbody2D = transform.GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
}
private void OnMouseDown()
{
rigidbody2D.AddForce(new Vector2(1, 0) * 200);
}
public void OnCollisionEnter2D(Collision2D other)
{
ContactPoint2D contactPoint = other.contacts[0];//获取接触点
Vector2 newDir = Vector2.zero;
Vector2 curDir = transform.TransformDirection(Vector2.right);
newDir = Vector2.Reflect(curDir, contactPoint.normal);//计算反射角
Quaternion rotation = Quaternion.FromToRotation(Vector2.right, newDir);
transform.rotation = rotation;
rigidbody2D.velocity = newDir.normalized * m_preVelocity.x / m_preVelocity.normalized.x;
}
}