5/21日食シュミレーションを作ってみました。
初めてd3moduleを使ったけど使い方はこれでいいのかな?
#include "d3m.hsp"
d3mkparticle 0,255,255,100
d3setcam 1000,0,1000,0,0,0
boxf
per=97;食分初期値%
dx=0;月の描画位置補正値
color 255,255,255
font "MS ゴシック",18
mes "月の大きさ: 太陽の %"
pos 215,0:input per,35
pos 0,25:mes "中心偏差: -100〜 〜+100"
pos 215,25:input dx,35
pos 0,50:button "start",*start
sunr=150;太陽の直径
sunx=320-sunr/2;太陽の描画位置
suny=240-sunr/2
*start
color :boxf 0,70,640,480
monr=0.01*per*sunr ;月の直径
monstx=320-monr/2+110;月の描画start位置
monsty=240-monr/2-110;月の描画start位置
dr=monr-sunr ;月と太陽の直径差
about=10
repeat 250
redraw 0
color :boxf 0,70,640,480
monx=monstx-cnt+dx
mony=monsty+cnt+dy
zure=abs((monx-dx/2)-(320-monr/2))
if abs(zure)<=about :wait 10;:if per>=100:d3particle 0,0,0,0 , (about-zure)*50;コロナ
if monx<=sunx & monx+monr >=sunx+sunr & mony<=suny & mony+monr>=suny+sunr{
wait 10
d3particle 0,0,0,0 , (about-zure)*55;コロナ
}
color 255,255,100
circle sunx,suny,sunx+sunr,suny+sunr
color ;,255
circle monx,mony,monx+monr,mony+monr
redraw 1
if monx-dx/2=320-monr/2:wait 100;中心
title ""+cnt
wait 10
loop
stop