2014-12-22 4 views
0

버튼을 인스턴스화하고 장면에 추가하는 동안 일종의 애니메이션을 수행해야하므로 슬라이드로 장면에 추가됩니다 (또는 슬라이드 왼쪽 또는 슬라이드 오른쪽). 지금까지 내 코드 :unity3d v4.6에서 애니메이션 버튼 (왼쪽으로 슬라이드, 오른쪽으로 슬라이드, 아래로 슬라이드)

for (int i = 0; i < 4; i++) { 
     // Instantiate 4 buttons 
     Transform clone = (Transform)Instantiate (suggestionBtn, 
               new Vector3 (4, y, 0), Quaternion.identity); 
     // make instance the child of the canvas 
     clone.SetParent(gameObject.transform, false); 
     clone.transform.rotation = transform.localRotation; 
     y -= 70; 
} 

은 내가 애니메이션 파일을 내가 애니메이션 또는 LeanTween 같은 몇 가지 엔진을 사용할 필요하거나 코드의 단지 몇 줄 것입니다 각 버튼에 첨부 할 필요가 있는지 확실하지 않다 아래로 슬라이드/슬라이드 왼쪽/오른쪽 슬라이드 애니메이션을 보장 하시겠습니까?

+0

합니다. 이 http://pastebin.com/18Xp09Ai에서 완전히 사용할 수 있습니다. 버튼마다 4 개의 버튼이 추가로 설정되어 있습니다. 아래로 그리고 그 옆쪽으로 미끄러지 듯 움직입니다. Itween과 leantween도 좋은 선택이 될 것입니다. –

+0

타사 자산 (iTween)을 사용하지 않으려는 경우 자체 트윈 방법을 만들 수 있습니다. 비슷한 질문을 여기에 내 대답 좀 봐 http://stackoverflow.com/questions/27119906/animate-move-translate-tween-image-in-unity-4-6-from-c-sharp-code/27121705 # 27121705 – Savlon

답변

1

이 작업을 수행 할 iTween을 사용할 수 있습니다 :이 오래된 지나치게 복잡한 스크립트의 모든 힘든

static float y0; 
static float FadeInOutTime = 1.0f; 

//Called in Awake() 
y0 = GameObject.Find("button_home").transform.position.y; 

public static IEnumerator AnimateIn() 
{ 
    int i = 0; 

    foreach (var item in ToolbarButtons) { 
     var pos = item.transform.position; 
     iTween.MoveTo(item, new Vector3(pos.x, y0 + 6, pos.z), FadeInOutTime); 
     yield return new WaitForSeconds (i * 0.02f); 
     i++; 
    } 
    yield return null; 
} 

enter image description here

관련 문제