1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

4D SYSTEMS の 4Duinoを試す (GUI・タッチパネルお試し編)4/5

Posted at

趣味でGUIやるのは避けてきた

正直、とても面倒な印象がありました。
今回は意外とそうではない気がしてくる結果でした。

例によってサンプルコードでお勉強

今回もサンプルコートから読解していきます。
使用するのは4duino > Basic Graphics > Buttonです。

正常に接続されていれば、そのままファイルを読み込んでこんぷんろーどすると動くと思います。

Capture15.JPG

既に画像では僕の改変が施されていますが、タッチレスポンス等々のメインコードはここです。

①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
ここでは、ボタンオブジェクトの表示命令とそのサイズ、色、文字に関してが書いてあるんだと思います。

結果

IMG_1685.jpg

サンプルコードに手を加えて、押した回数を表示させました。
この回数の処理は一個前の投稿の変数の扱いをそのまま流用しています。

終わりに

とりあえず、スタートラインには立てたような気がします。
ただ、このボードはESPを積んでいるのでWifiを扱えるんですよ。次の投稿では4duinoをLanにWifiで接続してみて、取得した時刻情報を表示する段階に行きたいと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?