趣味でGUIやるのは避けてきた
正直、とても面倒な印象がありました。
今回は意外とそうではない気がしてくる結果でした。
例によってサンプルコードでお勉強
今回もサンプルコートから読解していきます。
使用するのは4duino > Basic Graphics > Buttonです。
正常に接続されていれば、そのままファイルを読み込んでこんぷんろーどすると動くと思います。
既に画像では僕の改変が施されていますが、タッチレスポンス等々のメインコードはここです。
①Touch Screen情報の更新
state = Display.touch_Get(TOUCH_STATUS); // get touchscreen status
"Display.touch_Get(TOUCH_STATUS);"でstateにon/off情報を格納しています。
②押離しした時点でのtouch point座標を取得
if((state == TOUCH_PRESSED) || (state == TOUCH_MOVING))
コードを解読して知りましたが、ボタンは指が離れた時の座標によって操作できるみたいです。
つまり、ボタンの位置から押し始めてドラッグしてボタン外のほうに行ってしまうと反応せず、ボタン外から、ボタン内に入って押離しすると反応するという仕組み。
③ボタンの入力を格納
Bstate = !Bstate ;
変数Bstateにボタン入力動作を格納しています。!は論理否定ですかね。
押したら論理が反転してif分岐する。と。分岐先に処理が書いてあります。
④ボタンの表示
`Display.gfx_Button(Bstate, 44, 40, PLUM, YELLOW, FONT3, 2, 2, "Press Me") ; // Width=141 Height=33
ここでは、ボタンオブジェクトの表示命令とそのサイズ、色、文字に関してが書いてあるんだと思います。
結果
サンプルコードに手を加えて、押した回数を表示させました。
この回数の処理は一個前の投稿の変数の扱いをそのまま流用しています。
終わりに
とりあえず、スタートラインには立てたような気がします。
ただ、このボードはESPを積んでいるのでWifiを扱えるんですよ。次の投稿では4duinoをLanにWifiで接続してみて、取得した時刻情報を表示する段階に行きたいと思います。