人气 194

[游戏程序] [原创]传送门脚本,怎样让对象进入一个区域后进行空间跳跃 [复制链接]

九艺网 2017-3-4 01:08:43

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
    这段代码的目的是当玩家走到传送门附近,让玩家往目的地传送。玩家身上需要加载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 ()
    完整的一套传送门代码在附件中给出。
33c3f86e6d97f682123e28552182ff73.gif
JumpDoor.rar(3.93 KB, 下载次数: 110)


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-4-19 20:39 , Processed in 0.073183 second(s), 26 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.