goo blog サービス終了のお知らせ 

パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Android studio ビットボードとタッチ処理の実装

2016-02-25 | コンピュータ
ビットボードで作成した盤面を表示してみます。タッチ処理もついでに実装してみます。
ビットボードは初めて作ってみたのでいい具合にはまりました。


作成内容

8x8のビットボード
ビットボードでビットが1なら緑の四角を描画
タッチした箇所を反転


作成順番

画面に四角を表示を実装
ビットボードの実装
タッチイベントの実装
タッチ位置からビットボードの表示の反転の実装


はまった所

Javaだとlongで64ビットまで利用できるようです。
long data = 0xffffffffffffffff;
だと代入できないので別の方法を使いました。

1を左にシフトさせていくと符号の関係なのか、おかしな動きをするので、
一番上のビットに1を立てたデータから右へ符号なしのシフトに変更しています。

タッチイベントのY座標判定が上部に表示されるアイコン分ずれるようなので補正しています。


ソースコード

画面キャプチャー2枚に収まりました。
Android 4.1対象でBlankActivityで作成したプロジェクトから使っていないコードをばっさり削除しています。

(1)変数、viewの呼出、タイマー処理


(2)viewの実装、タッチ処理、ビットの反転処理、ビットの判定処理



実行画面

実行後タッチして丸を書いてみただけのものです。


あと携帯を縦横替えるとビットボードも初期化されるので縦固定にしました。
FREETEL Priori3以外にもう一台古いAndroid端末も動作確認してます。


開発環境

ubuntu 15.10
Android Studio 1.5.1
Java openjdk version "1.8.0_66-internal"

FREETEL Priori3 LTE SIMフリー
Android 5.1


参考文献

【Android】Viewに描画する
ビット演算子
16進数文字列を整数型へ変換する
画面タッチイベントの基本(1)

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。