重くなります。
そして、色指定しても、その色になりません。
どうか分かる方、回答お願いします。
*定義 #packopt name "ペイントソフトー" #include"mod_menu.as" #define mp_ex point.0 #define mp_ey point.1 #uselib "gdi32" #func Ellipse "Ellipse" int,int,int,int,int #func SelectObject "SelectObject" int, int #cfunc GetStockObject "GetStockObject" int #func SetROP2 "SetROP2" int,int #uselib "user32" #func InvalidateRect "InvalidateRect" int,sptr,int #func SetCapture "SetCapture" int #func ReleaseCapture "ReleaseCapture" #func ScreenToClient "ScreenToClient" int,sptr *めいん hBnull=GetStockObject($00000005) dim rp,4 x=0 y=0 screen 1,120,540,8 isyoku=1 so=3 mouset=1 hu=10 cls *start randomize a=rnd(256) b=rnd(256) c=rnd(256) gsel 1 newmenu menuBar ; 「ファイル」メニュー newmenu subMenu, 1 addmenu subMenu, "&OPEN", 1 addmenu subMenu, "&Save", 2 addmenu subMenu, "&Clear", 3 addmenu subMenu, "", 0, 0x00000800;仕切りの線 addmenu subMenu, "キー操作",4,g addmenu subMenu, "マウス操作",5,h addmenu subMenu, "E&xit", 6 addmenu menuBar, "メニュー", subMenu, 0x00000010 applymenu menuBar oncmd *filecomand,WM_COMMAND *starr gsel 0 if cel=1&celflg=0:screen 0,800,1000:gsel 0,3:picload refstr:celflg=1 screen 1,120,540,8 objsize 120,22 button gosub"SAVE",*save button"クリア",*clr button"乱数色変更",*start button gosub"絵画速度(キー)",*sokudo button "色設定",*mode button gosub"キー設定",*mouseset button"太さ設定",*hutosa button"線設定",*sen button"図形",*zukei button"ステータス",*status button"説明",*setumei if mouset=1:objenable 3,0 *sta gsel 0 title "機能少ないペイントソフト" if mouset=0:gsel 0: oncmd gosub *hantei, $100 if mouset=1:gsel 0: oncmd goto*sdraw,0x0201 if marukaiga=1|sikaiga=1{ oncmd gosub *mdown,$00000201 oncmd gosub *mup,$00000202 oncmd gosub *mmov,$00000200 hBnull=GetStockObject($00000005) dim rp,4 } stop *hantei onerror*sta;エラーが起きても強制的に続行 if wparam=37|wparam=38|wparam=39|wparam=40:goto*sdraw:else:goto*sta *sdraw if mouset=1:repeat if mouset=1{ x=mousex y=mousey } if karafl=1{ a=rnd(256) b=rnd(256) c=rnd(256) }if isyoku!1{ a+=rnd(3)+30 b+=rnd(3)+30 c+=rnd(3)+30 } randomize color a,b,c gsel 0:if sikaku=0:circle x,y,x+hu,y+hu,1 if sikaku=1:boxf x,y,x+hu,y+hu if mouset=1:oncmd goto*sta,0x0202 if mouset=1:await 3:loop if mouset=0{ if so>=1{ stick kye, 255 if(kye & 1) : x = x - so if(kye & 2) : y = y - so if(kye & 4) : x = x + so if(kye & 8) : y = y + so }if so<0{ stick kye, 255 if(kye & 1) : x = x + so if(kye & 2) : y = y + so if(kye & 4) : x = x - so if(kye & 8) : y = y - so } await 9 getkey hidari,37 getkey ue,38 getkey migi,39 getkey sita,40 if nizi=1:a+=1:b+=1:c+=1 if hidari=0|ue=0|migi=0|sita=0:goto*sta *save dialog"",17 if stat:bmpsave refstr pdata=refstr exname=getpath(pdata,2) ; ファイル名の拡張子を取得 if exname="" : pdata+=".bmp" ; 拡張子がなければ.bmpを追加 bmpsave pdata notesel pdata noteadd pdata notesave "peintdata.txt" goto*starr *sokudo gsel 1 cls objsize 120,22 button"早める",*up button"遅める",*down button"戻る",*starr stop *up so+=1 goto*sokudo *down so-=1 goto*sokudo *mode gsel 1 cls objsize 120,22 button"1色指定",*da button"カラフルモード",*rka button"カラー解除",*starto button"戻る",*start stop *da dialog"色を設定",33 a=ginfo(16) b=ginfo(17) c=ginfo(18) karafl=0 isyoku=1 nizi=0 goto*mode *rka karafl=1 isyoku=0 nizi=0 goto*mode *starto karafl=0 isyoku=0 nizi=0 goto*mode *mouseset gsel 1 cls objsize 120,22 button"マウスで操作",*mou button"方向キーで操作",*ky button"戻る",*starr stop *mou mouset=1 goto*sta *ky mouset=0 goto*sta *hutosa gsel 1 cls objsize 120,22 button"太く",*hup button"細く",*hud button"戻る",*starr stop *hup hu+=1 goto*hutosa *hud hu-=1 goto*hutosa *setumei screen 3,610,250 mes"SAVE ・・・現在のペイント画面を「draw.bmp」として保存します" mes"クリア ・・・現在の画面を保存せずに消去します" mes"乱数色変更 ・・・乱数による色のパターンを変更します" mes"絵画速度 ・・・キーボード操作モード時のみ解放され、絵画の粗さを設定します" mes"色設定 ・・・絵画の色を1色だけにするなど色の設定ができます" mes"キー設定 ・・・マウスで操作するか方向キーで操作するかを選択します" mes"太さ設定 ・・・線の太さを設定します" mes"ステータス ・・・現在の設定内容を表示します" button"OK",*minus stop *minus gsel 3,-1 goto*starr *status screen 4,500,200 sdim m if mouset=1:m="マウス":else:m="キーボード" mes"絵画速度:"+so+" キー設定:"+m+" if m="キーボード":mes"絵画速度:"+so if isyoku=1:mes"現在設定されている色:":color a,b,c:boxf 169 ,22,169+25,22+13 if isyoku=0:mes"現在設定されている色:(ランダム)" color mes"線の太さ:"+hu objsize 120,22 button"円本体表示",*en exist "draw.bmp" if strsize!-1:mes"保存データの有無:有り":button"画像データ表示",*hyozi if strsize=-1:mes"保存データの有無:無し" button"OK",*staend stop *en screen 5,hu+12,hu+12 color a,b,c circle 3,3,hu,hu color button"OK",*enend stop *enend gsel 5,-1 goto*status *hyozi screen 6,600,480 picload"draw.bmp" button"OK",*hiend stop *hiend gsel 6,-1 goto*status *staend gsel 4,-1 goto*sta *filecomand if wparam=1{ dialog "",16 if stat{ cel=1 } goto*starr } if wparam=2{ dialog "",17 if stat{ bmpsave refstr } goto*starr } if wparam=3{ cls if cel=1:screen 0:cel=0 goto*starr } if wparam=4{ mouset=0 goto*starr } if wparam=5{ mouset=1 goto*start } if wparam=6{ end } *clr if cel=1:celflg=0:cel=0 cls goto*starr *sen gsel 1 cls button"四角",*sika button"丸",*maru button"戻る",*starr stop *sika sikaku=1 stop *maru sikaku=0 stop *mdown dim point,2 point.0=ginfo(0) point.1=ginfo(1) ScreenToClient hwnd,varptr(point) mp_sx = point.0 //始点X mp_sy = point.1 //始点Y flag_click=1 SetCapture hwnd return *mup SelectObject hdc, hBnull SetROP2 hdc, $0000000D Ellipse hdc, mp_sx, mp_sy, mp_ex, mp_ey flag_click=0 dim rect,4 rp.0=mp_sx rp.1=mp_sy rp.2=mp_ex rp.3=mp_ey InvalidateRect hwnd, varptr(rp), 0 ReleaseCapture color a,b,c circle mp_sx, mp_sy, mp_ex, mp_ey,kurinuki return *mmov if flag_click=1{ if rp.0+rp.1+rp.2+rp.3!0{ if marukaiga=1{ Ellipse hdc, rp.0, rp.1, rp.2, rp.3 InvalidateRect hwnd, varptr(rp), 0 } } SetROP2 hdc, $00000006 dim point,2 point.0=ginfo(0) point.1=ginfo(1) ScreenToClient hwnd,varptr(point) rp.0=mp_sx rp.1=mp_sy rp.2=point.0 rp.3=point.1 if marukaiga=1{ SelectObject hdc, hBnull Ellipse hdc, rp.0, rp.1, rp.2, rp.3 } if sikaiga=1:boxf rp.0, rp.1, rp.2, rp.3 InvalidateRect hwnd, varptr(rp), 0 } return *zukei gsel 1 cls objsize 120,22 button"丸(塗りつぶし)",*manu button"丸(線のみ)",*mase button"四角(塗りつぶし)",*sinu button"図形モード解除",*kai button"戻る",*starr stop *manu marukaiga=1 kurinuki=1 sikaiga=0 goto*starr *mase marukaiga=1 kurinuki=0 sikaiga=0 goto*starr *sinu sikaiga=1 marukaiga=0 kurinuki=0 goto*starr *kai marukaiga=0 goto*starr