2017年 6月25日~7月5日
キャラの一覧を表示して選択する画面を作ってる。
とりあえずざっとこんな感じだろうか。
縦 8つだけどスマホ実機では小さいかもしれない。
その時は 6つくらいにしてみよう。
タップ座標を作る。
座標を色分け表示した。
この座標を元に関数を作って、キャラは 1~8、上のソートボタンは 11~18の値を返すようにする。
キャラ表示が縦にスクロールするようにする。
これは少し難しそうだ。
これだけでは分からないと思うが、タップして放した y座標の差を適当に割って縦に移動する値にした。
おそらくANDROID API(命令群)にはタップの移動量を返す関数(命令)もあるとは思うんだけど、これは HSP
だからねえ。
実際にはどうなんだろ、時間で移動量を検出してるような気もするんだけど、そんなの難しそうだから自分は動かした量にしたよ。
kbはボタン入力値で、256でタップしてる事を意味する。
sel_dyが移動量、mouseyがタップ座標の y座標を検出する。
sel_kn=押した後放したかのフラグ。
sel_dy=(mousey-sel_ky)/20で算出している。
移動した y座標の 20分の 1と言う訳だ。
ソート機能を実装する。
これが意外と難しくててこずってる。
前に一度作った覚えがあるが、どうにもうまくいかない。
単純なバブルソートなんだけど・・・。
という訳でとりあえずググってみたらやり方が間違ってた、う~むもう覚えてないとか。
それにバブルソートは単純で勉強には使うけど、遅いし実際には使わないんだそうだ。
関数(命令)をつかったりするらしい。
しかしソートの方法もザッと見 20種類以上はあるんだねえ。
HSPにもソートの関数はあるけど 1次配列のもののようなので、そのままでは使えないかな。
ちょっと自分ではバブルソート以外のソート方法を理解して使いこなすのは難しそうなので、時間的に言ってもバブルソートでやる事にした。
とりあえず出来た
ソースはこんな感じ
sel(n)=自勢力のユニットNo.を格納した配列変数
selb=照合するデータ↑の総数
n1、n2=ユニットNo.
nd1、nd2=比較するデータ
今度は国の編成を変えられるようにしてみる。
タップ座標を作って。
選択したら
抜き差しできるようにする
サラッと書いてるが、それなりに苦労した。