ユーザ用ツール

サイト用ツール

wiki:unity:tips:300

以前のリビジョンの文書です


ソフトウェアキーボード処理

// SoftwareKeyboard.cs
using UnityEngine;
 
public class SoftwareKeyboard
{
    // 入力結果。
    public enum E_RESULT
    {
        NONE = -1,
        DONE,       //!< 入力処理が終了した。
        CANCEL,     //!< 入力処理がキャンセルされた。
    };
 
    private static TouchScreenKeyboard m_touchScreenKeyboard = null;
 
    //-------------------------------------------------------------
    //! ソフトウェアキーボードオープン.
    //-------------------------------------------------------------
    public static void Start(string _initString, TouchScreenKeyboardType _type = TouchScreenKeyboardType.Default)
    {
        // ソフトウェアキーボードをサポートしているか?
        if (!TouchScreenKeyboard.isSupported)
        {
            // サポートしていない。
            return;
        }
 
        // 既に表示されているか?
        if (TouchScreenKeyboard.visible)
        {
        	Debug.Log(false, "Software keyboard already exists.");
            return;
        }
 
        // ソフトウェアキーボードオープン
        m_touchScreenKeyboard = TouchScreenKeyboard.Open(_initString, _type);
    }
 
    //-------------------------------------------------------------
    //! ソフトウェアキーボード終了確認.
    //-------------------------------------------------------------
    public static bool IsEnd()
    {
        if (m_touchScreenKeyboard == null)
        {
            return true;
        };
 
        if (m_touchScreenKeyboard.done || m_touchScreenKeyboard.wasCanceled)
        {
            return true;
        }
        return false;
    }
 
    //-------------------------------------------------------------
    //! 入力結果を返す.
    //-------------------------------------------------------------
    public static E_RESULT GetResult()
    {
        if (m_touchScreenKeyboard == null)
        {
            return E_RESULT.NONE;
        };
 
        // 入力の処理が終了したか
        if (m_touchScreenKeyboard.done)
        {
            Debug.Log("SoftwareKeyboard Done.");
            return E_RESULT.DONE;
        }
        // 入力処理がキャンセルされたかどうか
        else if (m_touchScreenKeyboard.wasCanceled)
        {
            Debug.Log("SoftwareKeyboard wasCanceled.");
            return E_RESULT.CANCEL;
        }
        else
        {
            Debug.Assert(false, "Software keyboard invalid status.");
        }
        return E_RESULT.NONE;
    }
 
    //-------------------------------------------------------------
    //! 入力文字列を返す.
    //-------------------------------------------------------------
    public static string GetText()
    {
        if (m_touchScreenKeyboard == null)
        {
            return string.Empty;
        };
        return m_touchScreenKeyboard.text;
    }
}
Permalink wiki/unity/tips/300.1429192462.txt.gz · 最終更新: 2015/04/16 13:54 by step

oeffentlich