キャラ選択画面を作ってる


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=比較するデータ
 
 
 今度は国の編成を変えられるようにしてみる。

 タップ座標を作って。


 
 
 選択したら

 抜き差しできるようにする

 サラッと書いてるが、それなりに苦労した。

コメントを残す

メールアドレスが公開されることはありません。