コード例 #1
0
 private void Trajectory()
 {
     Debug.DrawRay(initMousePos, CellestialManager.GetMousePos());
     transform.LookAt(initMousePos);
     if (Input.GetAxisRaw("Place") == 0)
     {
         trajectory    = false;
         finalMousePos = CellestialManager.GetMousePos();
         float distance = Vector3.Distance(finalMousePos, initMousePos);
         if (distance / maxTrajectory >= 1)
         {
             distance = maxTrajectory;
         }
         SetMovable(false);
         if (isMeteor)
         {
             foreach (Transform c in transform)
             {
                 c.GetComponent <Rigidbody>().AddForce(transform.forward * (distance / maxTrajectory) * maxTrajectoryForce, ForceMode.Acceleration);
             }
         }
         else
         {
             rb.AddForce(transform.forward * (distance / maxTrajectory) * maxMeteorForce, ForceMode.Acceleration);
         }
     }
 }
コード例 #2
0
 private void CheckInput()
 {
     if (Input.GetAxisRaw("Place") != 0 && !inCollision && !trajectory)
     {
         initMousePos = CellestialManager.GetMousePos();
         trajectory   = true;
     }
 }
コード例 #3
0
 private void FollowMouse()
 {
     //transform.position = new Vector3(Input.mousePosition.x, 0, Input.mousePosition.y);
     transform.position = CellestialManager.GetMousePos();
 }