コード例 #1
0
    /// <summary>
    /// 最后关于 镜头拉远还是拉近的处理
    /// </summary>
    private void UpdateCemeraDistanceState()
    {
        if (Input.GetKeyDown(KeyCode.N))
        {
            _cmdCameraDis = CameraMoveType.MoveNear;
        }
        if (Input.GetKeyDown(KeyCode.M))
        {
            _cmdCameraDis = CameraMoveType.MoveFar;
        }
        if (Input.GetKeyUp(KeyCode.N) || Input.GetKeyUp(KeyCode.M))
        {
            _cmdCameraDis = CameraMoveType.None;
        }
        switch (_cmdCameraDis)
        {
        case CameraMoveType.MoveNear:
        {
            setCamereMoveFar(-FollowPlayer.MOVE_DISTANCE_SUB);
        }
        break;

        case CameraMoveType.MoveFar:
        {
            setCamereMoveFar(+FollowPlayer.MOVE_DISTANCE_SUB);
        }
        break;
        }
    }
コード例 #2
0
    void Start()
    {
        /** いろいろ初期化 **/
        sceneChangeFlag = false;
        cameraMoveType  = CameraMoveType.Rotate;

        //CRTスクリプトの確保
        crtNoise      = GetComponent <CRTnoise>();
        noiseParticle = GetComponent <NoiseParticle>();
        //crtNoise.cameraName = CRTnoise.CameraName.TitleMainCamera;
    }
コード例 #3
0
 void CameraModeOverheadTAHandlerOrbit(string command, bool down)
 {
     if (!down)
     {
         CameraMoveDone();
     }
     else
     {
         CurrentMove = CameraMoveType.OverheadOTAOrbit;
         overheadotastate_dragstart = new OverheadOTAState(overheadotastate_current);
         dragstartmousestate        = mousemove.GetMouseStateVector(OverheadOTAOrbitConfigName);
     }
 }
コード例 #4
0
ファイル: Camera.cs プロジェクト: beyonddiana/osmp-cs
        void Camera_StateChanged(ViewerState.ViewerStateEnum neweditstate, ViewerState.ViewerStateEnum newviewstate)
        {
            switch (newviewstate)
            {
            case ViewerState.ViewerStateEnum.CameraOrbit:
                CurrentMove = CameraMoveType.Orbit;
                break;

            case ViewerState.ViewerStateEnum.CameraPan:
                CurrentMove = CameraMoveType.Pan;
                break;

            case ViewerState.ViewerStateEnum.CameraZoom:
                CurrentMove = CameraMoveType.AltZoom;
                break;

            default:
                CurrentMove = CameraMoveType.Pan;
                break;
            }
        }
コード例 #5
0
ファイル: Camera.cs プロジェクト: beyonddiana/osmp-cs
        public void UpdateOrbitCamera(int imousex, int imousey)
        {
            if (CurrentMove == CameraMoveType.Orbit)
            {
                fAltZoomRotateZAxis = (double)(imousex - iDragStartx) / 20.0f / 10.0f + fAltZoomStartRotateZAxis;
                fAltZoomRotateYAxis = (double)(imousey - iDragStarty) / 20.0f / 10.0f + fAltZoomStartRotateYAxis;
            }
            else if (CurrentMove == CameraMoveType.AltZoom)
            {
                fAltZoomStartRotateZAxis = fAltZoomRotateZAxis;
                fAltZoomStartRotateYAxis = fAltZoomRotateYAxis;
                fAltZoomStartZoom        = fAltZoomZoom;

                iDragStartx = imousex;
                iDragStarty = imousey;
                CurrentMove = CameraMoveType.Orbit;
            }
            else if (CurrentMove == CameraMoveType.None)
            {
            }

            GetCurrentCameraFromAltZoomCamera();
        }
コード例 #6
0
 void CameraModeOverheadTAHandlerOrbit(string command, bool down)
 {
     if (!down)
     {
         CameraMoveDone();
     }
     else
     {
         CurrentMove = CameraMoveType.OverheadOTAOrbit;
         overheadotastate_dragstart = new OverheadOTAState(overheadotastate_current);
         dragstartmousestate = mousemove.GetMouseStateVector(OverheadOTAOrbitConfigName);
     }
 }
コード例 #7
0
 // stops listening to mouse moves
 public void CameraMoveDone()
 {
     CurrentMove = CameraMoveType.None;
 }
コード例 #8
0
 // stops listening to mouse moves
 public void CameraMoveDone()
 {
     CurrentMove = CameraMoveType.None;
 }
