第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Unity 防止點擊 1s

Unity 防止點擊 1s

C#
繁華開滿天機 2023-07-09 09:43:51
我有一個 Unity Slidepuzzle 游戲(4x4),我檢查開放區(qū)域要移動到哪里。我嘗試使用 MoveTowards 制作幻燈片動畫,效果很好,但現(xiàn)在我遇到的問題是,當(dāng)我單擊開放空間旁邊的兩塊(快速)時,兩者都會移入其中,因為該塊不完全在那里,因此光線無法移動打任何東西。PS:它可以在沒有動畫的情況下工作,但我只是不希望這些碎片只是傳送。我想要一個平滑的幻燈片。我嘗試用布爾值解決它,這樣當(dāng)我單擊它時,移動設(shè)置為 true,當(dāng)動畫完成時再次設(shè)置為 false,但這不起作用。void MovePuzzle()    {        float duration = 0.5f;        if(go_left)        {            Vector3 endPos1 = new Vector3(transform.position.x - move_amount.x, transform.position.y, transform.position.z);            StartCoroutine(MoveTowards(endPos1, duration));            go_left = false;            moved = true;        }        if (go_right)        {            Vector3 endPos2 = new Vector3(transform.position.x + move_amount.x, transform.position.y, transform.position.z);            StartCoroutine(MoveTowards(endPos2, duration));            go_right = false;            moved = true;        }        if (go_up)        {            Vector3 endPos3 = new Vector3(transform.position.x, transform.position.y + move_amount.y, transform.position.z);            StartCoroutine(MoveTowards(endPos3, duration));            go_up = false;            moved = true;        }        if (go_down)        {            Vector3 endPos4 = new Vector3(transform.position.x, transform.position.y - move_amount.y, transform.position.z);            StartCoroutine(MoveTowards(endPos4, duration));             go_down = false;            moved = true;        }    }    IEnumerator MoveTowards(Vector3 toPosition, float duration)    {        float counter = 0;        while (counter < duration)        {            counter += Time.deltaTime;            Vector3 currentPos = transform.position;            float time = Vector3.Distance(currentPos, toPosition) / (duration - counter) * Time.deltaTime;            transform.position = Vector3.MoveTowards(currentPos, toPosition, time);            Debug.Log(counter + " / " + duration);            yield return null;        }    }在幻燈片動畫完成之前是否有辦法限制點擊?我對 Unity 還比較陌生,所以不要指望我能提供太多知識 :D。
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗 獲得超10個贊

你說你用布爾值嘗試過,但沒有成功。我認(rèn)為如果做得正確,它應(yīng)該有效。

在 MovePuzzle() 的第一行中寫入:

if (moved)
{
    return;
}

然后,在 while 塊之后(因此在其外部),寫入:

moved = false;

那么您可能應(yīng)該將其重命名為 isMoving 。


查看完整回答
反對 回復(fù) 2023-07-09
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號