Working with variables

変数はプログラミングにとって最も大切な要素になります. アプリは、変数を設定し保持することによって,条件付きの動作など様々な動作を実現することが可能になります.このプロジェクトでは,オーディオファイルを再生中の判定をする変数を使用します.

変数を作成するために,Toolset Project に移動し,PagesからCreate variable(最後の行にある大きなXのアイコン)を選択します.

選択すると下のようなウィンドウが表示されます:

  • Name: aPlaying
  • Content: Number
  • Type: Local

変数の名前を aPlayingに設定し,その初期値は 0に設定します.Local(ローカル)変数は現在のページのみの使用となります。

画像の切り替え

次に Switchレイヤーをボタンとして振る舞うように設定します.このとき,このレイヤーのFillが0%になっているか注意してください. Tips:これは目には見えないようなボタンをKwikで使うための仕掛けとなります.

ユーザーがスイッチボタンを押したときに,Text01とLightOnのレイヤーが隠れ,Text02とLightOffのレイヤーが現れます.また,この変化後にthey.mp3とlights.mp3が自動的に再生されます.

Swithレイヤーを選択した状態で,Add buttonを押してください.

このボタンはいくつかの動作を行います.以下の設定が必要です。

  • Show/Hide LightOn
  • Show/Hide Text01
  • IF aPlaying == 0 Then
    • Stop Audio lights
    • Play Audio they
    • Edit Variable aPlaying = 1
  • ELSE
    • Edit Variable aPlaying = 0
    • Stop Audio they
    • Play Audio lights
  • END

  • 右にはaction tableをスクロールするためのバーがあります
  • 右上の角にウィンドウのサイズを変更するためのボタンがあります
  • Selectアイコンを押すと,現在自分が選択している行の順番を前後に変更させたり,消去することができます.

名前(Name)をつけたら,それでは一行一行、設定をしていきましょう。

Show/Hide

左側のInteractionsテーブルに移動し,CommonからShow/Hideを選択してください.ウィンドウが開いたら,下の設定を有効にしてください:

  • Common > Show/Hide
    • Layer: LightOn
    • Toggle show/hide enabled
    • Duration: 0 seconds

可能な限り早く LightOnレイヤーを隠す設定(duration 0, delay 0)にしています.また見えない状態になってから,再度現れるようにToggle show/hideの項目を有効にします. 最終的に,そのレイヤーが現れてユーザーがスイッチのボタンを押すと,またそのレイヤーが隠れるようになります.こうして相互的な動作を作ることができました.

これと同様のことをText01でも行います.Createを押すと,Actionリストに2つの動作が追加されます.

Text01とLightOnのレイヤーが透明になると,ユーザーはText02とLightOffのレイヤーが見えるようになります.

IF/ELSE/END

変数を用いることによって,IF/ELSE/ENDの条件が使用可能になります.Kwikならコードを書くことなく、これらの操作を扱うことができます.それでは操作方法についてみていきましょう.

適切な画像に対して、それに対応した正しいテキストや音楽を流す必要があります.このような場合,まさしくIFの条件設定が必要です。

IF

下記のウィンドウが開かれていない場合,Interactions->ConditionからIFを選択してください.ウィンドウが開いたら,下の設定に合わせてください.

  • Condition > IF
    • Variable: aPlaying
    • Operator: Equal
    • Comparison: 0

どのオーディオファイルが再生されているか記憶するために変数 aPlayを設定したことを覚えてますか?この変数を使うときがきました.IFの変数であるaPlayingが 0のときという条件を追加します。

次に変数が0の時の動作(アクションリスト)を作りましょう.

InteractionsからAudioに移動しましょう.次にStop Audioを選択します.リストからaudio lightsを選択します.変数が0の時に they.mp3を再生できる状態にしたいので,初めに流していたオーディオファイルである lights.mp3 を停止します.

  • Audio > Stop
    • Audio: lights

  • Audio > Play
    • Audio: they
    • Loop 1 times

Audio categoryにまだいる場合,Play Audioを選択してください.

次のステップは,変数を変更することです(変数が1の時 they.mp3を再生します).Interactions->CodeからEdit Variableを選択してください.変数のvalueを1に設定してください.

  • Code > Edit Variable
    • Variable: aPlaying
    • Value: 1

ELSE

これで最初のシナリオでのアクションリストの作成は終了しました.次に,2番目のシナリオの設定を行います(ユーザーはこの時点で画像が切り替わるのを期待しています).Interactions->ConditionからELSEを選択しましょう.下のようなウィンドウが表示されます:

  • Condition > ELSE

ELSEをアクションリストに挿入しましょう.

they.mp3 をストップさせて,lights.mp3を再生するように設定しましょう.そして,変数を0に設定しましょう.以下の設定を参考にしてください.

  • Audio > Stop

    • Audio: they
  • Audio > Play

    • Audio: lights
    • Loop 1 times
  • Code > Edit Variable

    • Variable: aPlaying
    • Value: 0

END

IFの動作を終わらせるためにENDを設定する必要があります.Interactions->ConditionからEND IFを選択しましょう.

  • Condition > END IF

これで完了です.Createボタンを押すと,プロジェクトをパブリッシュすることができます.


おめでとうございます!1冊目となる絵本の完成です!もし,プロジェクトをビルドしてあなたのお持ちのiPhone/iPad/Androidn上でアプリを動作確認したい場合には,下のリンクのCorona SDKのドキュメントをお読みになってください.

results matching ""

    No results matching ""