コード例 #1
0
ファイル: Controller2D.cs プロジェクト: dgx80/unity-dgx
 void Start()
 {
     collider       = GetComponent <BoxCollider2D>();
     rayCastOrigins = new RayCastOrigins();
     CalculateRaySpacing();
     collisions.Init();
 }
コード例 #2
0
    public void Awake()
    {
        _boxCollider = this.GetComponent <BoxCollider2D>();
        rayOrigins   = new RayCastOrigins();

        RecalculateDistanceBetweenRays();
        collisionState = new CharacterCollisionState2D();
    }
コード例 #3
0
    public const float SKIN_WIDTH = 0.06f;// 0.01f;
    public static void CalculateRaySpacing(Collider collider, ref RayCastOrigins rayCastOrigins)
    {
        Bounds bounds = collider.bounds;

        bounds.Expand(SKIN_WIDTH * -2);
        rayCastOrigins.HorizontalRayCount   = Mathf.Clamp(rayCastOrigins.HorizontalRayCount, 2, int.MaxValue);
        rayCastOrigins.VerticalRayCount     = Mathf.Clamp(rayCastOrigins.VerticalRayCount, 2, int.MaxValue);
        rayCastOrigins.HorizontalRaySpacing = bounds.size.y / (rayCastOrigins.HorizontalRayCount - 1);
        rayCastOrigins.VerticalRaySpacing   = bounds.size.x / (rayCastOrigins.VerticalRayCount - 1);
    }
コード例 #4
0
    public static void UpdateRayCastOrigins(Collider collider, ref RayCastOrigins rayCastOrigins)
    {
        Bounds bounds = collider.bounds;

        bounds.Expand(SKIN_WIDTH * -2);
        rayCastOrigins.BottomLeft  = new Vector2(bounds.min.x, bounds.min.y);
        rayCastOrigins.BottomRight = new Vector2(bounds.max.x, bounds.min.y);
        rayCastOrigins.TopLeft     = new Vector2(bounds.min.x, bounds.max.y);
        rayCastOrigins.TopRight    = new Vector2(bounds.max.x, bounds.max.y);
    }
コード例 #5
0
 // Start
 void Start()
 {
     velocity = new Vector3();
     // Set gravity
     gravity = -2 * jump.height_max / Mathf.Pow(jump.time_limit, 2) * gravity_mod;
     // Set speeds for y component of movement
     jump.speed_y_min = Mathf.Sqrt(2 * Mathf.Abs(gravity) * jump.height_min);
     jump.speed_y_max = Mathf.Abs(gravity) * jump.time_limit;
     // Initialize other stats;
     wall.is_sliding = false;
     is_right_facing = true;
     corners         = new RayCastOrigins();
     collisions      = new Collisions();
     damage_timer    = 0;
     can_take_damage = true;
 }