外部コードと外部ライブラリ

このチュートリアルでは,luaのライブラリやコードを含んだファイルをKwikで使用する方法について解説します。

例えば,このライブラリ mylibrary.luaはページ内に含まれているレイヤーをデバッグプリントのコンソールに表示するものです。

local _M = {}
_M.print = function(layer)
  for k,v in pairs(layer) do
    print (k)
  end
end
return _M

mydebug.luaを利用して、myLib.print()関数のパラメーターにlayerテーブルを渡します。layerテーブルには、パブリッシュされたページの各レイヤーが格納されています。

この外部コード -mydebug.lua- はprint関数を実行するためにmyLibを使用します.これは一行のコードです。

myLib.print(layer)

myLibrary.luaとmydebug.luaは下のzipファイルに格納されています。

http://www.kwiksher.com/tutorials/Kwik4/Recording.zip


外部ライブラリの追加

Project&Propertiesから,Add External Libraryをクリックします。

+ アイコンを選択

mylibrary.luaを選択して,myLibと名前を付けます.


外部コードの追加

Project and Pages > Add External Codeをクリックします。

mydebug.lua を選択します.

  • Name: mydebug
  • After layers を選択します

レイヤーのライフサイクルと外部コードの挿入位置は、下記の関係となります。After layersはオブジェクトが表示される直前に外部コードが実行されることを意味しています。

  • composer.create
    • Before layersでは,レイヤーを表示する前に外部コードを読み込みます
    • 例えば,mult-language projectといった変数を設定するときに,現在のセクションにあわせたlanguage codeを選択します.
    • After layersでは,レイヤーを表示した後に外部コードを読み込みます
    • 新しいオブジェクトを表示します
    • ボタンが生成されます
  • composer.show
    • After buttons and actionsでは,ボタンが押されたりやアクションが発生したときに外部コードを読み込みます
    • オブジェクトを表示
    • タイマーを起動
  • composer.hide
    • Disposeでは,レイヤーが隠れたときに外部コードを読み込みます
    • オブジェクトを隠します
  • composer.destrory
    • timers/animationを消去します

外部コードや外部ライブラリのluaファイルを変更したときは、再度パブリッシュを実行して、コード変更を反映する必要があります。

補足

  • パブリッシュされたluaファイルは build4/components/page01/pageext_lib_code.lua に格納されます。
  • Kwikパネルから外部コードを使わずに、コードを挿入するには tmplt/components/pageXXX/pageext_lib_code.lua を編集した方が簡単でしょう.しかしこの場合,ページ番号とコード自体に注意を配る必要があります.ページ番号はUI.CurPageでアクセスすることが可能です。.

results matching ""

    No results matching ""