Unity 跑酷游戏全部脚本(完结)
脚本1 触发器脚本
这个脚本是主角身上的脚本,用于检测是否碰到其他触发器,并做出对应的行为
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ColliidisonTrigger : MonoBehaviour
{
//触发检测 1.碰到金币克隆区,克隆金币 2.恐克隆怪物 3.碰撞金币 吃掉它 加分 4.碰到怪物,掉血 5碰到加速带加速、减速
//该触发检测脚本挂到 主角身上
//PlayerCont onePlayer = new PlayerCont();
GameObject BeiPengObj;
public GameObject MosterMuban;
public GameObject CloneStruFather;public GameObject JInbiMUban;
public GameObject JinbiFather;
private void OnTriggerEnter(Collider other)
{
BeiPengObj = other.transform.gameObject;
//如果碰到触发器,执行一次
Debug.Log("碰到了别人");
if (BeiPengObj.tag == "MonsterTrigger")//碰到了怪物克隆区触发器
{
CloneMonster();}
if (BeiPengObj.tag == "rCoinTrigger")//碰到了金币克隆区触发器
{
Debug.Log("kelongjinbi");
CloneCoin();
}
if (BeiPengObj.tag == "TriggerSpeedUp")//碰到了加速区触发器
{
Debug.Log("开始加速");
Speedup();
}if (BeiPengObj.tag == "Coin")//碰到了金币触发器
{
Debug.Log("吃掉,消失金币,加分");
Destroy(BeiPengObj);
addScore();
}if (BeiPengObj.tag == "Monster")//碰到了怪物障碍物
{
Debug.Log("掉血");
ScoreManager.SubBlood(); //跨类访问并执行分数类里面的掉血函数
}
}void CloneMonster()
{
for (int i = 0; i < 10; i++)
{
Vector3 ONETEMPPOS = new Vector3(156, 0, BeiPengObj.transform.position.z + 50f+i*3);
Debug.Log("克隆怪物去");
GameObject.Instantiate(MosterMuban, ONETEMPPOS, Quaternion.Euler(0, 0, 0), CloneStruFather.transform);
}
}
void CloneCoin()
{
for (int i = 0; i < 10; i++)
{
Vector3 ONETEMPPOS = new Vector3(156, 0, BeiPengObj.transform.position.z + 50f + i * 3);
Debug.Log("克隆怪物去");
GameObject.Instantiate(JInbiMUban, ONETEMPPOS, Quaternion.Euler(0, 0, 0), JinbiFather.transform);
}
}
void Speedup()
{
PlayerCont.RunSpeed = 20f;
}void addScore()
{
ScoreManager.ScoreAdd();//跨类访问并执行分数类里面的加分函数
}
}//end class
脚本2 分数管理脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ScoreManager : MonoBehaviour
{
//分数管理 血量管理
// 如果撞击到金币就加分,如果撞击到障碍物就掉血public static int CurrentScore=0;
public static int CurrentBlood = 10000;
public static void ScoreAdd()
{
Debug.Log("加分函数开始执行");
CurrentScore += 10;
Debug.Log("分:"+CurrentScore);
}
public static void SubBlood()
{
Debug.Log("掉血函数开始执行");
CurrentBlood -= 100;
Debug.Log("血:" + CurrentBlood);
}
private void OnGUI()
{
Rect oneLableRec = new Rect(100, 100, 50, 50);
GUILayout.Box(CurrentBlood.ToString(), GUILayout.Width(200), GUILayout.Height(50), GUILayout.ExpandWidth(false));
// 创建另一个矩形框,背景色为红色,边框宽度为3像素
GUILayout.Box(CurrentScore.ToString(), GUILayout.Width(200), GUILayout.Height(70), GUILayout.ExpandWidth(false));
GUILayout.TextField("", GUILayout.Width(200), GUILayout.Height(50), GUILayout.ExpandWidth(false));
}}
脚本3 空物体移动的脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerCont : MonoBehaviour
{
//Horizontal
//1.控制玩家移动,input.getaix
//2.A、D控制向左、右移动
//3.W控制跳跃
public GameObject Player;
public float LRSPEED = 10F;
public float JUMPSPEED = 5;
public static float RunSpeed;private void Start()
{
RunSpeed = 10f;
}
private void Update()
{
UserInput();
}
//*=========================
public void UserInput()
{
//Debug.Log("检测用户按下的键盘A D W");
float MoveZuoY = Input.GetAxis("Horizontal");
ControlMove(MoveZuoY);
if (Input.GetKey(KeyCode.W))
{
Jump();
}
}
void ControlMove(float ZuoyouMove)
{
Player.transform.Translate(new Vector3(ZuoyouMove * LRSPEED * Time.deltaTime, 0, 0));}
void Jump()
{
Player.transform.Translate(new Vector3(0, JUMPSPEED * Time.deltaTime, 0));
//Debug.Log("角色开始移动了");
}
private void FixedUpdate()
{
AwalysRun();
}
void AwalysRun()
{
Player.transform.Translate(new Vector3(0, 0, 1 * RunSpeed * Time.deltaTime));
}
}
相关文章:

