Unity中FPS类小游戏的简单制作
1.摄像机放Player上,射线机代码
using UnityEngine;
using System.Collections;public class Camera : MonoBehaviour {public GameObject player;private Vector3 rot = new Vector3(0, 0, 0);public float speed;// Use this for initializationvoid Start() {}// Update is called once per framevoid Update() {Move111();}void Move111() {float MouseX = Input.GetAxis("Mouse X") * speed;float MouseY = Input.GetAxis("Mouse Y") * speed;rot.x = rot.x - MouseY;rot.y = rot.y + MouseX;rot.z = 0;transform.eulerAngles = rot;player.transform.eulerAngles = new Vector3(0, rot.y, 0);if (rot.x <= -70) {transform.eulerAngles = new Vector3(-70, rot.y, 0);}if (rot.x >= 10) {transform.eulerAngles = new Vector3(10, rot.y, 0);}}
}
2.僵尸身上的代码
using UnityEngine;
using System.Collections;public class XunLu : MonoBehaviour {GameObject tar;public float speed;float dis;Animator anim;//NavMeshAgent mynav;// Use this for initializationvoid Start() {anim = GetComponent<Animator>();tar = GameObject.Find("Ppp");}// Update is called once per framevoid Update() {/* mynav.*/ //此处不可以,寻找的是mynavGetComponent<NavMeshAgent>().SetDestination(tar.transform.position);GetComponent<NavMeshAgent>().speed = speed;Donghua();}void Donghua() {dis = Vector3.Distance(transform.position, tar.transform.position);if (dis <= 1.5f + 0.5f) {anim.SetBool("New Bool", true);} else {anim.SetBool("New Bool", false);}}
}
3.Player身上的配合角色控制器的代码
using UnityEngine;
using System.Collections;public class Ppp : MonoBehaviour {public float speed = 6.0F;public float jumpSpeed = 8.0F;public float gravity = 20.0F;private Vector3 moveDirection = Vector3.zero;void Update() {CharacterController controller = GetComponent<CharacterController>();if (controller.isGrounded) {moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));moveDirection = transform.TransformDirection(moveDirection);moveDirection *= speed;if (Input.GetButton("Jump"))moveDirection.y = jumpSpeed;}moveDirection.y -= gravity * Time.deltaTime;controller.Move(moveDirection * Time.deltaTime);}
}
4.游戏控制器代码
using UnityEngine;
using System.Collections;public class GameCotroller1 : MonoBehaviour {public GameObject[] ZuoBiao;public GameObject Enemy;public GameObject Q1;public GameObject Q2;int i = 0;// Use this for initializationvoid Start() {StartCoroutine("Spawn");}// Update is called once per framevoid Update() {Shexian();HuanQ();}IEnumerator Spawn() {while (true) {int i = Random.Range(0, 4);Instantiate(Enemy, ZuoBiao[i].transform.position, ZuoBiao[i].transform.rotation);yield return new WaitForSeconds(Random.Range(2.0f, 3.0f));}}public void Shexian() {RaycastHit hit;Vector3 rayPosition = new Vector3(Camera.main.pixelWidth * 0.5f, Screen.height * 0.5f);Ray ray = Camera.main.ScreenPointToRay(rayPosition); //定义准备一条射线if (Input.GetMouseButtonDown(0)) {Physics.Raycast(ray, out hit);if (hit.transform.tag == "Enemy") {hit.transform.gameObject.GetComponent<Animator>().SetTrigger("New Trigger");hit.transform.gameObject.GetComponent<NavMeshAgent>().Stop();Destroy(hit.transform.gameObject, 3.0f);hit.transform.gameObject.GetComponent<CapsuleCollider>().enabled = false;}}}void HuanQ() {if (Input.GetKeyDown("q")) {i = i + 1;//1 2if (i % 2 != 0) {Q1.SetActive(false);Q2.SetActive(true);print("1111");}if (i % 2 == 0) {print("2222");Q2.SetActive(false);Q1.SetActive(true);}}}
}
代码下载:
Unity中FPS类小游戏的简单制作相关推荐
- 用代码制作小游戏:简单制作给孩子幸福童年
利用jQuery实现拼图游戏: 代码结构 引入CSS 1.<link rel="stylesheet" href="css/index.css"> ...
- java俄罗斯方块七中图形类_shell中的俄罗斯方块小游戏
搜索热词 俄罗斯方块的shell脚本 #!/bin/Bash # Tetris Game #APP declaration APP_NAME="${0##*[\\/]}" APP_ ...
- 在Unity中为即时战略游戏实现战争迷雾(上)
本文将由游戏开发工程师Ariel Coppes分享在Unity中为即时战略游戏实现战争迷雾效果. 过去三年中,我一直在Ironhide Game Studio开发移动即时战略游戏<钢铁战队> ...
- Unity 之 转微信小游戏本地数据存储方法分享
Unity 之 转微信小游戏本地数据存储 问题背景 微信小游戏读写本地文件 WebGL平台的一些限制 报错查看方法分享 问题背景 近期在将Unity转换为小游戏的时候发现在读写本地文件的时候,使用Ap ...
- 在Unity中为即时战略游戏实现战争迷雾(下)
本文将在Unity中为即时战略游戏实现战争迷雾的一种新方法. 在上一篇文章中,游戏开发工程师Ariel Coppes分享了<钢铁战队>中战争迷雾效果的实现方法,本文他将介绍新的一种实现方法 ...
- HTML5 Canvas 射击类小游戏 平滑的移动 思路
这篇博客主要讲了如何处理HTML5 Canvas 游戏中的角色移动问题. 笔者这几天做了一个 HTML5 Canvas 的射击类小游戏,嗯,名字叫做<DroppingBalls>,大概就是 ...
- Unity牧师与魔鬼小游戏(动作分离版)
Unity牧师与魔鬼小游戏(动作分离版) 前言 这是中大计算机学院3D游戏编程课的一次作业,在这里分享一下设计思路. 主要代码上传到了gitee上,请按照后文的操作运行. 项目地址:https://g ...
- 微信小游戏|unity搭建3D篮球小游戏场景
欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 欢迎加入团队圈子!与作者面对面!直接点击! 问题描述 上一次小 ...
- 自制Unity小游戏TankHero-2D(1)制作主角坦克
自制Unity小游戏TankHero-2D(1)制作主角坦克 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的. ...
最新文章
- springMVC自定义全局异常
- 在Linux环境安装memcached
- 易语言金盾4.0登陆特征码
- HDFS2.x之RPC流程分析
- 初识图机器学习(part3)--图数据挖掘
- java驱动pl sql优点_用PL/SQL和Java开发Oracle8i应用程序
- linux桌面下安装pptp,Linux下安装PPTP客户端
- c 更新mysql数据_MySQL插入更新删除数据
- 视频编解码(十):FFMPEG操作总结二
- QT的安装及环境配置
- Atitit uke plnsy安全隐私保护法案 目录 第一章 一般规定	2 第1节 主题与目标	2 第二章 常见安全原则	3 第1节 隔离 保密 shell	3 第2节 隐藏 保密 不出头	3
- vscode安装 Fira Code 编程字体,编程符号更精致美观
- Windows系统服务器系统日志在哪里查看?
- LED显示行业之知识大全3
- 浙江大学计算机2018分数线,浙江大学2018多少录取分数线
- 深入研究webrtc平滑发送(paced sender)
- 初步学习网站分析工具
- 云服务器添加交换分区
- 将Jetson XavierNX的Ubuntu系统迁移至到nvme固态硬盘上
- 026 三角函数求导公式推导