:takahashi_fankit:時計もとうとうタイムゾーンにまで対応するとは……
・なめらかに動く(若干重いです)
・文字盤が一応できました
・タイムゾーンに対応
なんかclockscale
の値だけを変えると文字盤がずれます
原因がわかる方修正版を投稿してください
// タカハシ時計(なめらか)
// Original: @yu4mogi@voskey.icalo.net
// https://voskey.icalo.net/notes/9da7az18ql
// Edited by @Higameshi@voskey.icalo.net
//ここで時計のサイズを調節してください
let clockscale = 0.8
//なんかサイズを変更すると文字盤がずれるので調節してください(たすけて)
let mojibansetting = -2.35
//ここで現在のタイムゾーンなどを設定してください(fpsは大きくすると重くなります)
let timezone = 9.0
let fps = 30
// 現在時刻を取得して数値にして返す
@getCurrentnow(){
return ( Date:now() % (1000*60*60*12)) + (timezone % 24) * (1000*60*60)
}
// 各針の角度を計算
var now = 0
var angle_h = 0
var angle_m = 0
var angle_s = 0
var hand_h = ``
var hand_m = ``
var hand_s = ``
@getTakahashi(){
now = getCurrentnow()
angle_h = ((360/(1000*60*60*12)) * now - 90)
angle_m = ((360/(1000*60*60)) * now - 90)
angle_s = ((360/(1000*60)) * now - 90)
hand_h = `$[position.y=0 $[rotate.deg={angle_h} :blank::blank::blank::takahashi_fankit:]]`
hand_m = `$[position.y=2 $[rotate.deg={angle_m} :blank::blank::blank:$[position.x=1 $[scale.x=1.41,y=0.70 :takahashi_fankit:]]]]`
hand_s = `$[position.y=4 $[rotate.deg={angle_s} :blank::blank::blank:$[position.x=2.5 $[scale.x=2,y=0.125 :takahashi_fankit:]]]]`
return `{hand_s}{Str:lf}{hand_m}{Str:lf}{hand_h}`
}
//文字盤を表示
@quo(x) {
((x[0] - x[0] % x[1]) / x[1])
}
let clockcenter = -5.3
let clockradius = 20
var mojiban = ``
for (let i, 12) {
mojiban = `{mojiban}$[position.x={clockradius*Math:cos((i-3)*(2*Math:PI)/12)},y={clockradius*Math:sin((i-3)*(2*Math:PI)/12)} $[position.x={(i%2)*(-1)*5+2.5},y={clockcenter+quo([i 2])*mojibansetting} $[rotate.deg={-90 + i * (360/12)} :takahashi_fankit:]]]`
if (i%2 !=0) {
mojiban = `{mojiban}{Str:lf}`
}
}
// 描画
let margin_before = `{Str:lf}{Str:lf}{Str:lf}{Str:lf}`
let margin_after = ``
@takahands() {
return {text: `{margin_before}{Str:lf}{getTakahashi()}{Str:lf}{margin_after}` size: clockscale}
}
@main(){
Ui:render([
Ui:C:mfm(takahands() "hands")
Ui:C:mfm({text: `{mojiban}{Str:lf}{Str:lf}` size: clockscale*0.5})
])
}
main()
@draw(){
Async:interval((1000 / fps), @(){Ui:get("hands").update(takahands())}, true) // 1/fps秒ごとに呼び出し
}
draw()
This account is not set to public on notestock.
:takahashi_fankit:時計が重いの、「本人は薄いのに重たい」という面白さが付加されたという意味では却って美味しいまである
This account is not set to public on notestock.
次々とミームが再生産されるを横目に浮上できなかったことに対する悔しさはある
が、おかげでまともにと向き合えたのでヨシ!
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
:shitakara_tsudumi: < 太い解体新書 に書いてあったの。
#靑い解体新書チャレンジ
https://voskey.icalo.net/play/9d5yxm5wot
に垢を生やしてから管理がややこくなったし試しにMissRiricaでも入れてみようかしら
の方にもサブ垢として新たに@6ikka@voskey.icalo.netを設けた