解密神庙逃亡类跑酷游戏地图无限的原因

news/2025/2/1 2:36:59/

解密神庙逃亡类跑酷游戏地图无限的原因

1.无限之谜

众所周知,跑酷类游戏像神庙逃亡给玩家的一种感觉就是地图无限多。有人说神庙逃亡跑1亿分就结束了,但这些其实都是假象,在程序猿眼中,这些人都是无知的。
在这里插入图片描述
这是一个最简单的跑酷游戏地图,一款无限地图的游戏,实际上的地图只有数块甚至更少,而地图无限的秘诀在于将地图一块一块的从后往前挪。

 public void changeRoad(Transform MonitorPos){int index = MonitorPosList.IndexOf(MonitorPos);if (index >= 0){int lastIndex = index - 1;if (lastIndex < 0)lastIndex = roadList.Count - 1;roadList[index].position = roadList[lastIndex].position + new Vector3(roadDistance, 0, 0);for (int i = 0; i < 9; i++){Spawn_Obstacle(i);}}else{Debug.LogError("MonitorPos index is error");return;}}

这是挪用地图的代码。
在这里插入图片描述
在每一块路的子类中有一个不可视的空气墙,当我们的人物触碰到空气墙时,程序便会将后面的一块路转移到最前面,于是你便获得了无限的路。

2.地形变化之谜

有人可能会说,哪为什么路上的障碍物以及一些转向会变得不同。

 public void Spawn_Obstacle(int index){GameObject[] obsPast = GameObject.FindGameObjectsWithTag("Obstacle" + index);for (int i = 0; i < obsPast.Length; i++){Destroy(obsPast[i]);}foreach (Transform item in m_ObstaclePosArray[index]){GameObject prefab = m_ObstacleArray[Random.Range(0, m_ObstacleArray.Length)];Vector3 eulerAngle = new Vector3(0, Random.Range(0, 360), 0);GameObject obj = Instantiate(prefab, item.position, Quaternion.Euler(eulerAngle));obj.tag = "Obstacle" + index;}}

这是一段将物体删除并随即生成的代码,所以可想而知为什么每段路都会有所不同,路实际上是同一条路,但实际上会将障碍物用随机的方法重新生成。

3.尾声

在下一篇文章中我将会介绍一款steam上的“热门”游戏的同类制作方法。
如果本篇文章有什么问题,还请斧正。


http://www.ppmy.cn/news/382605.html

相关文章

pygame 神庙逃亡

游戏规则 用pygame动画实现神庙逃亡类似的小游戏&#xff0c;当玩家移动的时候躲避子弹&#xff0c;如果子弹命中玩家或者名字龙都会减速&#xff0c;玩家躲避子弹使更多的子弹打在龙上&#xff0c;当玩家被龙抓到&#xff0c;则游戏输&#xff0c;如果龙被子弹减少速度&#…

Android收起虚拟键盘

关于收起虚拟键盘&#xff0c;网上能找到的大多是这个&#xff1a; InputMethodManager imm (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editText.getWindowToken(), 0) ; 不过这有个问题&#xff0c;比如我们在一个…

unity制作类似神庙逃亡控制效果(手势检测)

前几天突然有兴趣了解一下手游相关的开发 刚开始完全没有头绪&#xff0c;然后慢慢了解了一些知识后&#xff0c;决定尝试写一个类似于神庙逃亡的游戏效果 1.准备工作 先导入素材 &#xff08;官方商店里边的&#xff09;机器人素材 带有跑步动作 在Animator中把跑步动画设为…

Unity3D之神庙逃亡路移动效果

在游戏中很多对象都是假象,就比如人物移动效果的实现,可以是人物移动,但同样可以人物不动,场景动来实现。 下面就是一个人物不动,场景移动的效果: 下面直接上代码 void RoadMoveFP() { this.transform.Translate(-Vector3.forward * m_MoveSpeed * Time.delt…

Unity 编写类似神庙逃亡手势

1、首先我们先定义一个枚举&#xff0c;用来表示手势滑动的四个方向&#xff1a; <span style"font-size:14px;">public enum TouchDirection { Unkown,Left,Right,Up,Down }</span> 2、定义类&#xff1a;TouchInput <span style"font-size:14…

WP8手机安装《神庙逃亡》的教程

虽然神庙逃亡的最新版宣称支持512RAM的WP8手机&#xff0c;但大部分童鞋测试结果依然悲催&#xff0c;今天新锋网小编就为您带来如何顺利安装神庙逃亡的教程&#xff01; 本方法必须使用手机WIFI&#xff1a; 1.请关闭手机的商城&#xff08;如果已经打开过&#xff0c;先切回去…

神庙逃亡破解分析

分析目标:破解神庙逃亡内购 一.神庙逃亡网络验证破解 首先用Android Killer载入, 然后编译,运行,发现提示盗版软件 继续搜索dialog_initconfig_msg a方法show弹出了警告框,其主要是这个arg4.d为校验值 向上层追踪来源于这里赋值,但是这个只没法做交叉引用,只好用堆栈法来进行跟…

Problem 2121 神庙逃亡(FZU)

Problem 2121 神庙逃亡 Accept: 700 Submit: 1788 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description 话说最近穷猫猫LKity意外得到了一部ANDROID手机&#xff0c;于是&#xff0c;LKity兴奋地为自己的新机子安装了神往已久的游戏——神庙逃亡&#xf…