23:18:52 @6ikka@voskey.icalo.net
icon

:ozisan:​​:kiritan_excite:

Attach image
18:50:37 @6ikka@voskey.icalo.net
icon

​:takahashi_fankit:​時計もとうとうタイムゾーンにまで対応するとは……

18:49:41 @6ikka@voskey.icalo.net
2023-04-08 18:48:17 ひがめし@ぼすきーの投稿 Higameshi@voskey.icalo.net
タカハシ時計(なめらか)、一応できました(問題があるのでたすけて)
icon

・なめらかに動く(若干重いです)
・文字盤が一応できました
・タイムゾーンに対応

なんか
clockscaleの値だけを変えると文字盤がずれます
原因がわかる方修正版を投稿してください 
:watasimo_yattanndakarasa_wide:

// タカハシ時計(なめらか)
// 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()

13:08:44 @6ikka@voskey.icalo.net
icon

暫定的なリアクションデッキの構築に成功した
:tukurusikanai_hoshiimonoha_wide:

Attach image
10:59:36 @6ikka@voskey.icalo.net
2023-04-08 01:31:28 イカロ(さばかん)(ここにDMが来ても恐らく反応出来ません)の投稿 savacan@voskey.icalo.net
icon

このアカウントは、notestockで公開設定になっていません。