预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

GUIFly脚本Postedon2013年05月17日byU3d/Unity3D脚本/插件/被围观52次用途:一个GUI对象在屏幕中飞行,用GameObject.SendMessage告诉GUI对象何时飞行。使用:把该脚本拖到一个GameObject上,用另一个脚本GameObject.SendMessage发送飞行消息。001[javascript]viewplaincopy002003//AttachthistothesameastheGUIFlyisattachedto.004005//Flyin006007gameObject.SendMessage(“Fly”,true);008009//Wait5seconds010011yieldnewWaitForSeconds(5);012013//Flyout014015gameObject.SendMessage(“Fly”,false);016017[c-sharp]viewplaincopy018019usingUnityEngine;020021usingSystem.Collections;022023publicclassGUIFly:MonoBehaviour024025{026027publicenumInterpolationType028029{030031Linear,032033Sinusoidal,034035Hermite036037}038039publicVector3m_InPosition;040041publicVector3m_OutPosition;042043publicfloatm_TravelTime=0.5f;044045publicfloatm_DelayToStartTravelingAfterMessageReceived=0.1f;046047publicboolm_StartWithInPosition=false;048049publicInterpolationTypem_InterpolationType=InterpolationType.Sinusoidal;050051voidStart()052053{054055transform.position=(m_StartWithInPosition)?m_InPosition:m_OutPosition;056057}058059IEnumeratorFly(boolflyIn)060061{062063yieldreturnnewWaitForSeconds(m_DelayToStartTravelingAfterMessageReceived);064065Vector3targetPosition=(flyIn)?m_InPosition:m_OutPosition;066067floatstartTime=Time.time;068069Vector3startPosition=transform.position;070071while(Time.time<startTime+m_TravelTime)072073{074075switch(m_InterpolationType)076077{078079caseInterpolationType.Linear:080081transform.position=Vector3.Lerp(startPosition,targetPosition,(Time.time-startTime)/m_TravelTime);082083break;084085caseInterpolationType.Sinusoidal:086087transform.position=Sinerp(startPosition,targetPosition,(Time.time-startTime)/m_TravelTime);088089break;090091caseInterpolationType.Hermite:092093transform.position=Hermite(startPosition,targetPosition,(Time.time-startTime)/m_TravelTime);094095break;096097}098099yieldreturn0;100101}102103transform.position=targetPosition;104105}106107voidReset()108109{110111m_InPosition=transform.position;112113}114115privatestaticVector3Sinerp(Vector3star