学习笔记:Unity战斗卡牌游戏(二)-----滑动列表及克隆删除对象以及代码添加脚本

  • 鼠标悬浮、点击放大特效

Button Scale:

image


  • 按钮点击事件

将新建的Login脚本挂到Scene下:

image

方法一:

1)获取输入框及按钮

2) 注册监听器,绑定的是BoxCollider的gameObject

3) 填写按钮事件

    private UIInput input1;
    private UIInput input2;
    void Start () {
        // 1)获取输入框及按钮
        input1 = transform.Find("Input1").GetComponent<UIInput>();
       input2 = transform.Find("Input2").GetComponent<UIInput>();
       BoxCollider btnLogin = transform.Find("BtnLogin").GetComponent<BoxCollider>();
        //2) 注册监听器
        UIEventListener listener = UIEventListener.Get(btnLogin.gameObject);
       listener.onClick = ButtonClick;        
    }
    void ButtonClick(GameObject click)
    {
        // 3) 填写按钮事件
        Debug.Log(input1.value + "-----" + input2.value);
    }

方法二:

1)获取输入框及按钮

2) 用ButtonMessage注册事件

  a)给BtnLogin添加脚本Button Message

  b)image

     Target是绑定了Login脚本的对象,Function Name是点击按钮后要调用的方法名

3) 填写按钮事件


  • 设置摄像机渲染层:

image

image


  • 克隆Item:
private GameObject mItem;
    // Use this for initialization
    void Start () {
    // 获取Item
        mItem = transform.Find("PanelMove/Items/Item").gameObject;
        ShowMove();    
    
}

    void ShowMove()
    {
        // 克隆item的实例,减少内存消耗
        for (int i = 0; i < 10; i++)
        {
            GameObject item = Instantiate(mItem) as GameObject;
            item.transform.parent = mItem.transform.parent;
            item.transform.localEulerAngles = Vector3.zero;
            item.transform.localScale = Vector3.one;
            item.transform.localPosition = new Vector3(0, 170 - i * 120, 0);
            item.SetActive(true);
            item.name = i.ToString();
            // 注册监听
              BoxCollider[] boxArr = item.GetComponentsInChildren<BoxCollider>();
            foreach(BoxCollider box in boxArr)
            {
                UIEventListener listen = UIEventListener.Get(box.gameObject);
                listen.onClick = ButtonClick;
            }
        }
    }

    void ButtonClick(GameObject click)
    {
        Destroy(click.transform.parent.gameObject);
    }

  • 设置拖拽:

1. 建一个Panel,设置参数

image

2. 往Panel里挂ScrollView脚本

imageimage

3. 往需要拖拽的背景的Sprite和Item上添加DragScrollView脚本,且都有BoxCollider

往背景添加:

image

往Item添加:

// 添加DragScrollView
item.AddComponent<UIDragScrollView>();

  • 修改图标和邮件标题、时间:
// 设置邮件名字和时间
         UILabel title = item.transform.Find("Title").GetComponent<UILabel>();
        UILabel time = item.transform.Find("Time").GetComponent<UILabel>();
        UISprite icon = item.transform.Find("Head/Icon").GetComponent<UISprite>();
        title.text = "王麻子给你的来信" + index.ToString();
        time.text = System.DateTime.Now.ToString();
        icon.spriteName = (3050 + index).ToString();

image

posted @ 2015-06-30 00:46  薇清浅  阅读(4335)  评论(0编辑  收藏  举报