Code Snippet

  • 中文对齐
string name = data.Name;
int count = 13 - Encoding.GetEncoding("gb2312").GetBytes(name).Length;//宽度 13 个字符
if (count > 0) name = name + new string(' ', count);
  • Unity3D 中 dotween 实现: 箭头向上跳动效果(见图1)
var endPositonY = m_upgradeButton.transform.localPosition.y + 6;
var endScaleY =  m_upgradeButton.transform.localScale.y - 0.05f;

var sequence = DOTween.Sequence();
sequence.Append(m_upgradeButton.transform.DOLocalMoveY(endPositonY, 0.5f).SetEase(Ease.InOutBack));
sequence.Join(m_upgradeButton.transform.DOScaleY(endScaleY, 0.5f).SetEase(Ease.InOutBack));//同时发生,用 join
sequence.SetLoops(-1, LoopType.Yoyo);
Code Snippet_第1张图片
图1
  • 标准正态分布函数
static double stdNormal(double x)
{
    //https://baike.baidu.com/item/%E6%A0%87%E5%87%86%E6%AD%A3%E6%80%81%E5%88%86%E5%B8%83
    return Math.Pow(Math.E, -x * x / 2) / Math.Sqrt(2 * Math.PI);
}
  • sin函数的近似模拟
Code Snippet_第2张图片
sin函数的近似模拟
  • 打印调用方法的方法名
    /// 
    /// 打印调用者的方法名
    /// 
    public static void DoLog()
    {
        StackTrace st = new StackTrace(true);
        //获取当前调用的方法名
        StackFrame stackFrame = st.GetFrame(1);
        //var callInfo = string.Format("{0}:{1}.{2}",stackFrame.GetFileName(),stackFrame.GetFileLineNumber(),stackFrame.GetMethod().Name);
        var callInfo = stackFrame.GetMethod().Name.ToString();
        DoLog(callInfo);
    }

    public static void DoLog(string szMsg, params object[] args)
    {
        string log = string.Format("[{0}]{1}", DateTime.Now.ToString("HH:mm:ss.ffff"), string.Format(szMsg, args));
        UnityEngine.Debug.Log(log);
    }

你可能感兴趣的:(Code Snippet)