默认计划
(0人评价)
【视频】QFramework 游戏开发:类幸存者

使用 QFramework 开发产品级游戏

价格 ¥ 298.00
该课程属于 QFramework 教程年会员
请加入后再学习
private bool isShake;

private int shakeFrame;

private float mShakeA;

private static CameraController mInstance;

private Vector3 currentPos;

private void Start()
{
    mInstance = this;
    Application.targetFrameRate = 60;
}


public static void Shake()
{
    mInstance.isShake = true;
    mInstance.shakeFrame = 30;
    mInstance.mShakeA = 0.25f;
}

private void Update()
{
    if (Player.Instance == null)
    {
        return;
    }

    var playerPosition = Player.Instance.transform.position;
    currentPos.x =
        (1.0f - Mathf.Exp(-Time.deltaTime * 20))
        .Lerp(transform.position.x, playerPosition.x);
    currentPos.y =
        (1.0f - Mathf.Exp(-Time.deltaTime * 20))
        .Lerp(transform.position.y, playerPosition.y);
    currentPos.z = transform.position.z;
    if (isShake)
    {
        var shakeA = Mathf.Lerp(mShakeA, 0.0f, shakeFrame / 30.0f);
        transform.position = new Vector3(currentPos.x + Random.Range(-shakeA, shakeA),
            currentPos.y + Random.Range(-shakeA, shakeA), currentPos.z);
        shakeFrame--;

        if (shakeFrame <= 0)
        {
            isShake = false;
        }
    }
    else
    {
        transform.PositionX(
            (1.0f - Mathf.Exp(-Time.deltaTime * 20))
            .Lerp(transform.position.x, playerPosition.x));
        transform.PositionY(
            (1.0f - Mathf.Exp(-Time.deltaTime * 20))
            .Lerp(transform.position.y, playerPosition.y));
    }
}
[展开全文]

授课教师

QFramework 作者

课程特色

视频(103)
下载资料(1)
图文(1)