This topic contains 7 replies, has 2 voices, and was last updated by OhYeah 9 years, 10 months ago.
-
AuthorPosts
-
August 13, 2015 at 12:35 pm #772
마스라기키보드가 에셋스토어에 있어서 구매하였지만 튜토리얼 대로 따라 했는데도 폰에서 작동하지 않습니다 ㅜㅜ
#if UNITY_ANDROID
#endif
}void Start()
{
#if UNITY_ANDROID
AndroidKeyboardManager.Install();TouchScreenKeyboard.hideInput = true;
AndroidKeyboardManager.SetHideInput(true);
AndroidKeyboardManager.SetFullScreen(false);
AndroidKeyboardManager.SetSoftInputMode(AndroidKeyboard.InputAdjustType.SOFT_INPUT_ADJUST_RESIZE);
#endif}
클래스에 이렇게 집어 넣고 ngui의 uiinput 창에서 컨트롤 해 봤는데 여전히 키보드가 랜드스케이프 모드에서 제대로 작동하지 않네요
그리고 튜토리얼에 있는 TouchScreenKeyboard.fullScreen 등의 멤버는 존재하지 않기 때문에 저렇게 해봤습니다.튜토리얼과 지금 올라가있는 버전과의 차이가 좀 있는 것 같네요.
어떻게 해야 해결할 수 있을지 답신 부탁드립니다.
제가 하고 싶은건 채팅창구현이며 랜드스케이프모드에서 풀스크린 키보드가 아니며,
미리보기 인풋창은 있어도 그만 없어도 그만이지만 있더라도 1줄로 되어야 하고, ngui의 input 창에 키보드가 위치하도록 하는 것 입니다.-
This topic was modified 9 years, 10 months ago by
OhYeah.
August 13, 2015 at 12:42 pm #773
마스라기첨부하신 ngui 의 uiinput 을 같이 사용해야만 효과가 있는 것이었네요
일단 해결(?) 되어 가는것 같습니다. 질문 내용을 지울 수가 없네요 ^^;August 13, 2015 at 1:52 pm #774
마스라기튜토리얼과 다르게 TouchScreenKeyboard 가 아닌 AddtionalOptions 에서 컨트롤 해야 하네요
혹시 카카오톡 채팅처럼 키보드가 엔터키 입력시 사라지지 않고 유지되게 설정할 수 있나요?August 14, 2015 at 3:07 am #775
OhYeah아 해결 되셨다니 다행입니다. NGUI의 경우 첨부된 UIInput.cs 파일을 사용해야되는게 맞습니다.
AddtionalOptions 같은 경우는 제가 코드 수정을 하고 튜토리얼에 반영하지 않았나보네요. 수정하겠습니다.
single line모드에서 엔터키 입력시 키보드가 사라지지 않는 옵션도 추가하여 업데이드 하도록 하겠습니다.
감사합니다.August 17, 2015 at 7:41 am #794
마스라기질문내용을 정리하여 다시 올려봅니다.
C# 유니티 개발환경에서 일어난 문제입니다.
1. 유니티에서 빌드셋팅을 Android로 하고 패키지에 동봉된 예제 씬을 실행시키면
Exception: JNI: Init’d AndroidJavaClass with null ptr! 이렇게
jni 가 디파인 에러를 뱉어내는데 혹시 따로 설정하신 #define 문구가 잡혀있거나
유니티 에디터에서 테스트 할 수 없게 되어있는 건가요?
2. 위의 문제로 ngui 에서 폰에서는 잘되는데 pc에서는 한글입력이 제대로 안되거나 pc에서 되면 폰에서 안되는 문제가 있는 것 같습니다.
게임을 pc와 폰에서 멀티플랫폼에서 작업하는 경우 해결이 힘든 부분인지요?3. Nosuggetion 옵션이 트루일 경우 키보드 위에 제시어가 안떠야 되는거 같은데 여전히 동작하고 있습니다.
4. HideInput = true 일때 한번 입력후에 다시 재입력 하려고 할때 Default Text 부분에 글자가 지워지지 않고, 커서가 없기 때문에 현재 위치를 알기 어렵고
디폴드 글자를 다 지우고 공백으로 만들 수가 없는 문제가 있습니다. 또 한글 입력중에 특수문자를 쓸 경우 한글이 지워집니다.
(ex : 안녕하세요?)
5. InputAdjustType에서 리사이징을 시킬때 화면에 얼마만큼 키보드가 띄워져 있고 그 리사이징을 어떻게 얼마만큼 할 수 있는지
조절할 방법이 없는 것 같구요
6. 채팅창 같은 경우 엔터키를 입력후 입력한 글자는 보내고 키보드는 계속 띄워놓고 싶은 경우의 옵션이 있었으면 좋겠습니다.
p.s 혹시 몰라서 코드 첨부합니다 제가 만든 코드에서는 어디서 잘못된건지 hideInput = true 일때
입력한 내용을 키보드의 [완료]로 넘어갈때 메세지가 전달이 되지 않으며 특수문자도 찍히지 않네요.개발하신 분도 이런저런 문제로 이 키보드를 직접 만드셨겠지만;;; 저도 골치아프네요
기왕 에셋스토어에서 편하게 쓰려고 구입한거 흑흑 도와주세요 ^^;메일 남겨주시면 apk 보내드릴 수도 있습니다.
August 17, 2015 at 7:43 am #795
마스라기//############################################################################
//
// By onlygatz(2015.08.11)
//
//채팅입력 테스트용
//
//############################################################################using UnityEngine;
using System.Collections;
using AndroidKeyboard;#if UNITY_ANDROID
using Input = AndroidKeyboard.Input;
using TouchScreenKeyboard = AndroidKeyboard.TouchScreenKeyboard;
#endifpublic class TestInput : MonoBehaviour
{
static public TestInput Instance;public UIInput input; //NGUI의 uiinput
public UILabel chat; //메세지
public UILabel debug; //디버그void Awake()
{
Instance = this;
}void Start()
{
#if UNITY_ANDROID
AndroidKeyboardManager.Install();TouchScreenKeyboard.hideInput = true; //NGUI 에서도 hideinput 체크함
AdditionalOptions.fullScreen = false;
AdditionalOptions.softInputMode = InputAdjustType.SOFT_INPUT_ADJUST_PAN;
AdditionalOptions.NoSuggestion = true;
#endif
}void Update()
{
#if UNITY_ANDROID//어플종료
if(Input.GetKeyDown(KeyCode.Escape) )
{
//작동안함
Application.Quit();
}debug.text = “TK hideInput : ” + TouchScreenKeyboard.hideInput.ToString() + “\n” +
“Input Multiline : ” + input.label.multiLine.ToString();input.value = TouchScreenKeyboard.instance.text;
#endif
}//엔터키 입력시 작동안함
public void OnSubmit(string value)
{
Debug.Log(“OnSubmit”);chat.text = value;
input.value = “”;
}
}August 17, 2015 at 8:33 pm #7961. 안드로이드 플랫폼이 아닌 에디터 환경에서는 플러그인이 사용되지 않으므로 무시 하셔도 됩니다.
2. 다른 플랫폼에 영향을 주지 않도록 코딩을 했는데, 어떤 문제가 있는지 말씀해주시면 수정하겠습니다.
3. 튜토리얼에 확실히 제거할 수 있는 설정법( Landscape + adjustPan + NoSuggestion + Non-FullScreen )을 포함하였습니다. 이 방식도 안된되면 말씀해주십시오. 조금 더 연구해 보겠습니다. 혹시 키보드 언어 변경 사항이 저장될 필요가 없다면, 아래와 같은 꼼수 마스킹으로 확실히 제거 할 수도 있습니다. (단, 키보드를 생성할 때마다 영어로 리셋됩니다.)(AndroidKeyboardManager.cs line:46)
public static void Open(string text, int maskOptions, bool alert, string textPlaceholder)
{
maskOptions |= InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
….4. Default Text 문제는 제가 간단한 테스트 용도로 만든 AndroidInputField 컴포넌트를 사용하셔서 그런것 같습니다. UIInput은 정상 작동합니다. ‘안녕하세요?’ 이건 저는 잘 되고 있는데, 어느 특정 상황 하에서 그런 현상이 발생하는건지, 혹시 발견하시면 말씀좀 부탁드립니다. (__ )
5. adjustResize는 위에 마스킹 꼼수가 아닌 한 Suggestion Bar 크기만큼 위에 화면이 놓이게됩니다. 그래서 NoSuggestion옵션은 adjustPan에서만 가능한 것 입니다.
6. 이 기능은 NGUI ChatInput에 잘 대응되도록 현재 구현이 완료되었습니다. 다음 업데이트에 포함 시키겠습니다.
다음 업데이트는 빠르면 다음주 초에 올라올 것 같습니다.
플러그인 사용해주셔서 거듭 감사드립니다.September 1, 2015 at 4:55 pm #8094번 특수문자를 썼을때 한글이 지워지는 버그 확인했습니다. 수정하였으며 1.1.1 버젼에 포함시켰습니다.
-
This topic was modified 9 years, 10 months ago by
-
AuthorPosts
You must be logged in to reply to this topic.