using UnityEngine;

using System.Collections;


public class FollowCam : MonoBehaviour {


    public Transform target;            // 추적할 타겟 게임오브젝트의 Transform 변수.

    public float dist = 10.0f;          // 카메라와의 일정 거리.

    public float height = 5.0f;         // 카메라와의 높이 설정.

    public float dampRotate = 5.0f;     // 부드러운 회전을 위한 변수.


    private Transform tr;               // 카메라 자신의 Transform 변수.



// Use this for initialization

void Start () {

        tr = GetComponent<Transform>(); // 카메라 자신의 Transform 을 할당.

}


    

    /* 

     * 추적할 타겟의 이동이 종료된 이후에 카메라가 추적하기 위해 LateUpdate() 사용.

     */

    void LateUpdate()

    {

        // 카메라 Y축을 타겟의 Y축 회전각도로 부드럽게 회전.

        // Mathf.LerpAngle(a,b,t) : t시간동안 a부터 b까지 변경되는 각도.

        float currYAngle = Mathf.LerpAngle(tr.eulerAngles.y, target.eulerAngles.y, dampRotate * Time.deltaTime);


        // 쿼터니언 데이터 타입으로 변환

        Quaternion rot = Quaternion.Euler(0, currYAngle, 0);


        // 카메라의 위치를 타겟이 회전한 각도만큼 회전한 이후, dist만큼 뒤쪽으로 배치하고 height 만큼 위로 올림.

        tr.position = target.position - (rot * Vector3.forward * dist) + (Vector3.up * height);


        // 카메라가 타겟 게임 오브젝트를 바라보게 설정.

        tr.LookAt(target);

    }

}

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path...


임포트해온 프로젝트나 환경이 바뀐 경우, 프로젝트가 위의 에러로 인해 빌드가 되지 않는 경우가 있다.

대부분 톰캣서버의 라이브러리가 프로젝트의 빌드 패스에 추가 되지 않아 생기는 현상이다.


해결:

1. 프로젝트 정보 열기

해당 프로젝트에서 alt+enter or 오른쪽 클릭 -> properties -> Build Path -> Add Library... -> Server Runtime -> (Tomcat) Server 선택

2. Order and Export 에서 해당 library 선택.

코드내에서 'Invoke()' 를 사용하는 경우 동기화 되어 동작을 한다.

Invoke() 가 호출 된 뒤 해당 액션을 완료하기를 대기를 하게되며, 완료 후 다음 코드로 진행.

MSDN 링크 : 

https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=KO-KR&k=k(System.Windows.Threading.Dispatcher.Invoke);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5.2);k(DevLang-csharp)&rd=true


ex)

textBox.Dispatcher.Invoke(new Action(()=>{textBox.Text = "SYNC."}));

// Action 완료를 기다리는 대기상태

if(bSync) {

...

}

Android Studio 에서 소스뷰와 프로젝트뷰간에 동기화를 시키기 위해서는 "Autoscroll to Source" 와 "Autoscroll from Source" 를 체크 해주면 되도록 되어 있다.

이 기능의 경우 종류 후 재시작을 하게 되면 초기화가 되어 있어, 항상 다시 설정을 해야 하는 불편함이 있다.


 




해당 체크 상태를 저장하는 방법은 Intelli J 에서 지원을 하고 있지 않으며, 아래 링크의 plug-in 을 사용하여 추가로 기능을 탑재하여 해결 할 수 있다.


https://plugins.jetbrains.com/plugin/7575?pr=idea




다른 방법으로 project.default.xml 에 아래 내용을 추가하여 해결 할 수도 있다.

stack overflow 에서 관련 포스팅을 찾았다. 

(http://stackoverflow.com/questions/19205860/how-to-enable-autoscroll-to-from-source-permanently-for-all-new-project-imports)


- <autoscrollToSource ProjectPane="true"/>와 그아래 부분이 해당 기능이다. 

- <component name="ProjectView"> 항목 자체가 대부분 없으니 적당한 위치에 전체를 추가하자.


  <component name="ProjectView">
    <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
      <flattenPackages />
      <showMembers />
      <showModules />
      <showLibraryContents />
      <hideEmptyPackages />
      <abbreviatePackageNames />
      <autoscrollToSource ProjectPane="true" />
      <autoscrollFromSource ProjectPane="true" />
      <sortByType />
    </navigator>
  </component>


+ Recent posts