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; }
/// <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); }
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>(); }