[原创]传送门脚本,怎样让对象进入一个区域后进行空间跳跃 

2011-05-28 03:17 发布

2960 2 0
    这段代码的目的是当玩家走到传送门附近,让玩家往目的地传送。玩家身上需要加载UseJumpDoor脚本,脚本里面声明了几个跳跃函数的基本类型,假设这个函数名为OnJump,形式大致如下所示:
  OnJump(){
  transform.position = jumpPoint.position;}

    这样,如果有一个物体(比如传送门)启动了OnJump函数,那么玩家空间坐标将等于目标点的位置。
在游戏里面,传送目的地往往是一个虚拟物体,它只包含一个xyz坐标信息。传送目的地本身没有加载脚本的必要,但为了方便在屏幕上找到它,最好用一个tif小图标来标记它。可以用这样的函数在虚拟物体的坐标上插入一个图标。
     Gizmos.DrawIcon(transform.position, "JumpPoint.tif");

    传送门要设计一个碰撞体,当玩家与它发生碰撞时,向玩家发送跳跃命令,启动OnJump函数。物理计算的碰撞模型形状可以与传送门的渲染网格形状不一样。发送命令的脚本形式如下:
    Collider.gameObject.SendMessage ("OnJump", SendMessageOptions.DontRequireReceiver);

   游戏里面要给每条传送路径设置不同的函数,比如你启动了A城传送,那么传送门给你的命令就是启动JumpToA()函数。每个城都应该设置合理的传送函数名,最好在游戏初期就规划好,最好能用数字来表示各个传送点的函数名,比如 OnJump0 () ,OnJump1 (), OnJum2 () ,OnJump3 ()
    完整的一套传送门代码在附件中给出。
JumpDoor.rar (3.93 KB, 下载次数: 110)
TA的作品 TA的主页
B Color Smilies

全部评论2

你可能喜欢

[原创]传送门脚本,怎样让对象进入一个区域后进行空间跳跃 
联系
我们
快速回复 返回顶部 返回列表