Esempio n. 1
0
 private void Update()
 {
     if (works && !isDead)
     {
         wiggleBlend = Mathf.MoveTowards(wiggleBlend, 1f, Time.deltaTime);
         Vector2 pos2d = wiggle.GetPosition() * wiggleBlend;
         spriteTransform.localPosition = pos2d;
     }
 }
    void FixedUpdate()
    {
        float   lerpAmount = Time.fixedDeltaTime / T;
        Vector3 fromPos    = transform.position;
        Vector3 toPos      = player.transform.position;
        float   percentage = 95;

        if (ScreenCalculations.IsNearScreenBoundry(cursorObj.transform.position, percentage))
        {
            float amount = 1 - (
                ScreenCalculations.DistanceToNearestScreenBoundry(cursorObj.transform.position) /
                ((ScreenCalculations.GetScreenSizeFromNearestToTheOtherSide(cursorObj.transform.position)) * (1 - (percentage / 100)))
                );
            amount = Mathf.Clamp(amount, 0, 1);
            toPos  = Vector3.Lerp(player.transform.position, cursorObj.transform.position, amount * cursorFollowStrength);
        }
        centralPosition = Vector3.Lerp(fromPos, toPos, lerpAmount);

        Vector3 cameraOffset = myWiggle.GetPosition(shakeCurve);

        transform.position = new Vector3(centralPosition.x + cameraOffset.x, centralPosition.y + cameraOffset.y, transform.position.z);
        //Debug.Log(ScreenCalculations.GetScreenSizeFromNearestToTheOtherSide(cursorObj.transform.position));
    }