zoukankan      html  css  js  c++  java
  • Fire Balls 06——坦克和子弹的制作以及炮台发射子弹

    版权申明:

    • 本文原创首发于以下网站:
    1. 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123
    2. 优梦创客的官方博客:https://91make.top
    3. 优梦创客的游戏讲堂:https://91make.ke.qq.com
    4. 『优梦创客』的微信公众号:umaketop
    • 您可以自由转载,但必须加入完整的版权声明

    目标:

    • 坦克和子弹预制体的制作
    • 脚本编写子弹的发射

    坦克和子弹预制体的制作

    • 首先我们先新建一个空的GameObject重命名为Tank然后在其子节点创建一个Cube调整至合适的大小,调整完成后我们复制一个同样的Cube并把它旋转90度,调整至如下图所示
    • 这样我们的坦克便制作完成了,然后我们在场景中新建一个Sphere并重命名为Projectile并把我们的子弹调整至合适的大小,添加上Rigidbody,并把我们制作完成的物体保存到文件夹下就可以了

    脚本编写子弹的发射

    • 首先我们打开Tank的预制体并且新建一个空的Ganmeobject改名为ShotPos并把位置调整至合适的坐标
    • 作为我们炮弹的发射点,然后我们在Tank下新建一个脚本命名为Tank并打开编写如下代码:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Tank : MonoBehaviour
    {
    	public GameObject projPrefab; // 要发射的子弹的预制体
    
    	public Transform shotPos; // 要发射的子弹的位置
    
    	private float lastFireTime; // 上一次发射的时间
    
        // Start is called before the first frame update
        void Start()
        {
            
        }
    
        // Update is called once per frame
        void Update()
        {
            if (Input.GetButton("Fire1")
    			&& Time.time - lastFireTime > 0.2f)
    		{
    			// 实例化(从预制体克隆)一个子弹
    			var transProj = Instantiate(projPrefab).transform;
    
    			// 设置子弹的位置在坦克设定好的炮口位置
    			transProj.SetParent(this.transform, false);
    			transProj.position = shotPos.position;
    			Vector3 v = shotPos.forward * 100;
    			transProj.GetComponent<Rigidbody>().AddForce(v, ForceMode.Impulse);
    
    			Destroy(transProj.gameObject, 2f);
    
    			lastFireTime = Time.time;
    		}
        }
    }
    
    • 然后保存并关闭我们的脚本,最后把我们的刚刚制作的预制体和ShotPos拖给脚本上的Public变量。
    • 最后打开游戏我们按下鼠标左键就能发射炮弹啦!
  • 相关阅读:
    iOS开发
    金额的存储处理及显示
    jquery.validate验证表单
    js获取当前日期时间
    使用Bootstrap插件datapicker获取时间
    使用Bootstrap的suggest下拉插件
    动态菜单树加载过程
    043 组合数据类型小结
    038 序列类型操作-元组类型和列表类型
    033 模块4-PyInstaller库的使用
  • 原文地址:https://www.cnblogs.com/raymondking123/p/11445369.html
Copyright © 2011-2022 走看看