obnizのフォーラムは新しいシステムに移行しております。
新しいフォーラムはこちらになりますio:animationの使い方
-
ステッピングモーターを制御する簡単なプログラムを書こうとしています。
io:animationを使って回転を制御するのですが、io:animationの使い方がわからない部分があります。プログラムの概要
web画面に、"clockwise"、"counter"、"stop"という3つのボタンがあり、それらを押すと"時計回り"、"反時計回り"、"停止"という動作をする。プログラムの主要部は次の通り:
var clockwiseAnimation = [ 時計回りのanimation定義 ];
var counterAnimation = [ 反時計回りのanimation定義];obniz.io.animation("clockwise", "loop", clockwiseAnimation);
obniz.io.animation("clockwise", "pause");obniz.io.animation("counter", "loop", counterAnimation);
obniz.io.animation("counter", "pause");$('#clockwise').click(function () {
console.log("clocwise");
obniz.io.animation("counter", "pause");
obniz.io.animation("clockwise", "resume");
});$('#counter').click(function () {
console.log("counter");
obniz.io.animation("clockwise", "pause");
obniz.io.animation("counter", "resume");
});$('#stop').click(function () {
console.log("stop");
obniz.io.animation("clockwise", "pause");
obniz.io.animation("counter", "pause");
});質問
-
現在のプログラムでは、animationを定義するときに
obniz.io.animation("clockwise", "loop", clockwiseAnimation);
obniz.io.animation("clockwise", "pause");
というように、"loop"直後に”pause"を行なっていますが、一瞬動きそうで気持ち悪いコードになっています。この部分は他の書き方ができるでしょうか。 -
もし2つのanimationを同時にresumeしてしまった場合、何が起きるのでしょうか。
obniz.io.animation("clockwise", "resume");
obniz.io.animation("counter", "resume");
-
-
@FUKUI-SHINGO 返信が遅くなってしまいすいません。
質問1 について
他の書き方がないので、アニメーション設定時にpauseの状態で設定できる機能を追加しようと思います。
質問2について
アニメーションが2つある場合は2つ同時に動きます。それぞれ同じIOを操作している場合、競合することがあります。
-
回答いただきありがとうございます。
pause状態でanimationを定義できるといいですね。ステッピングモーターを制御する場合、現在のanimation機構だと使いにくい部分がもう1つあります。
ステッピングモーターを使う多くの場面では、モーターを何度回転するかを正確に制御したい場合が多いです。その場合、animationで指定したIOシーケンスを「1回だけ」とか「n回」とか回数を指定して実行する必要があります。
現在のanimation機構だと実行回数を指定できないので、上記のようなプログラムを書けません。
実行回数を指定してanimationを起動できると嬉しいです。