2014/08/19

[cocos2dx]EditBoxで数字のみ入力させたい

Cocos2d-x の EditBox コントロールクラスで数字のみ入力させたいがそのようなInputMode指定ができなかったのでcocos2d-x(V3.2)本体ソースを修正した際のメモ

リファレンスには、NUMERICを指定すればInt型になるような表現が書かれているが実際には、DECIMALと動作が変わらない。

この左下のドット入力のボタンいらんのだけど、、、(–;
keyドットあり

リファレンス抜粋

enum InputMode

The EditBox::InputMode defines the type of text that the user is allowed to enter.

Enumerator

EditBox::InputMode exp.
ANY The user is allowed to enter any text, including line breaks.
EMAIL_ADDRESS The user is allowed to enter an e-mail address.
NUMERIC The user is allowed to enter an integer value.
PHONE_NUMBER The user is allowed to enter a phone number.
URL The user is allowed to enter a URL.
DECIMAL The user is allowed to enter a real number value.
This extends kEditBoxInputModeNumeric by allowing a decimal point.
SINGLE_LINE The user is allowed to enter any text, except for line breaks.

CCEditBoxImplIOS.mm の修正

/extensions/GUI/CCEditBox/CCEditBoxImplIOS.mm

void EditBoxImplIOS::setInputMode(EditBox::InputMode inputMode)関数内

↓(変更)

この修正をしたうえで

と指定すればピリオドなしの入力モードとなりました。

keyドットなし

、、、、、はて、Androidはどうしたものか。その時が来たらまた考えます。

参考

UITextField/UITextViewの文字入力で覚えておくと便利なこと

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

JavaScriptを有効にしてください。
あるいは下記手順で投稿できます。
1.「トークンコード取得」を押すと枠内にトークンコードが表示されます
2.表示されたトークン文字を「投稿確認トークン入力」へ入力します

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">