Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2165.00元
LoginSys#enterLogin()方法,异步加载场景前,应该先调用一次 
GameRoot.Instance.loadingWindow.InitWindow();

 

进度点的计算参数总长除以2代替Unity中查看

imagePoint.transform.localPosition = new Vector3(-(fgWidth / 2), 0, 0);

 

float posX = prg * fgWidth - (fgWidth / 2);
[展开全文]
yq_joe · 2021-07-25 · 0

端正心态不扯裆。

[展开全文]
ws35ws35 · 2019-03-27 · 0

Action将方法作为参数传入,使通用代码复用性更高

[展开全文]
reek · 2019-04-11 · 0

流量是要花钱的,只传必要数据。

[展开全文]
ws35ws35 · 2019-03-28 · 0

因为有多种技能,都放在Update里面,代码太多。自己重写了一下更新冷却效果代码,采用倒计时方式,显示剩余百分比,(范围9~0):

private void Update()
    {
        if(Input.GetKeyDown(KeyCode.Alpha1))
        {
            ClickSkill1Atk();
        }

        if (isSk1CD)
        {
            UpdateSk1FillAmount();
        }
    }

 

public Image imgSk1CD;
    public Text txtSk1CD;
    private bool isSk1CD = false;
    private float sk1CDTime;
    private int sk1Num;
    private float sk1FillCount = 0f;
    private float sk1CDTimeCount;//用于保存冷却剩余百分比

    public void ClickSkill1Atk()
    {
        if (isSk1CD == false)
        {
            BattleSys.Instance.ReqReleaseSkill(1);
            isSk1CD = true;
            SetActive(imgSk1CD);
            imgSk1CD.fillAmount = 1;
            //sk1Num = (int)sk1CDTime;
            //SetText(txtSk1CD, sk1Num);
            sk1CDTimeCount = sk1CDTime;
            sk1FillCount = sk1CDTimeCount / sk1CDTime;
            imgSk1CD.fillAmount = sk1FillCount;
            sk1Num = (int)(sk1FillCount * 10);
            SetText(txtSk1CD, sk1Num);
        }
    }

    public void UpdateSk1FillAmount()
    {
        sk1CDTimeCount -= Time.deltaTime;
        if(sk1CDTimeCount>0)
        {
            sk1FillCount = sk1CDTimeCount / sk1CDTime;
            imgSk1CD.fillAmount = sk1FillCount;
            sk1Num = (int)(sk1FillCount*10);
            SetText(txtSk1CD, sk1Num);
        }
        else
        {
            isSk1CD = false;
            SetActive(imgSk1CD, false);
        }
    }

 

[展开全文]
Unity菜民 · 2019-11-25 · 0

动画播放仍然有问题,状态机按照教程设定,粒子系统均不能播放,动画会播放两次。什么原因?目前不清楚。

[展开全文]
Unity菜民 · 2019-11-25 · 0

教程中关于comboIndex归零的处理太麻烦,而且会丢失一次点击响应,我的代码很简单:

public void ReleaseNormalAtk()
    {
        if(entitySelfPlayer.currentAniState==AniState.Attack)
        {
            //在500ms内进行第二次点击,存数据
            double nowAtkTime = TimerSvc.Instance.GetNowTime();
            if(nowAtkTime-lastAtkTime<Constants.ComboSpace&&lastAtkTime!=0)
            {

                //索引自动归零
                comboIndex =(comboIndex+1)%comboArr.Length;
                entitySelfPlayer.comboQue.Enqueue(comboArr[comboIndex]);
                lastAtkTime = nowAtkTime;
            }
        }
        else if(entitySelfPlayer.currentAniState==AniState.Idle||entitySelfPlayer.currentAniState==AniState.Move)
        {
            lastAtkTime = TimerSvc.Instance.GetNowTime();
            entitySelfPlayer.Attack(comboArr[0]);
        }

        
        PECommon.Log("Click Normal Attack");
    }

[展开全文]
Unity菜民 · 2019-11-25 · 0