亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Unity環(huán)境中《坦克大戰(zhàn)》雙人游戲的研究與實(shí)現(xiàn)

        2018-05-14 13:52:17易威環(huán)
        關(guān)鍵詞:雙人剛體腳本

        易威環(huán)

        [摘 要] 采用Unity3D5.6.1+VS2013+C#語言為開發(fā)環(huán)境設(shè)計(jì)《坦克大戰(zhàn)》雙人游戲,其中首先搭建了游戲場景,再設(shè)計(jì)雙人控制環(huán)境并實(shí)現(xiàn),最后實(shí)現(xiàn)子彈的發(fā)射,從而實(shí)現(xiàn)完整的雙人游戲功能,逐一進(jìn)行講解,并配有詳細(xì)的代碼及圖例。

        [關(guān) 鍵 詞] unity;VS;坦克大戰(zhàn);游戲

        [中圖分類號(hào)] G898.2 [文獻(xiàn)標(biāo)志碼] A [文章編號(hào)] 2096-0603(2018)08-0118-01

        一、場景搭建

        1.新建項(xiàng)目TankShot,將資源包TankAssset.unitypackage導(dǎo)入并拖出場景LevelArt,并除平行光,調(diào)整天空盒Source為Color。

        2.添加坦克Tank,增加剛體、碰撞盒,并通過Edit Collider調(diào)整碰撞盒大小。

        3.添加灰塵效果,將資源庫中的Prefabs/DustTrail拖入坦克后輪,左右各一個(gè),通過調(diào)整為Back視圖、Top視圖進(jìn)行定位。

        二、雙人控制

        1.將原坦克設(shè)為預(yù)設(shè)體,并在場景中添加另一臺(tái)坦克Tank1,如果場景中的某坦克有修改,為了能使由預(yù)設(shè)體產(chǎn)生的所有對(duì)象都能改變,需點(diǎn)擊組件面板上的“Apply”按鈕。

        2.先增加六套按鍵(注:小回車:enter,大回車:return左Ctrl:left ctrl,Negative:負(fù),Positive:正,系統(tǒng)已經(jīng)有的鍵定義不能刪除):

        Horizontal1:a/d鍵 Vertical1:s/w鍵 Horizontal2:left/right鍵

        Vertical2:down/up鍵 fire1:space鍵 fire2:return

        3.新建腳本:TankMovement

        public class TankMovement:MonoBehaviour {

        private Rigidbody m_rigidbody;

        private float moveValue,turnValue,moveSpeed,turnSpeed;//移動(dòng)、旋轉(zhuǎn)的值和速度

        private string moveAxisName,turnAxisName;

        public int playerNum;//玩家序號(hào)

        void Start () {

        m_rigidbody = GetComponent();//獲取坦克身上的剛體組件

        moveAxisName = "Vertical" + playerNum;

        turnAxisName = "Horizontal" + playerNum;

        }

        void Update () {

        moveValue = Input.GetAxis(moveAxisName);//按左右鍵或a、d鍵

        turnValue = Input.GetAxis(turnAxisName);//按上下鍵或w、s鍵

        }

        void FixedUpdate() { //物理更新,一直按0.02秒進(jìn)行更新

        Move(); Turn();

        }

        void Move(){ //移動(dòng)

        Vector3 movements=transform.forward*moveValue* Time.delta Time *moveSpeed;

        m_rigidbody.MovePosition(m_rigidbody.position + movements);//實(shí)現(xiàn)移動(dòng)

        }

        void Turn() { //旋轉(zhuǎn)

        float turn = turnValue * Time.deltaTime * turnSpeed;//具體的旋轉(zhuǎn)角度

        Quaternion turnRotation = Quaternion.Euler(0,turn,0);//繞y軸旋轉(zhuǎn)

        m_rigidbody.MoveRotation(m_rigidbody.rotation * turnRotat-ion);

        } }

        4.將腳本拖放在兩上Tank上,分別設(shè)置其playNam為1、2,為防止坦克飛起來,可如圖將坦克預(yù)設(shè)體鎖定。

        三、發(fā)射炮彈

        1.在Tank游戲?qū)ο笊闲陆諏?duì)象:TankShellPos,調(diào)整在槍口位置:通過Left視圖進(jìn)行調(diào)整,繞X軸旋轉(zhuǎn)-15度。

        2.從Shell中拖出子彈Shell,添加剛體,拖到項(xiàng)目視圖Prefabs中為預(yù)設(shè)體,將場景中的子彈刪除。

        3.新建TankShotting:

        public class TankShotting :MonoBehaviour {

        private string fireButton;

        public int playerNum;//玩家編號(hào)

        public Rigidbody shell;//炮彈

        public Transform fireTransform;//攻擊位置

        void Start () {

        fireButton = "fire" + playerNum;

        }

        void Update () {

        if (Input.GetButtonDown(fireButton)) {

        Fire();

        } }

        void Fire() {

        Rigidbody shellInstance=Instantiate(shell,fireTransform.position,fireTransform.rotation);

        shellInstance.velocity = fireTransform.forward * 10;//給炮彈添加速度

        } }

        4.將腳本TankShotting掛在Tank上,并進(jìn)行設(shè)置,然后點(diǎn)擊Apply按鈕,在Tank1上,設(shè)置player Num為2。

        四、運(yùn)行游戲

        一個(gè)用戶可通過按adsw和Enter鍵控制一輛坦克進(jìn)行射擊,另一個(gè)用戶可通過按↑↓→←和Space控制另一輛坦克進(jìn)行移動(dòng)射擊。

        五、小結(jié)

        Unity是一款全面整合的專業(yè)游戲引擎,開發(fā)者編寫少量腳本就可輕松創(chuàng)建三維游戲。

        參考文獻(xiàn):

        Unity Technologies. Unity 5.X從入門到精通[M].中國鐵道出版社,2016.

        猜你喜歡
        雙人剛體腳本
        酒駕
        雙人面具
        ——為小提琴與鋼琴而作
        黃河之聲(2021年19期)2021-02-24 03:25:26
        安奇奇與小cool 龍(第二回)
        差值法巧求剛體轉(zhuǎn)動(dòng)慣量
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        車載冷發(fā)射系統(tǒng)多剛體動(dòng)力學(xué)快速仿真研究
        快樂假期
        “雙人運(yùn)球”樂翻天
        “雙人運(yùn)球”樂翻天
        剛體定點(diǎn)轉(zhuǎn)動(dòng)的瞬軸、極面動(dòng)態(tài)演示教具
        久久精品这里就是精品| 国产成人vr精品a视频| 国产亚洲欧美在线观看的| 看全色黄大色大片免费久久久| 日本加勒比精品一区二区视频| 亚洲人成网线在线播放va蜜芽 | 末成年人av一区二区| 亚洲中文字幕在线观看| 欧美亚洲综合激情在线| 91亚洲国产成人久久精品网站| 少妇连续高潮爽到抽搐| 日韩欧美人妻一区二区三区| 人妻丰满多毛熟妇免费区| 高清亚洲精品一区二区三区| 国产视频自拍一区在线观看| 亚洲精品美女久久久久99| 日韩中文在线视频| 中文字幕人妻激情在线视频| 天天爽夜夜爽夜夜爽精品视频| 国产精品国产成人国产三级| 99色网站| 国产精品久久久黄色片| 蜜桃一区二区三区| 日韩A∨精品久久久久| 亚洲黄色官网在线观看| 国产综合精品久久99之一| 国产丝袜无码一区二区三区视频| 色综合久久久久综合999| 精品麻豆一区二区三区乱码| 国内精品久久久久影院薰衣草 | 日本在线观看三级视频| 领导边摸边吃奶边做爽在线观看| 国产在线观看免费观看| 国产成人自拍视频在线免费| 99精品国产一区二区三区| 中文字字幕在线精品乱码| 国产欧美日韩不卡一区二区三区| 亚洲日产乱码在线中文字幕| 亚洲av日韩av天堂久久| 美女啪啪国产| 亚洲天堂av路线一免费观看|