2015-08-25 3 views
3

Я хочу создать боковую панель (например, nav drawer in android) для моего приложения AR Unity, когда я касаюсь левой границы экрана и перетаскиваю вправо, боковая панель должна появляться с список кнопок, таких как (настройки, о нас ..).Как создать динамическую боковую панель (меню) для единства app

+0

Я рекомендую разделить это на 2 отдельных вопроса – cahen

ответ

0

Только что-то быстро я взбивал. Это должно заставить вас начать.

using UnityEngine; 
using System.Collections; 
using UnityEngine.UI; 

public class SlidePanel : MonoBehaviour 
{ 

    //Process touch for panel display on if the touch is less than this threshold. 
    private float leftEdge = Screen.width * 0.25f; 

    //Minimum swipe distance for showing/hiding the panel. 
    float swipeDistance = 10f; 


    float startXPos; 
    bool processTouch = false; 
    bool isExpanded = false; 
    public Animation panelAnimation; 



    void Update(){ 
     if(Input.touches.Length>0) 
      Panel(Input.GetTouch(0)); 
    } 




    void Panel (Touch touch) 
    { 
     switch (touch.phase) { 
     case TouchPhase.Began: 
      //Get the start position of touch. 

      startXPos = touch.position.x; 
      Debug.Log(startXPos); 
      //Check if we need to process this touch for showing panel. 
      if (startXPos < leftEdge) { 
       processTouch = true; 
      } 
      break; 
     case TouchPhase.Ended: 
      if (processTouch) { 
       //Determine how far the finger was swiped. 
       float deltaX = touch.position.x - startXPos; 


       if(isExpanded && deltaX < (-swipeDistance)) 
       { 

        panelAnimation.CrossFade("SlideOut"); 
        isExpanded = false; 
       } 
       else if(!isExpanded && deltaX > swipeDistance) 
       { 
        panelAnimation.CrossFade("SlideIn"); 
        isExpanded = true; 
       } 

       startXPos = 0f; 
       processTouch = false; 
      } 
      break; 
     default: 
      return; 
     } 
    } 
} 
+0

Когда я попытался добавить анимацию к инспектору скрипта, он не принимает его и остается пустым! как я могу это решить? – Mohamad

+0

Просто перетащите объект игры, у которого есть компонент анимации для этого скрипта в инспекторе. Примечание. Он использует устаревшую анимацию (не Animator); – Puneet

+0

Как создать устаревшую анимацию? Я использовал Window-> анимацию для создания анимации, но я не могу перетащить ее в инспектор скриптов. Я не знаю, использовал ли я правильный метод! – Mohamad

Смежные вопросы