unity战斗卡牌视频教程 第十三课 - 底层框架脚本讲解及常见脚本编写注意事项

前言

这一课主要讲的是我写的core的代码介绍及一般写脚本的注意事项

本节课讲了Asset,Logic,Model,Tools。下一节课将讲解View。

如下

1

视频长度:56分钟

视频下载地址

列教程目录汇总:http://www.bobsong.net/886.html

代码

using UnityEngine;
using System.Collections;

public class HeadPrefab : MonoBehaviour
{
    public UILabel actionLabel;
    public UILabel goldLabel;
    public UILabel ingotLabel;
    public GameObject btnClose;
    public GameObject btnReturn;
    private UserModel mUserModel;

    public void InitHead()
    {
        mUserModel = ModelMgr.GetInstance().GetModel<UserModel>();
        mUserModel.ValueUpdateEvent += OnValueUpdateEventArgs;
        actionLabel.text = mUserModel.action.ToString();
        goldLabel.text = mUserModel.gold.ToString();
        ingotLabel.text = mUserModel.ingot.ToString();
        UIEventListener listener = UIEventListener.Get(btnClose);
        listener.onClick = ButtonClick;
        listener = UIEventListener.Get(btnReturn);
        listener.onClick = ButtonClick;
        
        GameObject obj = transform.Find("IngotSprite/BtnTest").gameObject;
        if (null != obj)
        {
            listener = UIEventListener.Get(obj.gameObject);
            listener.onClick = ButtonClick;
        }
    }

    void ButtonClick(GameObject click)
    {
        if(click.Equals(btnClose) || click.Equals(btnReturn))
            SceneMgr.GetInstance().SwitchingScene(SceneType.SceneMain);
        else if(click.name.Equals("BtnTest"))
        {
            int num = UnityEngine.Random.Range(-110, 100);
            mUserModel.gold += num;
        }
    }

    void OnDestroy()
    {
        mUserModel.ValueUpdateEvent -= OnValueUpdateEventArgs;
        mUserModel = null;
    }

    void OnValueUpdateEventArgs(object obj, ValueUpdateEventArgs v)
    {
        switch (v.key)
        {
            case "gold":
                //ChangeGold((int)v.newValue, (int)v.oldValue);
                goldLabel.text = v.newValue.ToString();
                break;
        }
    }
}

本文链接:

https://bobsong.cn/1058.html
1 + 1 =
11 评论
    2015年07月02日 回复

    小宝 请教下 手游端的话用resources.load加载资源的比较少吧? 是不是大多数用www 加载assetbundle资源 能不能抽空讲讲这块的东西 比如刚开始运行场景如何统一加载资源 保存时如何统一命名这些 或者共享一下这方面的脚本工具 谢谢啦

      2015年07月02日 回复

      @曉葉snow 一般是都有的。res 和 ab一起用的。

    2015年07月13日 回复

    宝哥 , 最新的源码啥时候回更新?

      2015年07月13日 回复

      @wznp_1 上传了啊!

        2015年07月13日 回复

        @小宝 我看那个客户端的工程是6月19号更新的啊

    line_____
    2015年07月14日 回复

    小宝!那个SUIWrapContent是怎么获取当前滑到的位置的哦?

      2015年07月14日 回复

      @line_____ 用Panle上的 上面两个值。计算一下就知道了

    2015年09月07日 回复

    很好的网站,赞一个,加油!

    2015年09月09日 回复

    老师您好!想请教下,在Unity5中移除了AddComponent的方法,下面您之前写的代码要怎么调整!
    GameObject go = new GameObject(sceneType.ToString());
    SceneBase current = UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(go, "Assets/Scripts/Core/View/SceneMgr.cs (132,23)", sceneType.ToString()) as SceneBase;
    current.OnInit(sceneArgs);
    scenes.Add(current.type, current);

    2015年10月02日 回复

    来瞅瞅啦~

    2016年01月21日 回复

    网站不错,过来看看!