멍멍이네 블로그


 

 

http://www.devkorea.co.kr/reference/Documentation/ScriptReference

인터넷을 URL로 띄우는데, 검색했더니 전부다 플러그인을 이용한 Android와 iOS기반의 웹뷰밖에 안나왔다 ㅜㅜ

 

메뉴얼에서 검색해봤더니 Application.OpenURL(string url); 이 있었다.

 

위와같이 string형태의 url을 매게변수로 주면 Application.OpenURL이 호출 될 경우 url 주소의 인터넷창이 켜진다!

There are no audio listeners in the scene. Please ensure there is always one audio listener in the scene

 

 

오디오 리스너가 없기 때문에 생기는 경고(에러아님).

오디오 리스너가 없는데, 오디오를 출력하려고 함.

 

해결 : 오디오 리스너를 추가해줌.

 

 

반대로

There are ? audio listeners in the scene. Please ensure there is always ...

라는 에러가 뜰 경우(경고 아님).

오디오 출력을 하려고 하는데 리스너가 ?개( ?는 2 이상의 수 )일 경우 뜨는 에러.

 

해결 : 오디어 리스너를 0개 혹은 1개를 남겨놓고 나머지 삭제하자!

질문 -----------------
V3 = new Vector3 (-Input.GetAxis ("Mouse Y"), 0, 0);
transform.Rotate (V3 * TurnSpeed);

업데이트 안에 이렇게 넣어서
카메라가 마우스에 따라서 위아래로 움직일 수 있게 하였습니다.

근데 제한이 없어서 위아래로 보면 아예 한바퀴 회전까지 하는데
카메라 회전의 최대, 최솟값을 주고 싶은데 어떻게 하면 될까요?

 

답변 --------------------

if(transform.rotation.y > 최소값 && transform.rotation.y < 최대값){
V3 = new Vector3 (-Input.GetAxis ("Mouse Y"), 0, 0);
transform.Rotate (V3 * TurnSpeed);
}

 

출처 : http://devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=61955#c_61960

int i_width = Screen.width;

int i_height = Screen.height;

 

 

해상도를 Start메소드나 Awake에서 불러와서 저장해놓고,

필요에 따라 사용(예를들어 해상도별 비율조절이라던지..)

Unity3D - OnGUI

GUI를 위해 메소드를 지원합니다. (기본 메소드라 각자 알아서 최적화나 사용에 따르게 수정하는것을 강추하는 비추천 메소드.)

 

void OnGUI(){

GUI.Label(new Rect(시작점 x좌표, 시작점 y좌표, 가로길이, 세로길이), "라벨 텍스트");

GUI.Button(new Rect(시작점 x좌표, 시작점 y좌표, 가로길이, 세로길이), "버튼 텍스트");

 

if(GUI.Button(new Rect(시작점 x좌표, 시작점 y좌표, 가로길이, 세로길이), "버튼 텍스트")){

// 버튼이 클릭됐을 때

}

}

GUI의 메소드를 사용하기 위해서 영역설정은 Rect로 해줌(2D 사각형).

Rect의 시작점은 화면상 좌측상단을 0,0으로 기준.

오른쪽으로 갈수록 x는 ++됨.

아래로 갈수록 y는 ++됨.


 

예시 )

int i=0;
 void OnGUI () {
  if (Stage == STAGE.MIRROR) {
   GUI.Label (new Rect (30, 670, 100, 20), "Test");
   GUI.Button(new Rect(130, 690, 100, 20), "버튼1");

 

   if (GUI.Button (new Rect (230, 710, 100, 20), "클릭버튼")) {
   i=1;

   Debug.Log("i : " + i);
  }

}

 

i = 0인데, 클릭버튼 이라는 버튼을 클릭하면 i가 1이 됨.

Error building Player: CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details.

 

에러 원인

안드로이드-이클립스에서 짠 네이티브 코드에서 에러가 난 것으로 추정.

정확히는 이클립스에서 네이티브코드로 플러그인을 만들던 중 필요 이상의 기능(인앱결제)을 넣는 바람에 생긴 에러.

추정하기로는 블로그에서 썼듯이 V2버전은 서비스 종료했을 것인데 사용했다. 밑에 세부 에러를 보면 인앱빌링에서 클래스를 찾을수 없다라던지.. 인앱에 관련된 글자들이 가득함.

 

해결방법

우선은 인앱빌링을 삭제. 후에 V3로 바꾸던지 한다음 테스트를 해야 정확할 것 같은데.. 시간이 없어서 자세한 사항은 패스!!

 

p.s.예전엔 System32에 java.exe javaw.exe javaws.exe 파일을 넣으면 된다했는데.. 저도 그당시는 그렇게 고쳤는데, 지금은 System32나 System 혹은 SysWOW64(64비트용폴더.. 이름이 정확히 기억안남)에 위 해당 3개 파일은 존재하지 않음. 그리고 그걸로 해결되지 않음(파일을 찾아서 넣었어도 문제가 되지 않아서, 에러를 자세히 봄으로써 고침ㅋ)

1. 노티피케이션 호출(아이템 보내기 등) -> 아이템 받는 객체의 아이디 호출 -> 그 아이디에 노티피케이션 호출 -> 노티피케이션! 2. 알람매니저 호출 -> 특정시간 후 리시버에서 노티피케이션 호출! // 근데 왜안됨? ㅜㅜ? 알람매니저가 안되는건지.. 알람매니저 리시버가 안되는건지.. 미치겠네.. 노티피케이션 용도 리시버 한개, 알람매니저 리시버에 자체 노티피케이션 입력. 총 두개 쓰는데 하나가 안되네..

요류가 비슷해서 가져다 쓰긴 했다. 현재 InApp의 V2버전을 사용중인데, 위와 같은 에러가 발생. 원인 -> Export 시 src만 Export함. 정확한 원인은 모름. 해결 -> Export 시 특정 gen파일과 lib파일도 같이 Export 해줌. 참고사이트 http://blog.naver.com/psd0217/10162792878 p.s. V2버전은 2015년 1월 27일자로 종료 될 예정

1. 로고 화면 띄운다.

 

2. 회원가입을 한다.

회원가입시 유니크코드를 준다. 그 유니크코드를 기준으로 서버에서 DB를 호출할생각.

회원가입시 유니크코드에 관련해서 AssetBundle을 각각 다르게 준다(Resource와 각 유저 고유의 AssetBundle.. 두개를 가진다)

 

3. 로그인을 한다.

로그인 시 로그인 데이터 중 유니크코드를 가져와서 AssetBundle이 있는지 체크(Resource와 유저 고유의 AssetBundle을 체크)한 후 Load한다.

 

4. Loading화면을 띄운다.

로그인에 성공 시 로딩화면을 띄우면서 AssetBundle을 호출해서 로드한다.

 

5. 메인 Scene 띄우기.(진행)

 고유 AssetBundle을 Instantiate하고, 데이터 연동 후 화면에 출력한다.

 

6. 시작 전(플레이 전)

아이템을 사거나 할 경우 서버에 비동기로 연동시켜서 값을 저장,

 

7. 게임시작 후(플레이 후)

시작시 아이템 체크(자동사용 아이템 감소, 사용가능아이템 체크 등) 후 로딩

로딩이 끝나고 나서 게임 플레이.

 

8. 게임 끝

게임이 끝나고 나서 게임 정보를 보내줌(획득 돈, 경험치 등) -> 5번으로 되돌아간다.

 

9. 종료

고유 AssetBundle만 저장