5435人加入学习
(14人评价)
Unity2D 塔防案例 - 保卫萝卜

制作完成于2018年8月28日,基于Unity2017.2

价格 ¥ 600.00
该课程属于 Unity - A计划(永久有效期) 请加入后再学习

注意这里图片如果是空的 检查一下NormalMordel这个路径多了个R

[展开全文]

Random.Range(int:min,int:max) 返回一个随机整数,在min(包含)和max(排除)之间 。 如果max等于min,将返回min。返回值永远不会是max,除非min等于max 。所以想随机出1,2,3,4应写为(1,5)

[展开全文]

问题,数据都放在mapMaker下?

例如monsterPath列表在Map'M'a'k

[展开全文]

直接LookAt目标位置的x,y坐标和塔的z坐标就行,保证LookAt在塔的同一平面上就不会旋转了

[展开全文]

从这里开始有点迷惑,必要的话返回重新听

 

[展开全文]

除Awake以外 都可以控制脚本对象的setActive状态

类内枚举必须用类名.出来

 

Inspector>外部调用(外部赋值)>Awake>OnEnable>Start

[展开全文]

在退出页面时,由于只能回到主面板,所以需要使用mUIFacade.currentScenePanelDict[StringManager.MainPanel].EnterPanel();

[展开全文]

由于 setpanel中有三个做好的页面,选项,数据统计,制作方,所以需要引用他们

[展开全文]

public void InitDict(){

    foreach (var item in mUIManager.currentScenePanelDict)

    {

        // Debug.Log(canvasTransform);

        item.Value.transform.SetParent(canvasTransform);

        item.Value.transform.localPosition = Vector3.zero;

        item.Value.transform.localScale = Vector3.one;

        IBasePanel basePanel = item.Value.GetComponent<IBasePanel>();

        if (basePanel==null)

        {

            Debug.Log("获取面板上IBasePanel脚本失败");

        }

        //TODO:初始化脚本

        basePanel.InitPanel();

        currentScenePanelDict.Add(item.Key,basePanel);

    }

  }

 

这里为什么从mUIManager.currentScenePanelDict遍历后又赋值给currentScenePanelDict

[展开全文]

总结一句话:未激活的物体不会调用Awake方法,所以HelpPanel中加载后已激活的Slide脚本赋值正确而未激活的TowerPage下的Slide脚本Awake没有执行所以报空。

[展开全文]

GameManager(单例)

PlayerManager  作为GameManager中的成员变量,记录玩家信息。作为Gamemanager中的成员变量

AudioSourceManager  记录音效、音乐的信息

FactoryManager   有很多游戏

 

[展开全文]

代码中赋值的时候有点问题

//contentLength = scrollRect.content.rect.xMax-2*leftOffset-cellLength;

//contentLength = 3000-2*300*-1100=1300;

 //oneItemLength = cellLength + spacing=1100+400=1500;

oneItemProportion = oneItemLength / contentLength;

这样的话oneItemProportion就始终大于1了。移动的时候要么就是第一页,要么就是最后一页。

我手动把oneItemLength改成2000.oneItemLength改成1000后就没问题了

 

我脚本搭载到ScrollView上的 

[展开全文]