• Unity 角色场景传送功能


    传送触发器

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.SceneManagement;

    //玩家传送触发器及传送点
    public class StreetChanger : MonoBehaviour {

    public string sceneName;//传送的场景的名字
    public float transTime;//传送等待的时间,比如在此时间内让场景屏幕变黑,有过渡感
    private bool locked = true;//自加锁,保证同一个场景中的多个传送器只有一个运行
    public int pathPoint;//表示和场景中的哪个点相对应,所对应的点在目标场景的SceneControl中

    // Update is called once per frame
    void Update () {
    if (SceneControl.state == 1&&!locked) {//当场景信息的状态为1表示当前进入传送状态,locked表示传送点数据有当前的StreetChanger来传送
    transTime -= Time.deltaTime;
    if (transTime <= 0) SceneManager.LoadScene(sceneName);
    }

    }

    //如果进入触发区域的对象为玩家,并且按下I键,场景处于空闲状态,那么进行传送过程
    private void OnTriggerStay2D(Collider2D collision)
    {
    if (collision.gameObject.tag.Equals("Player") && Input.GetKeyDown(KeyCode.I)&&SceneControl.state==0) {
    SceneControl.state = 1;
    SceneControl.pathPoint = pathPoint;
    locked = false;
    }
    }
    }

    ---------------------------------------------------------------------------------------------------------------------------------------

    场景控制器,用于控制场景中的一些通用信息的类

    public class SceneControl : MonoBehaviour {
    [SerializeField]
    public static int state;//0正常,1改变场景,2交互
    public static int pathPoint;//角色传送到当前场景时对应通过的路径点标记

    public List<WayPoint> list = new List<WayPoint>();//保存的当前场景中的所有传送点触发器的对象
    public Transform player;

    private void Start()
    {
    //场景初始加载,遍历当前所有触发点,找到角色在该场景的传送位置
    foreach (WayPoint point in list) {
    if (point.pathPoint == pathPoint && point.PointAnchor && player) {
    player.position = point.PointAnchor.position;
    break;
    }
    }

    }

  • 相关阅读:
    ftp实现普通账号和vip账号限速
    CentOS7 无人值守服务环境搭建(PXE + DHCP+TFTP+ Kickstart+ FTP)
    rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份
    LVM逻辑卷管理
    Linux允许、禁止ping包
    javascript call 与 apply
    js 内存进阶 function扫描解析
    事件绑定之鼠标悬停 -入门-进阶-精通-骨灰(来自锋利的jQuery)
    show(),hide()和display在一起的用法
    Nat模式下网卡配置及Xshell连接
  • 原文地址:https://www.cnblogs.com/xiaoahui/p/10312247.html
Copyright © 2020-2023  润新知