ホーム › フォーラム › Android,iOS › キーボード作成について
-
投稿者投稿
-
2018-10-11 8:53 pm #15687dai参加者
いつもお世話になっております。
スコアランキングにプレイヤーネームを作成したいのですが
スマホに備わっているキーボードを呼び出す事は出来るのでしょうか?
お願いします。2018-10-12 7:46 pm #15688dai参加者度々すみません。
やはりキーボードは自作します。
(文字変換など難易度の高いと思われる処理があるため当初は呼び出す事を考えてましたがランキング使用で英数字のみしか使わなく作成可能だと思いまして)
そこでなのですが文字ボタンをおして1文字ずつ入力する方法を教えて下さい。ファイルの方作成しました。
よろしくお願いします。Attachments:
You must be logged in to view attached files.2018-10-13 8:54 am #15690ラクレス参加者エディットボックスはお試しになりましたか?
自作より簡単ですのでまだでしたら一度試してみる事をおすすめします実機だとエディットボックスの入力キャンパスをタップすると
文字入力状態になってキーボードが呼び出されます
コントロールのテキストサイズで最大文字数の設定
フォーカスの有効無効で入力状態の解除などを操作出来ますエディットボックスの文字の大きさを実機で反映させるには
アプリケーションのプロパティで
テキストオブジェクトでシステムフォントを使用 のチェックを外しますエディットボックスのプロパティで境界線と3D表示のチェックを外し
背景色を背景に合わせれば背景に同化させる事が出来ます
ただし入力キャンパスを透過する事が出来ない為単色の背景に限定されます2018-10-17 9:10 pm #15699dai参加者返答ありがとうございます。
エディットボックス使用で進めたいと思います。
そこで以前教えて頂きましたソート処理を使って
playername+scoreとなるように表示したいのですが
エディットボックス内にある文字を文字列+新着としてソート処理を行うのだと思うのですが
方法が分かりません。
ファイルの方作成しました。
書き直したものなので以前の処理が若干混合している部分があります。
すみませんがお願い致します。Attachments:
You must be logged in to view attached files.2018-10-19 6:27 pm #15709ラクレス参加者スコアの順位入れ替えと同時に同列の文字列も入れ替えるのですが
オブジェクトに備わった文字列は10個までしか使えません
11個以上必要となる場合は 配列(テキスト) などを使います
サンプル (フレーム2) には配列を使った例を書きました前回のソート処理は複数の散らばった数値を例にしたものでしたが
1個ずつランキング参加させていく場合は “soat” の方は不要ですまた 某掲示板で知りましたが
ハイスコアオブジェクト が名前入力や降順ソートを搭載しているようです
Android/iOS にも対応しているので触ってみるのもいいかもしれません最初に対応エクステンションが無いと言ってしまった事申し訳ないです
回りくどく手作りで というやり方も後々どこかで活きてくるかも、、
と言い訳させて頂きますw ・・・m(_ _)mAttachments:
You must be logged in to view attached files.2018-10-19 6:29 pm #15712ラクレス参加者すみません多重投稿になってしまいました
添付ファイルはどちらも同じ内容の物です2018-10-26 4:16 am #15716dai参加者お返事の方遅くなり申し訳ありません。
ランキングをどの様に表示するか考えてまして
提案して頂いたハイスコアオブジェクトは簡単だったのですが
スクロールや日付その他の要素をを組み込めるのか今の時点ではわからないので
現行を用いて先ずは実装出来ればと思います。
そこでランキング表示の際いくつかの方法を教えて下さい。
・順位のつけ方
・新着scoreにマークを付ける
・11~20位にscoreが含まれた場合11がリスト内の一番上に表示される様スクロールをずらす。
多くなりますがお願い致します。ファイル作成しました。Attachments:
You must be logged in to view attached files.2018-10-26 10:28 pm #15718ラクレス参加者■1つ目について
順位番号はリスト更新時の LoopIndex+1 と同値になります■3つ目について
新着結果の順位にならってスクロールさせます
新着順位の出し方は 初期値を 最下位+1 として
ソート時の順位入れ替えと同時に -1 してやると出ます
新着順を表示させるリストの一番上の行 (1,11,21) は
( ( 新着順位 – 1 ) / 10 ) * 10 + 1
で割り出せます■2つ目について
リストオブジェクトの上には画像表示が不可能の様なので
スコア位置の横にマークを付ける程度の事しか出来なさそうです
そしてそのマークをスクロールに追従させる事も難しそうです
現在のスクロール位置を取得出来れば可能ですがどうやら取得出来ないようです
逆にスクロールさせないようにコントロールを無効にすれば固定出来ますが
表示外のランキングを確認出来なくなるのは問題ですね
スクロールしようとしたらマークを消すなどする必要がありそうですサンプルはリスト1行目のY座標と行間の差を使った強引なやり方になってます
10行単位の表示なので 新着順位 mod 10 をして1桁目の値を得て
Y座標+行間の差x(1桁目-1) のような感じで割り出します
(1桁目=0 の場合とランク外だった場合は別処理で一番下の行にします)
必要な変数は score入力ボタン の変数を使っています
このやり方は行間がフォントや端末によって異なってくると思うので推奨しません新着スコアに画像を被せたりスクロールに追従させたい場合は
もう一手間かかりますが 文字列オブジェクト を使うといいかもしれません
必要であればサンプルなどお作りしますが
だいぶ表題の件から反れてしまうので続きは別スレッドの方が良いかもですAttachments:
You must be logged in to view attached files.2018-10-28 7:33 pm #15737dai参加者サンプルありがとうございます。
確認しまして2箇所分からない部分があります。
スクロールの計算部分なのですが
計算結果が新着順と同値になるのですがこれはどのようにスクロールの動きに関連しているのか
がわからないです。簡単でいいので教えて下さい。(スクロールバーを作成した事がありませんのでいまいち分かり辛い所でもあります。)2つ目にOR演算子の(論理)と(フィルター)の使い分けについてこれも簡単でいいので
教えて下さい。
お願いします。2018-10-28 7:36 pm #15738dai参加者文章ずれてしまいました。
すみません。2018-10-29 8:32 am #15739ラクレス参加者( ( 新着順位 – 1 ) / 10 ) * 10 + 1 の式ですが
まずCF2.5の数式で小数点まで割り出すには /10.0 等してやる必要があるため
( ( 新着順位 – 1 ) / 10 ) の部分で小数点が切捨てられた答えが出ます
新着順位が 1~10 の場合は 1
新着順位が 11~20 の場合は 11
新着順位が 21~30 の場合は 21
と割り出される事になります
後はリストオブジェクトのイベントの 行にスクロール にこの値を入れるだけですOR演算子については解説記事があります
サンプルではどちらでも結果が同じなので特に意味無くフィルタになっていますが
単純にどちらかの条件を満たす時という使い方では論理和の方が安全そうです
https://wikiwiki.jp/mmf2/%E3%83%98%E3%83%AB%E3%83%97%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A8%B3/OR%20operators2018-10-30 1:09 am #15741dai参加者詳しく説明して頂きありがとうございます。
理解する事が出来ました。
スレッドの方別に立てさせて頂きます。
よろしくお願い致します。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。