@線1 --track0:線数,2,2048,10,1 --track1:線長,-4096,4096,0,1 --track2:厚,1,800,100,1 --track3:位置,1,800,75,1 --check0:縦⇔横,1 --dialog:図形選択/fig,local fig="四角形";Color/col,col=0xffffff;X描画範囲係数,local ww=1.00;Y描画範囲係数,local hh=1.00; -------------------------------------set local t0=math.floor(obj.track0) local t1=math.floor(obj.track1) local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) local ogvzm=obj.getvalue("zoom")/100 if(ogvzm==0)then ogvzm=0.01 end local sw=obj.screen_w/ogvzm local sh=obj.screen_h/ogvzm ------------------------------------ obj.setoption("drawtarget","tempbuffer",sw*ww,sh*hh) ------------------------------------上下横線 local num=t0-1 local fgs=200 local fln=200 obj.setoption("drawtarget","tempbuffer") obj.load("figure",fig,col,fgs,fln) if(obj.check0)then for i=0,num do xlen=sw*0.425+t1 ylen=sh*0.003125*t2/100 px=0 py=(sh*i/num-sh/2)*t3/100 x0,y0,z0=-xlen+px,-ylen+py,0 x1,y1,z1=xlen+px,-ylen+py,0 x2,y2,z2=xlen+px,ylen+py,0 x3,y3,z3=-xlen+px,ylen+py,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z0) end ------------------------------------左右縦線 else obj.setoption("drawtarget","tempbuffer") obj.load("figure",fig,col,fgs,fln) for i=0,num do xlen=sh*0.003125*t2/100 ylen=sw*0.250+t1 px=(sw*i/num-sw/2)*t3/100 py=0 x0,y0,z0=-xlen+px,-ylen+py,0 x1,y1,z1=xlen+px,-ylen+py,0 x2,y2,z2=xlen+px,ylen+py,0 x3,y3,z3=-xlen+px,ylen+py,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z0) end end obj.load("tempbuffer") @線2 --track0:横長,-4096,4096,0,1 --track1:縦長,-4096,4096,0,1 --track2:厚,1,800,100,1 --track3:位置,1,800,75,1 --dialog:図形選択/fig,local fig="四角形";Color/col,col=0xffffff;縦数,local numh=10;横数,local numw=10;X描画範囲係数,local ww=1.00;Y描画範囲係数,local hh=1.00; -------------------------------------set local t0=math.floor(obj.track0) local t1=math.floor(obj.track1) local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) local ogvzm=obj.getvalue("zoom")/100 if(ogvzm==0)then ogvzm=0.01 end local sw=obj.screen_w/ogvzm local sh=obj.screen_h/ogvzm ------------------------------------ obj.setoption("drawtarget","tempbuffer",sw*ww,sh*hh) ------------------------------------上下横線 numw=numw-1 numh=numh-1 local fgs=200 local fln=200 obj.setoption("drawtarget","tempbuffer") obj.load("figure",fig,col,fgs,fln) for i=0,numh do xlen=sw*0.425+t0 ylen=sh*0.003125*t2/100 px=0 py=(sh*i/numh-sh/2)*t3/100 x0,y0,z0=-xlen+px,-ylen+py,0 x1,y1,z1=xlen+px,-ylen+py,0 x2,y2,z2=xlen+px,ylen+py,0 x3,y3,z3=-xlen+px,ylen+py,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z0) end ------------------------------------左右縦線 local fgs=200 local fln=200 obj.setoption("drawtarget","tempbuffer") obj.load("figure",fig,col,fgs,fln) for i=0,numw do xlen=sh*0.003125*t2/100 ylen=sw*0.250+t1 px=(sw*i/numw-sw/2)*t3/100 py=0 x0,y0,z0=-xlen+px,-ylen+py,0 x1,y1,z1=xlen+px,-ylen+py,0 x2,y2,z2=xlen+px,ylen+py,0 x3,y3,z3=-xlen+px,ylen+py,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z0) end obj.load("tempbuffer") @線3 --track0:横長,0,4096,320,1 --track1:縦長,0,4096,180,1 --track2:厚,1,800,100,1 --track3:位置,1,800,95,1 --dialog:図形選択/fig,local fig="四角形";Color/col,col=0xffffff;縦数,local numh=19;横数,local numw=31;厚み係数%,local atsuc=33.33;X描画範囲係数,local ww=1.00;Y描画範囲係数,local hh=1.00; -------------------------------------set local t0=math.floor(obj.track0) local t1=math.floor(obj.track1) local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) local ogvzm=obj.getvalue("zoom")/100 if(ogvzm==0)then ogvzm=0.01 end local sw=obj.screen_w/ogvzm local sh=obj.screen_h/ogvzm ------------------------------------ obj.setoption("drawtarget","tempbuffer",sw*ww,sh*hh) ------------------------------------上下横線 numw=numw-1 numh=numh-1 local fgs=200 local fln=200 obj.setoption("drawtarget","tempbuffer") obj.load("figure",fig,col,fgs,fln) for i=0,numh do xlen=t0 if(i%2==0)then ylen=t2/100 else ylen=t2/100*atsuc/100 end px=0 py=(sh*i/numh-sh/2)*t3/100 x0,y0,z0=-xlen+px,-ylen+py,0 x1,y1,z1=xlen+px,-ylen+py,0 x2,y2,z2=xlen+px,ylen+py,0 x3,y3,z3=-xlen+px,ylen+py,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z0) end ------------------------------------左右縦線 local fgs=200 local fln=200 obj.setoption("drawtarget","tempbuffer") obj.load("figure",fig,col,fgs,fln) for i=0,numw do if(i%2==0)then xlen=t2/100 else xlen=t2/100*atsuc/100 end ylen=t1 px=(sw*i/numw-sw/2)*t3/100 py=0 x0,y0,z0=-xlen+px,-ylen+py,0 x1,y1,z1=xlen+px,-ylen+py,0 x2,y2,z2=xlen+px,ylen+py,0 x3,y3,z3=-xlen+px,ylen+py,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z0) end obj.load("tempbuffer") @穴 --track0:線数,2,2048,10,1 --track1:サイズ,0,800,20,1 --track2:線幅,0,800,100,1 --track3:位置,1,800,75,1 --check0:縦⇔横,1 --dialog:図形選択/fig,local fig="円";Color/col,col=0xffffff;X描画範囲係数,local ww=1.00;Y描画範囲係数,local hh=1.00; -------------------------------------set local t0=math.floor(obj.track0) local t1=math.floor(obj.track1) local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) local ogvzm=obj.getvalue("zoom")/100 if(ogvzm==0)then ogvzm=0.01 end local sw=obj.screen_w/ogvzm local sh=obj.screen_h/ogvzm ------------------------------------ obj.setoption("drawtarget","tempbuffer",sw*ww,sh*hh) ------------------------------------上下横線 local num=t0-1 local fgs=t1 local fln=t2 obj.setoption("drawtarget","tempbuffer") obj.load("figure",fig,col,fgs,fln) if(obj.check0)then for i=0,num do xlen=fgs/2 ylen=fgs/2 px=0 py=(sh*i/num-sh/2)*t3/100 x0,y0,z0=-xlen+px,-ylen+py,0 x1,y1,z1=xlen+px,-ylen+py,0 x2,y2,z2=xlen+px,ylen+py,0 x3,y3,z3=-xlen+px,ylen+py,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z0) end ------------------------------------左右縦線 else obj.setoption("drawtarget","tempbuffer") obj.load("figure",fig,col,fgs,fln) for i=0,num do xlen=fgs/2 ylen=fgs/2 px=(sw*i/num-sw/2)*t3/100 py=0 x0,y0,z0=-xlen+px,-ylen+py,0 x1,y1,z1=xlen+px,-ylen+py,0 x2,y2,z2=xlen+px,ylen+py,0 x3,y3,z3=-xlen+px,ylen+py,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z0) end end obj.load("tempbuffer") @枠 --track0:角,0,1600,20,1 --track1:全体,0,800,200,1 --track2:線幅,0,100,1,0.01 --track3:比率,0,200,150,1 --check0:縦⇔横,1 --dialog:図形選択/fig,local fig="円";Color/col,col=0xffffff;X描画範囲係数,local ww=1.00;Y描画範囲係数,local hh=1.00; -------------------------------------set local t0=math.floor(obj.track0) local t1=math.floor(obj.track1) local t2=obj.track2 local t3=math.floor(obj.track3) local ogvzm=obj.getvalue("zoom")/100 if(ogvzm==0)then ogvzm=0.01 end local sw=obj.screen_w/ogvzm local sh=obj.screen_h/ogvzm ------------------------------------ obj.setoption("drawtarget","tempbuffer",sw*ww,sh*hh) ------------------------------------上下横線 local fgs1=t0/2 local fgs0=t1/3 local fln local blend="alpha_add" if(fgs1*2>=fgs0*3)then fgs1=fgs0*3/2 end obj.setoption("drawtarget","tempbuffer") fgs,fln=fgs0*3,fgs0*3 fig="四角形" obj.load("figure",fig,col,fgs,fln) x0,y0,z0=-fgs/2*t3/100,-fgs/2,0 x1,y1,z1=fgs/2*t3/100,y0,0 x2,y2,z2=x1,fgs/2,0 x3,y3,z3=x0,y2,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3) fgs,fln=fgs1,fgs1 fig="四角形" blend="alpha_sub" obj.load("figure",fig,col,fgs,fln) obj.setoption("blend",blend) for i=0,3 do r=math.rad(90*i-45) cs=math.cos(r) sn=math.sin(r) dst0=math.ceil(fgs0*3/2*math.sqrt(2)) dst1=math.floor(fgs1/2*math.sqrt(2)) dx=(dst0*t3/100-dst1)*cs dy=(dst0-dst1)*sn obj.draw(dx,dy) end fgs,fln=fgs1*2,fgs1*2 fig="円" blend="alpha_add" obj.load("figure",fig,col,fgs*4,fln*4) obj.setoption("blend",blend) for i=0,3 do r=math.rad(90*i-45) cs=math.cos(r) sn=math.sin(r) dst0=math.ceil(fgs0*3/2*math.sqrt(2))-0.5 dst1=math.floor(fgs1*math.sqrt(2)) dx=(dst0*t3/100-dst1)*cs dy=(dst0-dst1)*sn zm=0.25 obj.draw(dx,dy,0,zm) end if(t2>0)then obj.load("tempbuffer") blend="alpha_sub" obj.setoption("blend",blend) zm=1-t2/100 obj.draw(0,0,0,zm) end obj.load("tempbuffer") --[[http://madeinpc.blog50.fc2.com/]]--