setInterval

setIntervalを利用する事によって、定期的に指定した関数を呼び出せます。 setIntervalの第一引数が呼び出される関数で、2番目の引数が間隔(msec単位)です。 1秒以下の値は1秒に切り上げられます。

以下のサンプルでは、3秒毎に"hoge"という文字列をprintしています。

なお、setIntervalは同時に3つまでしか設定できません。 4つ目を行っても、セットした関数は呼び出されないので、必要に応じてclearIntervalを行いましょう。

layout.xml


<?xml version="1.0" encoding="UTF-8"?>
<Widget>
  <Component name="widget">
    <Bitmap name="initial-bg"/>
    <Component name="normal">
      <Bitmap name="normalBase"/>
    </Component>
    <Component name="focus" visible="0">
      <Bitmap name="focusBase"/>
    </Component>
    <Component name="active" visible="0">
    </Component>
  </Component>
</Widget>

widget.js


var nodeNormal     = getNode("normal");
var nodeNormalBase = getChildNode(nodeNormal, "normalBase");
var nodeFocus      = getNode("focus");
var nodeFocusBase  = getChildNode(nodeFocus, "focusBase");

function callbackfunc() {
  print("hoge\n");
}

function onLoad() {
    loadImage(nodeNormalBase, "./parts/normal.png");
    loadImage(nodeFocusBase,  "./parts/focus.png");

    setInterval(callbackfunc, 3*1000);
}

function onUpKey() {
}

function onDownKey() {
}

function onRightKey() {
}

function onLeftKey() {
}

function onConfirmKey(type) {
}

function onFocus() {
  setVisible(nodeNormal, 0);
  setVisible(nodeFocus, 1);
}

function onUnfocus() {
  setVisible(nodeNormal, 1);
  setVisible(nodeFocus, 0);
}

function onActivate() {
  setVisible(nodeNormal, 0);
  setVisible(nodeFocus, 0);
}


サンプルダウンロード

ウィジェットバンドル : setInterval.zip

YouTubeチャンネルやってます!