美文网首页虚假的游戏制作人
unity切换武器2019-04-23

unity切换武器2019-04-23

作者: 愉快先生 | 来源:发表于2019-04-23 08:09 被阅读0次

文章末尾有weapon(武器切换)脚本和shooting(射击)脚本

  • gameobject->creat empty child更名为weapons(新建一个空物体)
  • weapon脚本
    如下:
如此挂载 weapon脚本文章末尾有源码,按图挂载 gun_end是发射子弹的枪口,空物体,shooting脚本里面写开枪减san值等等 ax脚本里写鼠标左键斧头挥砍回san

weapon 脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class weapon : MonoBehaviour
{
    //此脚本托给gameobject->creat empty child更名为weapons

    public int count = 2;//用来判断按键次数

    private void Start()
    {
        SelectWeapon(0);//默认第0把武器 枪
    }

    void SelectWeapon(int index) {//选择武器函数
        for (var i = 0; i < transform.childCount; i++) {
            if (i == index)
            {
                transform.GetChild(i).gameObject.SetActive(true);

            }
            else transform.GetChild(i).gameObject.SetActive(false);

        }
    


    }

    
    void Update()
    {
        
        if (Input.GetKeyDown(KeyCode.V))//判断按键V次数,调用selectweapon 方法
        {
            count=count+1;
            if (count % 2 == 0)
            { SelectWeapon(0);
            }
            else 
            {
                SelectWeapon(1);
            }

        }
        Debug.Log(count);
        
    }
}



shooting(开枪)脚本:

using System.Collections;
using System.Collections.Generic;
using System.Threading;
using UnityEngine;
using UnityEngine.UI;
//子弹拖到场景成为预设。
//shooting脚本拖到gunend(枪口,空物体)
//传两个参数,一个是子弹,一个(gunEnd)枪口
public class shooting : MonoBehaviour
{
    public Rigidbody prebullet;
    public Transform gunEnd;
    public int shellCount = 100;//  一个  弹夹的子弹数量
    public Text bulletText;
    private int score;
    public Text scoreText;

    void Start()
    {
        score = 0;

    }




    // Update is called once per frame
    void Update()

    {
        if (shellCount > 0) { shootbullet(); }
        else {
            Debug.Log("没子弹了");//!!!直接退出程序,要完善!!!
        }
       

    }
 
    void shootbullet()

    {//开火::生成一大堆子弹,把前面的都复制了,原因是我绑到了子弹上
        if (Input.GetButtonDown("Fire1"))
        {
            Debug.Log("biubiubiu"); 
            Rigidbody bulletini;
            bulletini = Instantiate(prebullet, gunEnd.position, gunEnd.rotation);
            bulletini.AddForce(gunEnd.forward * 1200);// 加速度AddForce函数,这里速度过快会把模型穿透
            Destroy(bulletini.gameObject, 5);           //销毁子弹
            shellCount--;
            bulletText.text = shellCount.ToString();//转成文字类型,报错,要在属性中指定一下
 
        }
    }


    public void AddScore(int newScore)
    {

        score += newScore;
        UpdateScore();

    }
    void UpdateScore()
    {
        scoreText.text = " " + score;
    }
}



相关文章

  • unity切换武器2019-04-23

    文章末尾有weapon(武器切换)脚本和shooting(射击)脚本 gameobject->creat empt...

  • Unity和Android通信系列文章2——扩展UnityPla

    1.Unity这边开发完成后,导出Android工程。 将unity切换到android环境,勾选Export P...

  • Unity场景切换

    场景切换在游戏中很常见。 切换其他场景比如点击start按钮后开始游戏。代码如下: 这里的场景名start_gam...

  • unity武器拖尾

  • 文章合集

    Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换 https://gameinstitu...

  • unity切换场景

    https://docs.unity3d.com/ScriptReference/SceneManagement....

  • Unity 快速平台切换

    https://www.assetstore.unity3d.com/en/#!/content/11134本文参...

  • Unity 多场景切换

    一个游戏中可以有多个场景,且场景间可以切换,场景文件*.unity 场景中包含的是游戏对象(节点) 组件 资源的引...

  • 2020-11-09

    跳跃类手游 3头6臂,切换武器,切换跳跃高度,远度 攻击力 有重力,切换后重力变化 从一个小鬼,慢慢升级为判官或者...

  • unity学习记录-ex03

    主功能实现:右键切换不同子弹\简单collider增加武器\ObjectPool ObjectPool 为了节省资...

网友评论

    本文标题:unity切换武器2019-04-23

    本文链接:https://www.haomeiwen.com/subject/qvhmgqtx.html