ブロックのならべ方

今回は実際に自分でブロックを並べてプログラムしてみましょう。
どうやってブロックを並べたらよいかを見ながらやってみましょう。

ブロックはどこにあるのか

画面の中に使えるブロックは用意されています。

まず、クイックスタートでやっていたようにブロックプログラムエディタを開きましょう。

すると、左側にアイコンが並んでいると思います。

下にある画像のようにパソコンなど、横幅の大きなディスプレイではアイコンの意味がわかる文字が並んでいます。この中にすべてのブロックがあります。
それぞれクリックすることでそれに関係するブロックを見ることができます。
例えば「ループ」を開くと、何かを繰り返すためのブロックが出てきます。

スマホなどの場合は説明する文字がなくなってアイコンだけになります。
ループは回っているようなアイコンになります。指でタップすると関係するブロックが出てきます。

このように左側にブロックが種類別に分けられています。
一番上はobnizで、それ以外に電子部品だったり、画面上の部品だったり、あとは「ループ」といった部品ではないプログラムの流れを決めるためのブロックもあります。
この中から使いたいブロックをドラッグすることで実際にプログラムしていきます。

ブロックを置いてならべる。

では、実際に並べてみましょう。
「UI」にある「"text"をコンソールに表示する」というのをすでに画面にある3つのブロックの最後に繋いでみます。

左側の「UI(指のアイコン)」を押すと「"text"をコンソールに表示する」というのがあると思います。
それをクリックしたまま、またはスマホなら指で抑えたまま動かすとついてくると思います。
そのまま、3つあるブロックの一番下につないでみましょう。

そしてそのブロックの"text"となっている部分を「つながった」にしてみます。

obnizがオンラインなのであれば、そのまま実行してみましょう。
すると接続ができた時にobnizにHello Worldと出るのと同時に、プログラムしている画面の方にも「つながった」という文字が表示されると思います。

ブロックプログラムの流れ

ブロックプログラムではつないだ順番にプログラムが実行されます。
いま、エディタ上に並べてあるのはこの4つです。

<!-- Block Program Example -->
<xml xmlns="http://www.w3.org/1999/xhtml">
  <variables>
    <variable type="obniz" id="X2:3=S(hsdv0mk{aavHW">obniz</variable>
    <variable type="UIButton" id="80uQ37Yg!_RM@zbm[`cF">button</variable>
    <variable type="UIButton" id="#7$4fAkr(P%;.%JaKIy`">backbutton</variable>
    <variable type="UIButton" id="akidXEU*0XQ}VT^!o6Sp">rightbutton</variable>
    <variable type="UIButton" id="KBvD*sLV+fD7(ieEkq5x">leftbutton</variable>
    <variable type="" id="hpvY$6K[tgY$$/L_8%xc">count</variable>
    <variable type="dcmotor" id="V?6USN(jVhQ,P{82]/*M">dcmotor</variable>
    <variable type="airobotkit" id="Jk=/mw~HxfZs@VDVmFYY">airobotkit</variable>
    <variable type="led" id="!MAt1@Dsy)#f.p,K@;=%">led</variable>
  </variables>
  <block type="obniz_connect" id="Z8!^LPO*[5?q{e*57()u" x="154" y="225">
    <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
    <value name="obniz_id">
      <shadow type="text" id="XmI_$os3vVOeQ~scg106">
        <field name="TEXT">OBNIZ_ID_HERE</field>
      </shadow>
    </value>
    <next>
      <block type="obniz_display_clear" id="IH@@e2/stl|mivwfHz]_">
        <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
        <next>
          <block type="obniz_display_print" id="l/M,013ykECVSn6l./Kg">
            <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
            <value name="print_text">
              <shadow type="text" id="3EjI$(bK^%tlo_`PGasq">
                <field name="TEXT">Hello, World!</field>
              </shadow>
            </value>
            <next>
              <block type="obniz_debug_text" id="e+()Yb@2p51R(`z-n?)x">
                <value name="text">
                  <shadow type="text" id="1dT(c-7Cr9sl;{nI,z9J">
                    <field name="TEXT">つながった</field>
                  </shadow>
                </value>
              </block>
            </next>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

実行すると、この4つが上から順番に実行されます。

まず、obniz 8506-3053とあなたのPC/スマホがつながります。
(もちろんobniz idは人によって違います)

つながるのが完了するまでその下のブロックには行きません。
つまり、「ディスプレイを消す」がその下にありますが、obnizにつながるまで消えることはありません。

obnizとつながって次にやることは「ディスプレイを消す」です。
このディスプレイはobniz上にある画面のことです。
消されますので、表示されているものが全て消えて、真っ黒になります。

次に「Hello, World を表示する」です。これによりディスプレイにこの文字が表示されます。

最後に「"つながった"をコンソールに表示する」により今プログラムしている画面の方に「つながった」が表示されます。

これだけでは退屈なプログラムですが、それでもはじめてのブロックプログラムです!

ブロックのはずしかた・消し方

並べたブロックを外して入れ替えたり、消す方法です。
中央の2つ、obnizのディスプレイを動かす部分を削除してみましょう。

やりかたはたくさんありますが、一番ていねいなやりかたでやってみましょう。
このブロックプログラムエディタでは、つかんだブロックがはずれるとその下のブロックも一緒についてきます。
まず、「obnizのディスプレイを消す」を持って、外してしまいましょう。

次に「"つながった"をコンソールに表示する」をつかんで、「obniz id ""に接続する」の下につなぎます。

これでやりたいことができました!しかし、「ディスプレイを消す」と「Hello Worldを表示する」がもういらないので消したいです。
消すやり方は2つあります。パソコンの方は選んだ状態で「Delete」ボタンを押せばブロックが消えます。
スマホの方は画面の右下にあるゴミ箱のアイコンまで持っていって離すことでブロックが消えます。

ブロックを小さくする・大きくする

ブロックが小さすぎたり、逆にに大きくて不便なときは、
画面右下のゴミ箱の上にある+とーをつかうことで全体の大きさを変えることができます。



Next : How to work program continuously

You will Get in Few Days

Circuit for Starter “obniz Board” is available on Amazon and other online stores.
You can get it at below

Our products and resellers

Forum

Visit our developer’s forum to discuss and discover technologies.

Forum

Contact

Feel free to contact out support and technical team.

Contact us