Quantcast
Channel: Questions in topic: "correction"
Viewing all articles
Browse latest Browse all 41

What's wrong? Says "Physics does not contain a definition for Raycast".

$
0
0
using UnityEngine; using System.Collections; [RequireComponent(typeof(BoxCollider))] public class Physics : MonoBehaviour { public LayerMask collisionmask; private BoxCollider collider; private Vector3 s; private Vector3 c; private float skin = .005f; [HideInInspector] public bool grounded; Ray ray; RaycastHit hit; void Start() { collider = GetComponent (); s = collider.size; c = collider.center; } public void move(Vector2 moveamount) { float deltax = moveamount.x; float deltay = moveamount.y; Vector2 p = transform.position; for (int i=0; i<=3; i ++) { float dir = Mathf.Sign (deltay); float x = (p.x + c.x - s.x/2) + s.x/2 * i; float y = p.y + c.y + s.y/2 *dir; ray = new Ray(new Vector2(x,y), new Vector2(0,dir)); if(Physics.Raycast(ray, out hit,Mathf.Abs(deltay), collisionmask)) { float dst= Vector3.Distance(ray.origin, hit.point); if(dst>skin) { deltay = -dst + skin; } else { deltay=0; } grounded = true; break; } } Vector2 finaltransform= new Vector2(deltax, deltay); transform.Translate (finaltransform); } }

Viewing all articles
Browse latest Browse all 41

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>