Exemplo n.º 1
0
 public void InitializeScript()
 {
     //find tools
     posScript      = GameObject.Find("PositionTool").GetComponent <PositionTool>();
     scaleScript    = GameObject.Find("ScaleTool").GetComponent <ScaleTool>();
     transformTools = GameObject.Find("UIScripts").GetComponent <ObjectTools>();
     state          = false;
     scriptEnabled  = true;
 }
Exemplo n.º 2
0
    /// <summary>
    /// 检查玩家执行运动
    /// </summary>
    /// <param name="moveSpeedValue"></param>
    private void DoMove(float moveSpeedValue)
    {
        if (PositionTool.isInBoxArea(tranCube, colliderRoomArea))
        {
            bool fromRemote = (followCom.distance > FollowPlayer.DISTANCE_MIN) && (followCom.height > FollowPlayer.HEIGHT_MIN);
            if (fromRemote)
            {
                Logger.Log("此时玩家的位置=" + tranCube.position + "进入到了box区域 从天上掉下来,从背后进门?" + (PositionTool.isInBoxArea(tranCube, boxcollider_back_area)));
                if (PositionTool.isInBoxArea(tranCube, boxcollider_back_area))
                {
                    tranCube.position    = new Vector3(-39.6f, 7.7f, -24f);
                    tranCube.eulerAngles = new Vector3(0, 95, 0);
                }
                else
                {
                    tranCube.position    = new Vector3(37.7f, 7.7f, -9.5f);
                    tranCube.eulerAngles = new Vector3(0, -90, 0);
                }
            }
            if (followCom.distance > FollowPlayer.DISTANCE_MIN)
            {
                followCom.distance = FollowPlayer.DISTANCE_MIN;
            }
            if (followCom.height > FollowPlayer.HEIGHT_MIN)
            {
                followCom.height = FollowPlayer.HEIGHT_MIN;
            }
        }

        //向前或后位移
        switch (_cmdMove)
        {
        case MoveCmdType.MoveForward:
        {
            //Logger.Log("执行运动");
            //cubeRigibody.AddForce(Vector3.forward*10000, ForceMode.Acceleration);
            tranCube.Translate(0, 0, moveSpeedValue * Time.deltaTime * moveSpeedAddBase);
        }
        break;

        case MoveCmdType.MoveBack:
        {
            tranCube.Translate(0, 0, -moveSpeedValue * Time.deltaTime * moveSpeedAddBase);
        }
        break;

        default:
            return;
        }
        //tranCube.Translate(nextMove);// 0, 0, moveSpeedValue * Time.deltaTime * moveSpeedAddBase);

        moveSpeedAddBase *= 1.01f;
        moveSpeedAddBase  = Mathf.Min(moveSpeedAddBase, 1.8f);
    }
Exemplo n.º 3
0
 private void Start()
 {
     //initialize scripts for objects
     MoveObject[] moveableObjects = FindObjectsOfType <MoveObject>();
     //save = GetComponent<SaveManager>();
     Debug.Log("Moveable Objects: " + moveableObjects.Length);
     foreach (MoveObject move in moveableObjects)
     {
         move.enabled = true;
         move.InitializeScript();
     }
     //get objects
     posScript   = GameObject.Find("PositionTool").GetComponent <PositionTool>();
     scaleScript = GameObject.Find("ScaleTool").GetComponent <ScaleTool>();
     tools       = GameObject.Find("UIScripts").GetComponent <ObjectTools>();
 }