▶ 実 行
▶ 実行
クリア
お月様描画関数
by 雪乃☆雫
月描画プラグイン=プラグイン名。 # 設定 月色=「#FFDD33」。 影色=「#112233」。 ●(xyへ|xyに半径で月齢の)月描画 x=xy[0]。y=xy[1]。 定数 [左回転,右回転]=[はい,いいえ]。 月齢=(月齢+30)%30。# マイナスや30以上が指定されても大丈夫にする。 # もろもろ記憶 塗色保存=「sys.__ctx.fillStyle」をJS実行。 線色保存=「sys.__ctx.strokeStyle」をJS実行。 # 半月を描画 月色に塗り色設定。空に線色設定。 回り方=左回転。 もし、月齢<15ならば、回り方は右回転。# 上弦の月は左が影で右が月、下弦の月は右が影で左が月なので、右回りか左回りかで描き分ける。 もし、月齢=0でなければ、[x,y,半径,半径,0,270をラジアン変換,90をラジアン変換,回り方]の楕円描画。 # 新月の時は月を描画しない。 # 半円の影を描画 影色に塗り色設定。 回り方は回り方の向き逆転 もし、月齢=15でなければ、[x,y,半径,半径,0,270をラジアン変換,90をラジアン変換,回り方]の楕円描画。 # 満月の時は影を描画しない。 # 影の端位置計算 楕円x幅=(半径*COS(月齢/30*(360をラジアン変換)))の絶対値。 # 斜辺(半径)と角度(朔望の一巡り)からコサインで底辺(x座標)を求める。 # 楕円描画 もし、月齢が7.5から22.5の範囲内ならば、 月色に塗り色設定。 # 上弦の半月から満月を挟んで下弦の半月までは月色。 回り方は回り方の向き逆転。 # 月色の時は回りが逆になる。 ここまで。 [x,y,楕円x幅,半径,0,90をラジアン変換,270をラジアン変換,回り方]の楕円描画。 # もろもろ元に戻す 塗り色保存に塗り色設定。線色保存に線色設定。 ここまで。 ●(回り方の)向き逆転 (回り方+1)%2で戻る。 ここまで。 #以下はテスト もし、月描画プラグイン=「メイン」ならば、 月齢=0。 0.1秒毎には 影色に塗り色設定。 [0,0,300,300]に四角描画。 # 背景 [150,150]に100で月齢の月描画。 # 月 白色に塗り色設定。「bold 20px sans-serif」に描画フォント設定。 [20,30]に「月齢 {(月齢%30)を1で小数点四捨五入}」を文字描画。 月齢=月齢+0.1。 ここまで。 ここまで。
873