nWay就是擴散彈,如果要朝某個角度範圍發射n顆子彈,例如120~160度發射5顆子彈,那就可以知道160 - 120 = 40度,然後40 / 5 = 8度,所以從120~160度每8度發射一個子彈,然後要發射一圈就可以將範圍設定為0 ~360度,如果想增加遊戲性可以改變每顆子彈的發射速度讓它們看起來像是漩渦一樣,或者第一次發射時是從0 ~360度然後第二次發射是從5~5度(下一圈),而且每次每個子彈間隔角度都一樣,這樣第一次發射的子彈與第二次發射的子彈就會有交錯的效果等等...還可以改變很多參數就可以變成很多種新的花樣。
大大你這邊 angle 算法有問題:
回覆刪除double angle = 360 / num;
會用整數除法算完 360 / num 之後才指定給 angle
在一些特別的 num (譬如 26) 會讓第一象限接近 x 軸的地方產生明顯空洞
改成 360.0 即可解決
感謝,我當初有注意到這邊運算完是整數型態會有空洞,只是說後來覺得把他當成敵機的死區也不錯就沒變更了XD。
回覆刪除