Example #1
0
    void AdvancedJump(Collider2D col)
    {
        Player_remove player_move_control = col.gameObject.GetComponent <Player_remove>();

        player_move_control.m_JumpSpeed *= 2;
        SetTimeOut(5000, () => { player_move_control.m_JumpSpeed /= 2; });
    }
Example #2
0
    void Update()
    {
        Rect screenRect = new Rect();

        screenRect.min = Camera.main.ViewportToWorldPoint(new Vector2(0, 0));
        screenRect.max = Camera.main.ViewportToWorldPoint(new Vector2(1, 1));

        Vector3 targetPos = TargetPos();

        // 相机偏移
        Player_remove player_remove  = Player.GetComponent <Player_remove>();
        float         offsetDistance = Camera.main.ViewportToWorldPoint(new Vector3(0.10f, 0)).x
                                       - Camera.main.ViewportToWorldPoint(new Vector2(0, 0)).x;

        if (player_remove.dir == Player_remove.dirfront)
        {
            targetPos.x += offsetDistance;
        }
        else
        {
            targetPos.x -= offsetDistance;
        }

        // 弹簧相机效果
        Vector3 stepPos = Vector3.Lerp(transform.position, targetPos, Speed * Time.deltaTime);

        Rect newScreenRect = new Rect(screenRect);

        newScreenRect.position += (Vector2)(stepPos - transform.position);

        Rect backgroundRect = new Rect();

        backgroundRect.min = Background.transform.position - Background.GetComponent <Collider2D>().bounds.size / 2;
        backgroundRect.max = Background.transform.position + Background.GetComponent <Collider2D>().bounds.size / 2;

        Vector3 newPosition = stepPos;

        if (newScreenRect.xMin <= backgroundRect.xMin)
        {
            newPosition.x = backgroundRect.xMin + screenRect.width / 2;
        }
        else if (newScreenRect.xMax >= backgroundRect.xMax)
        {
            newPosition.x = backgroundRect.xMax - screenRect.width / 2;
        }

        if (newScreenRect.yMin <= backgroundRect.yMin)
        {
            newPosition.y = backgroundRect.yMin + screenRect.height / 2;
        }
        else if (newScreenRect.yMax >= backgroundRect.yMax)
        {
            newPosition.y = backgroundRect.yMax - screenRect.height / 2;
        }

        transform.position = new Vector3(newPosition.x, newPosition.y, transform.position.z);
    }
Example #3
0
    /*
     * int GetItemNO()
     * {
     *  NpcWeaponScript Npcw = GetComponent<NpcWeaponScript>();
     *  return Npcw.ItemType;
     * }
     */
    void SpeedUp(Collider2D col)
    {
        Player_remove player_speed_control = col.gameObject.GetComponent <Player_remove>();


        if (player_speed_control != null)
        {
            //Debug.Log(player_speed_control);
            player_speed_control.speed = 10;
            SetTimeOut(5000, () => { player_speed_control.speed = 5; });
        }
    }
Example #4
0
 public override void Effect(GameObject target)
 {
     if (target.tag == "Player")
     {
         Player_remove player_speed_control = target.GetComponent <Player_remove>();
         player_speed_control.speed = 2.5f;
         Ultility.SetTimeOut(3000, () => { player_speed_control.speed = 5f; });
     }
     else
     {
         NpcWeaponScript npc_speed_control = target.GetComponent <NpcWeaponScript>();
         npc_speed_control.speed /= 2;
         Ultility.SetTimeOut(3000, () => { npc_speed_control.speed *= 2; });
     }
 }