Unity 跑酷游戏全部脚本(完结)
脚本1 触发器脚本 这个脚本是主角身上的脚本,用于检测是否碰到其他触发器,并做出对应的行为 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ColliidisonTrigger : MonoBehaviour { //触发检测 …...

凯美瑞 vs 太空船:Web3 游戏生长的两条路径
撰文:Teng Yan(0xPrismatic),Delphi Digital 研究员 编译:TinTinLand 来源:https://0xprismatic.substack.com/p/my-short-web3-gaming-thesis 经常有人问我关于 Web3 游戏的看法,所以我想以这…...

(一)正点原子I.MX6ULL kernel6.1移植
一、概述 学完了正点原子的I.MX6ULL移植,正点原子的教程是基于Ubuntu18,使用的是4.1.15的内核,很多年前的了。NXP官方也发布了新的6.1的内核,以及2022.04的uboot。 本文分享一下基于Ubuntu22.04(6.2.0-36-generic&…...

计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密,数据恢复
企业的计算机服务器为企业的数据存储提供了极大便利,也让企业的生产运行效率得到了极大提升,但是网络数据安全威胁随着技术的不断发展也不断增加。近期,云天数据恢复中心接到很多企业的求助,企业的计算机服务器遭到了mallox勒索病…...
CSS3实现动态旋转加载样式
要使用 CSS3 创建一个动态旋转加载样式,可以使用 CSS 动画和旋转变换。下面是一个简单的示例: HTML: <div class"loader"></div> CSS: .loader {width: 50px;height: 50px;border: 4px solid #3498db;b…...

【LeetCode刷题-二分查找】--658.找到K个最接近的元素
658.找到K个最接近的元素 方法一:二分查找双指针 假设数组长度为n,数组arr已经按照升序排序,可以将数组arr分为两部分,前一部分所有元素[0,left]都小于x,后一部分[right,n-1]都大于等于x,left与right都可以…...

新方向!文心一言X具身智能,用LLM大模型驱动智能小车
具身智能已成为近年来研究的热点领域之一。具身智能强调将智能体与实体环境相结合,通过智能体与环境的交互,来感知和理解世界,最终实现在真实环境中的自主决策和运动控制。 如何基于文心大模型,低成本入门“具身智能”࿰…...
mysql.sock找不到怎么解决?
当我们连接mysql时找不到mysql.sock的时候会出现下列情况: cant connect to mysql server through socket /tmp/mysql.sock 解决方法: (1)找到mysql.sock 使用 find / -name mysql.sock 进行寻找。 如果找不到,那…...
微信小程序刷新当前页面(亲测有效)
有个小功能点,需要刷新当前页面,搜索了很多地方,发现很多搜索的结果其实并不准确。 有的调用的是this.onLoad方法,有的是调用的是this.onReady方法。其实都不能满足我的要求,其实我就只是想刷新下当前页面,…...
通过拉普拉斯特征映射降维
拉普拉斯特征映射(Laplacian Eigenmaps),主要包括拉普拉斯特征映射(Laplacian Eigenmaps)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。 1 …...

【信息安全原理】——传输层安全(学习笔记)
📖 前言:为保证网络应用,特别是应用广泛的Web应用数据传输的安全性(机密性、完整性和真实性),可以在多个网络层次上采取安全措施。本篇主要介绍传输层提供应用数据安全传输服务的协议,包括&…...
GBDT减少模型偏差、随机森林减小模型方差
1、Adaboost算法原理,优缺点: 理论上任何学习器都可以用于Adaboost.但一般来说,使用最广泛的Adaboost弱学习器是决策树和神经网络。对于决策树,Adaboost分类用了CART分类树,而Adaboost回归用了CART回归树。 Adaboost…...

使用IDEA工具处理git合并后的冲突的细节
使用 IDEA 处理合并(merge) 使用IDEA处理git合并如果遇到冲突,对冲突文件的不冲突部分需要处理吗?会自动将双方不冲突的部分合并吗? 比如如下,使用 IDEA 合并 branch1 到 branch2 分支,出现了冲突,如下图…...
快速下载ChatGLM系列模型
1. 说明与步骤 在无法访问huggingface的网络环境下(或者是网速不够好时),(目前)还可以使用参考1中清华云盘的链接来下载,在linux下可以直接用如下wget命令来下载最耗时的模型部分。注意还需要把模型的.py等…...

【数据结构】顺序表 | 详细讲解
在计算机中主要有两种基本的存储结构用于存放线性表:顺序存储结构和链式存储结构。本篇文章介绍采用顺序存储的结构实现线性表的存储。 顺序存储定义 线性表的顺序存储结构,指的是一段地址连续的存储单元依次存储链性表的数据元素。 线性表的…...
100天精通风控建模(原理+Python实现)——第1天:什么是风控建模?
风控模型已在各大银行和公司都实际运用于业务,用于营销和风险控制等。本文以视频的形式阐述什么是风控建模,并提供风控建模原理和Python实现文章清单。首先了解什么是风控建模? 下文梳理风控模型搭建的原理和Python实现,按顺序做成清单的形式,点击即可进入相应文章链接。方…...
HTML转义字符
HTML,XML文件中存在部分字符作为标志字符无法作为文本内容使用,如< >,如果想在文本中输出,可使用转义字符。 < 的转义字符为 " < " > 的转义字符为 " > " <TextView.... ....android:t…...

【STM32】
STM32 1 CMSIS1.1 概述1.2 CMSIS 应用程序文件描述 2 库2.1 简介2.2 标准外设库(standrd Peripheral Libraries)2.3 HAL 库2.3.1 目录结构2.3.2 HAL库API函数和变量的命名规则2.3.3 HAL库对寄存器位操作的相关宏定义2.3.4 HAL库回调函数2.3.5 HAL使用注意…...

U盘不可以访问的维护
u盘打不开,可按下图,设置:winR→gpedit.msc;配置“管理模板”→“系统”→“可移动存储访问”→“所有可移动存储类”。 然后,选择“未配置”,如下图...

SpringCloud 微服务全栈体系(十三)
第十一章 分布式搜索引擎 elasticsearch 二、索引库操作 索引库就类似数据库表,mapping 映射就类似表的结构。 我们要向 es 中存储数据,必须先创建“库”和“表”。 1. mapping 映射属性 mapping 是对索引库中文档的约束,常见的 mapping …...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...

快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...