鼠标控制人物旋转方向

  • 前言
  • 一、准备一些Object
  • 二、代码示例
    • 1.Player脚本
    • 2.PlayerController脚本
    • 3.Hierarchy面板
  • 总结

前言

演示


提示:以下是本篇文章正文内容,下面案例可供参考

一、准备一些Object

示例:准备Player,Plane,Obstacle

二、代码示例

1.Player脚本

代码如下(示例):

/****************************************************文件:Player.cs作者:HKZ邮箱: 3046916186@qq.com日期:2022/1/9 12:2:45功能:Player输入(把此脚本挂在Player物体上)
*****************************************************/using UnityEngine;namespace HKZ
{[RequireComponent(typeof(PlayerController))]public class Player : MonoBehaviour{[SerializeField]private float moveSpeed = 5.0f;private Camera viewCamera;private PlayerController playerController;private void Start(){playerController = GetComponent<PlayerController>();viewCamera = Camera.main;}private void Update(){//Movement InputVector3 moveInput = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));Vector3 moveVelocity = moveInput.normalized * moveSpeed;playerController.Move(moveVelocity);//Look InputRay ray = viewCamera.ScreenPointToRay(Input.mousePosition);Plane groundPlane = new Plane(Vector3.up, Vector3.zero);float rayDistance;if (groundPlane.Raycast(ray, out rayDistance)){Vector3 point = ray.GetPoint(rayDistance);//Debug.DrawLine(ray.origin, point, Color.red);playerController.LockAt(point);}}}
}

2.PlayerController脚本

代码如下(示例):

/****************************************************文件:PlayerController.cs作者:HKZ邮箱: 3046916186@qq.com日期:2022/1/9 12:2:59功能:PlayerController方法
*****************************************************/using UnityEngine;namespace HKZ
{[RequireComponent(typeof(Rigidbody))]public class PlayerController : MonoBehaviour{private Vector3 velocity;private new Rigidbody rigidbody;private void Start(){rigidbody = GetComponent<Rigidbody>();}private void FixedUpdate(){rigidbody.MovePosition(rigidbody.position + velocity * Time.fixedDeltaTime);}public void Move(Vector3 moveVelocity){velocity = moveVelocity;}public void LockAt(Vector3 point){Vector3 heightCorrectedPoint = new Vector3(point.x, transform.position.y, point.z);transform.LookAt(heightCorrectedPoint);}}
}

3.Hierarchy面板


总结

【Unity】射击小游戏相关推荐

  1. Unity3D 2D射击小游戏瞄准线的实现

    Unity3D 2D射击小游戏瞄准线的实现 0. 前言 本片文章是对 https://www.bilibili.com/video/bv1sY411V7tx 视频中瞄准线是如何实现的一个讲解教程,欢迎 ...

  2. 基于pygame的射击小游戏制作(一)让飞船动起来

    基于pygame的射击小游戏制作(一)让飞船动起来 一.文件结构 alien_invasion.py 是整个系统的主文件,用来创建游戏中的一系列对象,ai_settings存储设置.screen存储显 ...

  3. 基于html+JavaScript+css的飞机射击小游戏网页设计与实现

    资源下载地址:https://download.csdn.net/download/sheziqiong/86954471 资源下载地址:https://download.csdn.net/downl ...

  4. 坦克射击小游戏(后续将会升级功能)

    坦克射击小游戏(后续将会升级功能) 总体框架 关键技术 未来版本 我的Github 游戏源码在我的Github,感兴趣的的帮忙给颗星呀,并加入我们吧~ 这是我跟着b站韩顺平老师学的一个很锻炼基础的小项 ...

  5. 射击小游戏源码《90坦克大战》源码H5+安卓+IOS三端源码

    cocos creator2.2.2射击小游戏源码<90坦克大战>源码H5+安卓+IOS三端源码,开发脚本为javaScript方便扩展和阅读,支持cocos creator2.X版本,完 ...

  6. Java 飞机射击小游戏

    文章目录 前言 一.系统分析 问题描述 总体设计 功能流程图 二.程序和算法的介绍 FlyingObject(本机和所有敌机父类) Airplane(小敌机类) Bee(小蜜蜂敌机类) Bullet( ...

  7. Java面向对象(6) —— 射击小游戏

    这里做一个射击小游戏,作为对前面Java学习的一个小结. 1.设计 2.知识点总结 主要是在主程序ShootGame.java中引入了一些新知识,swing画图.定时器.鼠标事件处理.其他程序则主要体 ...

  8. 【转载】c++射击小游戏

    转载于:https://www.jb51.net/article/170405.htm 这篇文章主要为大家详细介绍了C++实现简单射击小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小 ...

  9. Android 自定义View实现炮弹射击小游戏

    先看效果图: 这是一个比较简易的射击小游戏,后期可以将圆球,炮筒用其它图片来替换,应该可以变得好看一些.我实现这个效果,主要是为了学习和巩固自定义View的一些知识点.下面我来讲述一下本游戏的设计思路 ...

  10. 使用construct2制作射击小游戏

    使用construct2制作射击小游戏 简介 本次我们使用construct2制作一个HTML5 射击小游戏. 目的是player方向由鼠标操控,移动由键盘控制,同时拥有计分标志. 背景 建立好新空白 ...

最新文章

  1. jenkins java传递变量,jenkins实现tag构建传入变量不生效的情况解决
  2. Ubuntu如何卸载安装的软件以FileZilla为例
  3. 云计算管理工具:根植热土
  4. java文件下载出现文件名乱码解决办法
  5. java共享锁排它锁_java 实现共享锁和排它锁
  6. JVM 自定义的类加载器的实现和使用
  7. BCGSoft Demo示例展示:对话框示例
  8. stm32f1的存储器与复位
  9. linux操作系统的体系结构
  10. python使用redis_使用Python构建您的第一个Redis Hello World应用程序
  11. 【Python3网络爬虫开发实战】1.6.2-Tornado的安装
  12. 河北科技大学计算机考研率,河北科技大学研究生,河北科技大学考研率!
  13. 手动抛出异常_超实用:关于Java异常设计和处理
  14. 一文入门RTCM协议及其Message Decode
  15. wxparse的使用php返回数组输出,小程序应用实践:wxParse多数据循环使用方法
  16. 单片机程序如何反编译成C语言,如何实现单片机程序代码的反汇编
  17. 自定义计时器_笑死我了_哈哈哈哈哈嗝儿
  18. 《数据结构》-图的邻接表表示法(四)
  19. 行人重识别的挑战 与 最新进展 (35页PPT整理)
  20. 通过数据了解用户——数据在新品设计中的应用

热门文章

  1. 欧拉定理和费马小定理
  2. 2016民用安防2.0时代重新起航
  3. 再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高
  4. 以太坊分片Sharding FAQ
  5. 网易邮箱(126/163):授权码获取攻略
  6. Android日常整理(一)---android返回键、Fragment、android分割线、button图片间距的设置
  7. [爬虫] Python监测L优惠券发放网站并通过邮件通知我
  8. 美国TOP100大学优势专业位置分布!长篇吐血整理!
  9. Unity3D数字孪生开发笔记——软件基础篇
  10. 《地理天机一贯 》   聚宝馆手抄珍稀古籍分享