'■ '■ ふゆですね〜というわけでゆ〜きやこんこん '■ screen 0 '▼ 雪粒の最大値 s_max = 240 '▼ 雪テクスチャ準備 settex 0,64,64,32768:cls 10 setatr 0,1,(0,0,3,0,0,0) active 10 for i=-32 to 32 for j=-32 to 32 c=36/(xdist(i,j)^2/5+1) ' c=31/( ((abs(i)+1)*(abs(j)+1))^2)*16 :' をはずすと輝き度120%アップ(当社比) c=rgbadd(0,c,c,c) if c<=0 then c=-1 pset (31+j,31+i),c next next pset (31,31),32767 '▼ はじめの雪粒をばらまく for i=1 to s_max u = (u+1) mod s_max v = u+1 gosub *set_new_obj vsync 3 next '▼ それぞれの雪の動きを管理する *loop '▼ k:大まかな風向きの計算 k = (k+rnd(30))and 65535 for i=0 to 10 u = (u+1) mod s_max v = u+1 '▼ f:細かな風向きの計算 f = xsin((k+rnd(5000))/65536) '▼ 雪粒の速度変更 d = obj(v,@zp) obj(v,@xv)=1000*f/(d+1) '▼ 画面外に出た場合の処理 if obj(v,@yp)>300 then gosub *set_new_obj x = obj(v,@xp) if x>400/2 then obj(u+1,@xp)=-352/2,rnd(300)-150 if x<-400/2 then obj(u+1,@xp)=352/2,rnd(300)-150 next vsync goto *loop *set_new_obj objatr v,,0 d = rnd(2000)+100 obj(v,@xs )= 100/d obj(v,@xp )= rnd(400)-400/2,-200,d obj(v,@type )= 1 obj(v,@yv) = 1000/d return