国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Unity C# 初級編程| 10 . 角色跳躍練習

2021-03-29 19:08 作者:那個人真狗  | 我要投稿

實現(xiàn)物體跳躍

  • 創(chuàng)建倆個物體一個角色,一個地面。



  • 給操作物體增加一個物理碰撞,

  • 因為是2D游戲,所以3D物體使用2D碰撞也是沒有關系的。

    所以地面也想要增加一個碰撞

  • 調整物體位置高一點,設置一下重力

  • 調整攝像機在游戲視圖顯示成2D效果

  • 創(chuàng)建一個腳本—MyJump跳

  • 制作前思考一下,需要怎么制作。

    • 根據(jù)我們前面學習到的知識,前制作一個左右移動

    • 那就需要一個移動速度

    • 需要我們對這個物體操作

  • 前創(chuàng)建倆個變量

  • 一個是指定我們的物體 ? ?一個是設置移動速度

    Stadt() ?腳本執(zhí)行調用一次

  • 執(zhí)行的時候調用我們的這個物體

    • 前使用我們原來學習過的方法制作一個左右位移動

    • 定義一個局部變量 ?moveInput ? (移動輸入)

  • 使用位移函數(shù)

  • 這個效果制作完了,確定是可以位移了,可以會插到墻壁里面

  • 這不是我們想要的效果????????????????????????

  • 準備使用第二種 新的位移方式 控制碰撞體移動

  • Rigidbody.velocity (剛體的速度向量)


    • rb 就是這個物體 ?velocity ?當前速度, ? ?改變這個當前速度,就可以了,

    擴展


  • Rigidbody.velocity ? ? ? ? ? ? ? ? ? ? ? ? ?剛體速度

    給我剛體一個速度:

    horizontal = Input.GetAxis("Horizontal");

    vertical = Input.GetAxis("Vertical");

    direction = new Vector3(horizontal,0f,vertical);

    rb.velocity = speed * direction;

  • Rigidbody.MovePosition() ? ? ? ? ? ? ?移動剛體位置

    移動到新的position:

    Vector3 movement; float h = Input.GetAxisRaw("Horizontal");

    float v = Input.GetAxisRaw("Vertical");

    movement.Set(h, 0f, v);

    movement = movement.normalized * speed * Time.deltaTime;

    playerRigidbody.MovePosition(transform.position + movement);

  • Rigidbody.AddForce ? ? ? ? ? ? ? ? ? ? ? ?給剛體一個力

    rb.AddForce(transform.forward * thrust);

    public float thrust;

    rb.AddForce(0, 0, thrust, ForceMode.Impulse);


注意:

為什么不使用第一種方法,是因為我們如果碰到豎著的墻面會插入墻壁,使用第二種碰撞正好

設置這個物體

第二個階段 設置跳

  • 新建一個布爾類型的變量,判斷,角色是否跳起來了,

  • 第二個步是,需要一個位置類型,判斷角色是否站到平面上。所以需要創(chuàng)建一個Transform類型

    還需要一個判斷這個位置半徑的變量。(float類型)

  • 還需要判斷一下和那個層級發(fā)生檢測

  • 那看一下外部屬性

  • 做這一步的目的是判斷是否可以按空格

  • 定義一個新變量,控制跳起的速度

  • 外部給角色制作一個判斷地面的Transform

  • 編輯器打開主角———右建創(chuàng)建一個——命名feetPos



  • 命名,為了好在場景中看到,在右邊設置一下。

  • 這樣在場景中看到的效果就更好了。我們需要吧這個定位點放到角色腳下。

  • 指定到我們腳本的位置,設置屬性

    下面的Whadt 需要創(chuàng)建一個新的層級,

    在Layer里增加一個

  • 新的層級 Ground ?把地面物體設置這個層,

  • 表示這個人物腳點的掛點和這個物體判斷。

  • 點擊播放看一下效果

  • 現(xiàn)在的效果是按空格跳起來的時候,在按一下空格還會在跳,無限高,所以需要限制一下

  • Check Padous 判斷值太大了, 修改0.3

  • 增加三個變量

  • 點一下空格,走這一段代碼

  • 按住空格執(zhí)行下面這些代碼


  • JumpTme就是外部輸入的數(shù)值。

  • 判斷這個數(shù)值,如果大于0 就執(zhí)行起跳數(shù)值,用設置的時間減去執(zhí)行的時間。

    總結

  • JumpTime ? 表示空格鍵可以按多長時間,按的時間越長跳的越高。

  • 這個效果是實現(xiàn)按不同時間實現(xiàn)跳的高度也是不一樣的


  • JumpTime時間越大按住的跳的越高。

    正常數(shù)值0.5就差不多,


Unity C# 初級編程| 10 . 角色跳躍練習的評論 (共 條)

分享到微博請遵守國家法律
焦作市| 古丈县| 抚顺市| 合江县| 安多县| 赤城县| 诏安县| 青岛市| 泸水县| 安乡县| 武穴市| 蓬安县| 双柏县| 宁强县| 康乐县| 新乡县| 罗甸县| 临潭县| 扶风县| 剑河县| 汕尾市| 林周县| 武威市| 喜德县| 弋阳县| 邳州市| 游戏| 仁怀市| 南雄市| 丰城市| 贵州省| 图木舒克市| 平和县| 九龙坡区| 兴业县| 通城县| 棋牌| 托克托县| 江山市| 乌鲁木齐县| 保靖县|