コード例 #9
0
    void Update()
    {
        //インプット関連
        if (!playerInputSet_ || !prevState_.IsConnected)
        {
            playerIndex_    = (PlayerIndex)0;
            playerInputSet_ = true;
        }
        prevState_ = padState_;
        padState_  = GamePad.GetState(playerIndex_);
        //インプット関連


        if (prevState_.Buttons.B == ButtonState.Released && padState_.Buttons.B == ButtonState.Pressed ||
            prevState_.Buttons.A == ButtonState.Released && padState_.Buttons.A == ButtonState.Pressed ||
            prevState_.Buttons.X == ButtonState.Released && padState_.Buttons.X == ButtonState.Pressed ||
            prevState_.Buttons.Y == ButtonState.Released && padState_.Buttons.Y == ButtonState.Pressed)
        {
            SoundManager.GetInstance.PlaySE("input_SE3");
            if (!noiseParticle.skipFrag)
            {
                noiseParticle.skipFrag = true; return;
            }
            sceneChangeFlag = true;
        }

        if (sceneChangeFlag)
        {
            CameraPos = transform.position;
            switch (cameraMoveType)
            {
            case CameraMoveType.Rotate:
                var aim = SurveillanceCamera.transform.position - CameraPos;
                // var look = Vector3.RotateTowards(transform.forward, aim, 0.5f * Time.deltaTime, 0f);
                //transform.rotation = Quaternion.LookRotation(look);

                transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(aim), time);
                time += Time.deltaTime;
                if (time >= 1)
                {
                    cameraMoveType = CameraMoveType.Move;
                }
                //Debug.Log("カメラ回転中:" + (transform.position - look) + "見たい数:" + CameraRota);
                break;

            case CameraMoveType.Move:
                transform.position = SurveillanceCamera.transform.position;
                var target = Player.transform.position - CameraPos;
                var look_  = Quaternion.LookRotation(target);
                transform.localRotation = look_;
                time += Time.deltaTime * 0.5f;

                if (time >= 1.5)
                {
                    cameraMoveType = CameraMoveType.Up;
                }
                break;

            case CameraMoveType.Up:
                crtNoise.CRTFlag = true;
                cameraMoveType   = CameraMoveType.None;
                break;

            case CameraMoveType.None:
                break;
            }
        }
    }
コード例 #10
0
ファイル: Camera.cs プロジェクト: hughperkins/osmp-cs
        void Camera_StateChanged(ViewerState.ViewerStateEnum neweditstate, ViewerState.ViewerStateEnum newviewstate)
        {
            switch (newviewstate)
            {
                case ViewerState.ViewerStateEnum.CameraOrbit:
                    CurrentMove = CameraMoveType.Orbit;
                    break;

                case ViewerState.ViewerStateEnum.CameraPan:
                    CurrentMove = CameraMoveType.Pan;
                    break;

                case ViewerState.ViewerStateEnum.CameraZoom:
                    CurrentMove = CameraMoveType.AltZoom;
                    break;

                default:
                    CurrentMove = CameraMoveType.Pan;
                    break;
            }
        }
コード例 #11
0
ファイル: Camera.cs プロジェクト: hughperkins/osmp-cs
        public void UpdateOrbitCamera( int imousex, int imousey )
        {
            if( CurrentMove == CameraMoveType.Orbit )
            {
                fAltZoomRotateZAxis = (double)( imousex - iDragStartx ) / 20.0f / 10.0f + fAltZoomStartRotateZAxis;
                fAltZoomRotateYAxis = (double)( imousey - iDragStarty ) / 20.0f / 10.0f + fAltZoomStartRotateYAxis;
            }
            else if( CurrentMove == CameraMoveType.AltZoom )
            {
                fAltZoomStartRotateZAxis = fAltZoomRotateZAxis;
                fAltZoomStartRotateYAxis = fAltZoomRotateYAxis;
                fAltZoomStartZoom = fAltZoomZoom;

                iDragStartx = imousex;
                iDragStarty = imousey;
                CurrentMove = CameraMoveType.Orbit;
            }
            else if( CurrentMove == CameraMoveType.None )
            {}

            GetCurrentCameraFromAltZoomCamera();
        }
コード例 #12
0
ファイル: Camera.cs プロジェクト: hughperkins/osmp-cs
 public void InitiatePanCamera( int imousex, int imousey )
 {
     CurrentMove = CameraMoveType.Pan;
     iDragStartx = imousex;
     iDragStarty = imousey;
 }
コード例 #13
0
ファイル: Camera.cs プロジェクト: hughperkins/osmp-cs
 public void InitiateOrbitSlashAltZoom( int imousex, int imousey, CameraMoveType eMoveType )
 {
 }
コード例 #14
0
ファイル: Camera.cs プロジェクト: beyonddiana/osmp-cs
 public void InitiatePanCamera(int imousex, int imousey)
 {
     CurrentMove = CameraMoveType.Pan;
     iDragStartx = imousex;
     iDragStarty = imousey;
 }
コード例 #15
0
ファイル: Camera.cs プロジェクト: beyonddiana/osmp-cs
 public void InitiateOrbitSlashAltZoom(int imousex, int imousey, CameraMoveType eMoveType)
 {
 }