zoukankan      html  css  js  c++  java
  • 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;
    }
    }

    }

  • 相关阅读:
    javascript专业八级测试答案整理
    HTML中的attribute和property
    Ajax的原理和应用
    jQuery提交form表单
    使用JavaScript和Canvas实现下雪动画效果
    JavaScript经典代码总结
    从HTML5移动应用现状谈发展趋势
    前端单元测试总结及测试工具介绍
    Web缓存基础:术语、HTTP报头和缓存策略
    为IIS Express添加MIME映射
  • 原文地址:https://www.cnblogs.com/xiaoahui/p/10312247.html
Copyright © 2011-2022 走看看