исправил что до -104 доходит. вот простой пример:
- Код: Выделить всё
var MenuX = -105;
var mright = true;
private var yVelocity = 0.0;
function FixedUpdate() {
if (mright) { moveMenuRight(); }
}
function OnGUI() { //например просто кнопку вывести плавно из-за экрана.
GUI.Button(Rect(MenuX, Screen.height/2-50, 100, 100), "button");
}
function moveMenuRight () {
if (MenuX < 0) {
MenuX = Mathf.SmoothDamp(-105.0, 0.0, yVelocity, 5.0, 20.0);
Debug.Log(MenuX);
//Debug.Log(yVelocity);
return;
}
mright = false;
}
и вот при таком раскладе MenuX доходит только до -104, хотя ясно сказал я Mathf.SmoothDamp(откуда, куда, yVelocity(скорость, которая изменяется данной функцией), за какое время должен пройти данный интервал, максимальная скорость, Time.deltaTime);
если изменять как попало значения Mathf.SmoothDamp() то удается либо моментально переместить, либо с дерганием, либо не красиво. а охото получить вот такой идеальный массив передвижения (MenuX + mass[i]) mass = [22,22,12,10,10,9,8,5,3,2,1,0,1]