僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
直接記述したブロックに置き換えられる、らしい。
デフォルトで用意されているLEDパターンをアイコンとして呼び出せる、
らしい。
流石に5x5では荒すぎて、大抵は「そう見えなくもない」程度
だけど。
basic.showIcon(IconNames.Heart)
が、ランダムに出力させたい場合、
ブロックでいちいち呼び出すのは邪魔くさい。
色々つついているうちに、数字で指定すればできることがわかった。
basic.forever(() => { basic.showIcon(Math.random(40)) })
で、
できたモノ。
ブロック表示すると、既成のブロックで用意されていなければ
"basic.showIcon(Math.random(40))"と書かれたブロックになった。
最前のbasic.showIcon()の2つめの省略可能な引数は、点灯時間(ミリ秒)らしい。
これを増減させたいと思ったが、ボタン押下があまりうまくできなかった。
揺さぶると遅くなり、ひっくり返すと初期値に戻る程度でお茶を濁す
(
スクリーンショット、
hexファイル)。
let ratio = 0 let speed = 0 input.onGesture(Gesture.Shake, () => { speed += ratio }) input.onGesture(Gesture.ScreenDown, () => { speed += 1 speed = 50 }) speed = 50 ratio = 100 basic.forever(() => { basic.showIcon(Math.random(40), speed) })
利用して、
なんとかそれっぽく。
左に傾けて速く、右で遅くなる、ように見えるように(
スクリーンショット、
hexファイル)。
let min = 0 let max = 0 let ratio = 0 let speed = 0 input.onGesture(Gesture.TiltRight, () => { if (speed < max) { speed += ratio } }) input.onGesture(Gesture.TiltLeft, () => { if (speed > min) { speed += ratio * -1 } }) speed = 50 ratio = 200 max = 3000 min = 0 basic.forever(() => { basic.showIcon(Math.random(40), speed) if (speed < min) { speed = min } if (speed > max) { speed = max } })
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。