Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现.docx

Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现.docx

ID:52324622

大小:965.11 KB

页数:7页

时间:2020-03-26

Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现.docx_第1页
Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现.docx_第2页
Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现.docx_第3页
Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现.docx_第4页
Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现.docx_第5页
资源描述:

《Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现我们继续来做点和仙剑相关的东西,首先我们来看一副图:这幅图呢,是仙剑奇侠传的第一个迷宫场景——仙灵岛的莲花池。男主角李逍遥为替婶婶求药独闯仙灵岛,在经历了前面的小草妖战斗后,李逍遥就来到了莲花池,这个迷宫的解法很简单,乘坐莲花池中的芦苇垫到不同的地方,然后用破天锤打碎五座阿修罗像,通往仙灵岛的通路就会被打开,就是在仙灵岛李逍遥邂逅了正在沐浴的赵灵儿,仙剑奇侠传的故事从此展开。好了,故事先说到这里,我们来看这里很重要的一个信息:李逍遥踩着芦苇垫到达不

2、同的地方,然后用破天锤打碎石像开启机关。我们把最终要的东西提取出来的话就是我们可以踩着芦苇垫子到不同的地方去。好,我们今天就来实现一个简化的"仙灵岛"吧!那么怎么做呢?在这篇文章中,我们最终实现的效果是这样的:现在呢,让我们把莲花池里的构件做一下抽象:每一个石柱可以看做是一个寻路节点,芦苇垫子可以看做是绑定了寻路组件的一个GameObject。唯一的区别就在于这里的芦苇垫子是需要我们的角色站在上面才能让它运动的,而我们在这篇文章里的游戏体是自己运动的。好,现在我们开始来实现这个功能吧。我们先创建如下

3、图所示的场景:我们在水中布置了8个石柱,两个芦苇垫子,当游戏开始时,玩家控制角色走上芦苇垫子时,芦苇垫子将按照事先设定的路线,将角色送达最后一个石柱位置,此时,玩家可以控制角色到达对岸。当玩家再次踏上芦苇垫子时,芦苇垫子会将角色送回起点位置。当芦苇垫子处于移动状态中时,角色可以向四个方向旋转,活动范围仅限于芦苇垫子上。好,交待清楚了场景,我们下面来讲解原理:文章出处【狗刨学习网】1、角色控制采用在《[Unity3D]Unity3D游戏开发之仿仙剑奇侠传角色控制效果》中实现的角色控制器来控制角色的行为

4、。2、寻路的实现采用在《[Unity3D]Unity3D游戏开发之基于ITween实现寻路功能》中实现的寻路组件作为基础脚本,本节在此基础上做扩充和完善,保证角色可以自由的移动基于以上两个原理,我们下面来编写今天的脚本:1.usingUnityEngine;2.usingSystem.Collections;3.4.publicclassTransportScript:MonoBehaviour{5.6.//寻路组件节点7.publicTransform[]mPaths;8.//芦苇垫传送器9.pr

5、ivateTransformmTransportor;10.//被传送的角色11.publicTransformmTransportPlayer;1.2.//起点3.Vector3StartPoint=newVector3(0F,0.5F,-13F);4.//终点5.Vector3EndPoint=newVector3(0F,0.5F,10F);6.7.//定义移动的方向类型:从起点到终点为0,从终点到起点为18.privateintMoveType=0;9.//定义移动状态的标志变量10.priv

6、ateboolisMoving=false;11.12.//存储寻路组件设置的哈希表13.privateHashtableargs=newHashtable();14.15.voidStart()16.{17.//获取传送器18.mTransportor=this.transform;19.20.//初始化寻路插件21.Hashtableargs=newHashtable();22.//设置路径的点23.args.Add("path",mPaths);24.//设置类型为线性,线性效果会好一些。25

7、.args.Add("easeType",iTween.EaseType.linear);26.//设置寻路的速度27.args.Add("speed",2.5f);28.//移动的整体时间。如果与speed共存那么优先speed29.args.Add("time",10f);30.//是否先从原始位置走到路径中第一个点的位置31.args.Add("movetopath",true);32.//延迟执行时间33.args.Add("delay",0.1f);34.//移动的过程中面朝一个点35.a

8、rgs.Add("looktarget",Vector3.up);36.//三个循环类型nonelooppingPong(一般循环来回)37.args.Add("loopType","pingPong");38.//是否让模型始终面朝当面目标的方向39.//如果你发现你的模型在寻路的时候时钟都是一个方向那么一定要打开这个40.args.Add("orienttopath",true);41.42.iTween.MoveTo(gameObject,args);43.iT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。