当前位置: 首页 > article >正文

Unity实现原始的发射子弹效果

  • 1 创建一个炮塔,按下空格-坦克会发射一个小球
  • 2.小球会掉在地上滚下来-添加组件
  • 3 间隔几秒后自动销毁
  • 程序逻辑:1.在场景中创建一个炮塔\子弹拿到代码里的变量里
  • 程序逻辑: 2.if语句检测用户有没有按下空格
  • 程序逻辑: 3.在炮塔坐标的位置,克隆子弹
  • 程序逻辑: 4.接着让子弹用translate()往Y轴方向移动
  • 程序逻辑: 5 接着让子弹添加Rigibody组件

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

public class RoleControl : MonoBehaviour
{
    程序逻辑:1.在场景中创建一个炮塔\子弹拿到代码里的变量里
    //程序逻辑: 2.if语句检测用户有没有按下空格
    //程序逻辑:  3.在炮塔坐标的位置,克隆子弹
    //程序逻辑:    4.接着让子弹用translate()往Y轴方向移动
    //程序逻辑:    5 接着让子弹添加Rigibody组件

    GameObject Tanke001;
    GameObject Zidanmuban001;
    GameObject CloneFather;
    GameObject TempObj;//这个变量用来存储临时克隆的物体子弹

   public float speed = 1;
    void Start()
    {
        Tanke001 = GameObject.Find("MainRole");
        Zidanmuban001 = GameObject.Find("ZidanMuban");
        CloneFather = GameObject.FindGameObjectWithTag("FatherClone");
        
    }

    // 
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space)||Input.GetMouseButtonDown(0))
        {
            //用户按下了鼠标左键或者空格 克隆
            CloneZIdan();
        }

        if (TempObj!=null)
        {
            TempObj.transform.Translate(new Vector3(0, 1* speed*Time.deltaTime, 0));
        }

        GameObject.Destroy(TempObj, 3f);
    }

    void CloneZIdan()//用来发射
    {
        Debug.Log("这里去发射子弹");

        TempObj =   GameObject.Instantiate(Zidanmuban001, new Vector3(Tanke001.transform.position.x, Tanke001.transform.position.y, Tanke001.transform.position.z+1),Quaternion.Euler(90,0,0), CloneFather.transform);
        TempObj.AddComponent<Rigidbody>();
     }
}
 


http://www.kler.cn/news/319253.html

相关文章:

  • Python+appium自动化+夜神模拟器inspector部署验证
  • TypeScript系列:第四篇 - typeof 与 keyof
  • 微信小程序06-综合项目点餐系统
  • 京准电钟:NTP网络校时服务器助力校园体育场馆
  • MySQL 8.0 与 8.4 主主同步
  • E+H超声波物位仪FMU42-ATB2A22A
  • 企业内训|华为昇腾智算中心深度技术研修-某智算厂商研发中心
  • mysql RR是否会导致幻读?
  • [Redis][事务]详细讲解
  • 激光粉尘传感器:筑牢粮仓安全防线,有效应对粮食粉尘爆炸高危风险
  • 为什么一定要学AI(Stable Diffusion)做设计? 会用AI和不会用AI的区别真的太大了!打工人一定要看!
  • SQL中的WITH AS语法
  • Java项目中异常处理的最佳实践
  • nginx+keepalived健康检查案例详解(解决nginx出现故障却不能快速切换到备份服务器的问题)
  • 【Java特性】多态详解——对象类型转换与 instanceof 关键字的运用
  • python使用vscode 所需插件
  • VCS和Verdi联合仿真使用学习记录
  • 哪里有同等学力申硕英语历年真题答案
  • 计算机知识科普问答--17(81-85)
  • pg入门5—pg有哪些系统schema
  • git add成功后忘记commit的文件丢了?
  • Linux、Windows、Android下查看可执行文件、动态库和静态库信息的命令
  • 数据结构|二叉搜索树
  • ProgrammerAI—AI辅助编程学习指南
  • 前端实现将二进制文件流,并下载为excel文件
  • HarmonyOS鸿蒙开发实战(5.0)自定义全局弹窗实践
  • 缓存技术的核心价值与应用
  • android studio 批量修改包名 app package name
  • 技术周总结 09.16~09.22 周日(架构 C# 数据库)
  • 基于Java,SpringBoot和Vue的仓库管理商品管理电商后台管理系统