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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在兩個(gè)角度之間實(shí)例化多個(gè)游戲?qū)ο?/h1>

我試圖在等距的角度之間生成n 個(gè)游戲?qū)ο?。理想情況下,我希望能夠調(diào)整“圓錐體”,以便敵人可以以任何密度向任何方向射擊。有人可以看到我做錯(cuò)了什么嗎?這些是敵人的射彈。我正在嘗試“分散射擊”。想想 NES 塞爾達(dá)傳說(shuō)中第 1 級(jí)的龍:不過(guò),我并不完全確定我的實(shí)施發(fā)生了什么。彈丸.cs    public Vector2 moveDirection = Vector2.zero;    public float moveSpeed = 4.0f;    private void FixedUpdate()    {        _body.MovePosition(transform.position + (new Vector3(moveDirection.x, moveDirection.y, 0).normalized) * (moveSpeed * Time.deltaTime));    }多射手.cspublic GameObject projectileObject;public Transform projectileEmitter;[Range(2, 10)] public int numToShoot = 3;[Space][Range(0, 360)] public int angle = 30;[Range(1, 50)]  public float rayRange = 10.0f;[Range(0, 360)] public float coneDirection = 180;public void OnStartShooting(){    for (int i = 1; i <= numToShoot; i++)    {        var projectile = Instantiate(projectileObject);        projectile.transform.position = projectileEmitter.position;        var projectileScript = projectile.GetComponent<Projectile>();        projectileScript.moveDirection = DirFromAngle(((angle / i) + coneDirection)* pointDistance, rayRange);        projectile.SetActive(true);    }}public Vector3 DirFromAngle(float angleInDegrees, float range){   return Quaternion.AngleAxis(angleInDegrees, Vector3.forward) * transform.up * range;}顯示線條的編輯器腳本。private void OnSceneGUI()    {        MultiShooter fow = (MultiShooter)target;        Handles.color = Color.magenta;        Vector3 upDirection = fow.DirFromAngle((-fow.angle / 2.0f) + fow.coneDirection, fow.rayRange);        Vector3 dwDirection = fow.DirFromAngle((fow.angle / 2.0f) + fow.coneDirection, fow.rayRange);        Handles.DrawLine(fow.projectileEmitter.position, upDirection);        Handles.DrawLine(fow.projectileEmitter.position, dwDirection);    }
查看完整描述

1 回答

?
白豬掌柜的

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

對(duì)于i第一個(gè)對(duì)象,從范圍的一側(cè)到另一側(cè)的角距離分?jǐn)?shù)可以用公式 i/(numToShoot-1) 表示,其中 numToShoot > 1 的值。如果 numToShoot == 1,則可以只得到百分比50% 即可在射程正中射擊。


您的繪圖方法似乎適用于 coneDirection ± angle/2,因此我們可以從該角度百分比中減去 0.5,以用距范圍中心的角距離來(lái)表示它。


然后我們可以使用與繪圖方法相同的數(shù)學(xué):coneDirection + 角度百分比 * 角度范圍:


public void OnStartShooting()

{

    for (int i = 0; i < numToShoot; i++)

    {

        var projectile = Instantiate(projectileObject);

        projectile.transform.position = projectileEmitter.position;

        var projectileScript = projectile.GetComponent<Projectile>();

        float anglePercentage;

        if (numToShoot == 1)

            anglePercentage = 0f;

        else

            anglePercentage = (float)i/(numToShoot-1f) - .5f;


        projectileScript.moveDirection = DirFromAngle(

                  coneDirection 

                + anglePercentage * angle, rayRange);

        projectile.SetActive(true);

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-08-20
  • 1 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

了解更多

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號(hào)

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