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

【Unity完整游戏开发案例】从0做一个太空大战游戏

 

1.实现飞机移动控制
 

  // 这个脚本实现控制飞机前后移动,方向由鼠标控制
    //1.WS控制前后移动2.鼠标控制上下左右旋转3.AD控制倾斜

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerController : MonoBehaviour
{// 这个脚本实现控制飞机前后移动,方向由鼠标控制//1.WS控制前后移动2.鼠标控制上下左右旋转3.AD控制倾斜//2025.4.2@leoyang public GameObject PlayerPlane;public float Speed=10f;public float RotateSpeed = 5f;
//---------------------void Update(){if (Input.GetKey(KeyCode.W)){PlayerPlane.transform.Translate(new Vector3(0, 0, 1* Speed * Time.deltaTime));}if (Input.GetKey(KeyCode.S)){PlayerPlane.transform.Translate(new Vector3(0, 0,-1* Speed*Time.deltaTime));}if (Input.GetKey(KeyCode.A)){PlayerPlane.transform.Rotate(new Vector3(0, 0, 1* RotateSpeed*Time.deltaTime));}if (Input.GetKey(KeyCode.D)){PlayerPlane.transform.Rotate(new Vector3(0, 0, -1 * RotateSpeed * Time.deltaTime));}}
}

第二版

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerController : MonoBehaviour
{// 这个脚本实现控制飞机前后移动,方向由鼠标控制//1.WS控制前后移动2.鼠标控制上下左右旋转3.AD控制倾斜//2025.4.2@leoyang public GameObject PlayerPlane;public float Speed=10f;public float RotateSpeed = 5f;public float ViewRotateSpeed = 10f;//---------------------private void Start(){Cursor.lockState = CursorLockMode.Locked;}void Update(){MoveController();ViewController();}/// <summary>/// 控制飞机基本移动/// </summary>void MoveController(){float tempValue = Input.GetAxis("Vertical");PlayerPlane.transform.Translate(new Vector3(0, 0, tempValue * Speed * Time.deltaTime));float tempADValue = Input.GetAxis("Horizontal");PlayerPlane.transform.Rotate(new Vector3(0, 0, tempADValue * RotateSpeed * Time.deltaTime));}/// <summary>/// 这个函数是通过鼠标控制视角方向/// </summary>void ViewController(){//Input.mousePosition.xfloat RotateXValue= Input.GetAxis("Mouse X");PlayerPlane.transform.Rotate(new Vector3(0, RotateXValue * ViewRotateSpeed*Time.deltaTime,0));float RotateYValue = Input.GetAxis("Mouse Y");PlayerPlane.transform.Rotate(new Vector3(RotateYValue * ViewRotateSpeed*Time.deltaTime,0,0));}
}


http://www.mrgr.cn/news/100522.html

相关文章:

  • 罗伯·派克:Go语言创始者的极客人生
  • 【Java面试题02】Java 集合常见面试题
  • 【数据结构】哈希表
  • 如何搭建spark yarn模式的集群
  • Qt中的全局函数讲解集合(全)
  • gem5-gpu教程03 当前的gem5-gpu软件架构(因为涉及太多专业名词所以用英语表达)
  • 刷刷刷刷刷RCE
  • 初识Redis · 哨兵机制
  • git检查提交分支和package.json的version版本是否一致
  • 【Linux应用】开发板快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互(RADXA ZERO 3为例)
  • Python+Selenium+Pytest+Allure PO模式UI自动化框架
  • Java 富文本转word(支持水印)
  • 关于Spring Boot构建项目的相关知识
  • ubuntu 安装ollama后,如何让外网访问?
  • 继续 那个错误分析
  • JVM常见的垃圾回收器
  • 网络:手写HTTP
  • cocos creator使用jenkins打包流程,打包webmobile
  • Python3:Jupyter Notebook 安装和配置
  • Crawl4AI 部署安装及 n8n 调用,实现自动化工作流(保证好使)