|
|
2007/4/16(Mon) 18:13:55|NO.7503
たとえばマップ作成ツールとか作るときに、
設定画面とエディタ画面とを複数用意したいとき、
設定画面を操作しているときにエディタ画面の方に
操作がいってしまうんですよ。
どうしたらいいでしょうか?
良かったら教えたください。
|
|
2007/4/16(Mon) 18:31:49|NO.7504
gselやginfo_act
を使えばいいんじゃないんでしょうか。
|
|
2007/4/16(Mon) 18:53:00|NO.7507
説明できないのでスクリプトを書きます。
cou=0
dot=16
xsize=16:ysize=16
xscreen=xsize*dot:yscreen=ysize*dot
colorr=255
colorg=255
colorb=255
dim bmp,xsize,ysize,3
screen 0,120,90
objsize 120,30
button "新規",*新規
button "開く",*開く
button "設定",*設定
stop
*新規
*開く
*設定
screen 1,120,90
objsize 120,30
button gosub "色の設定",*色の設定
button gosub "画面サイズ",*画面サイズ
button gosub "保存",*保存
screen 2,xscreen,yscreen
repeat
redraw 0
color 255,255,255:boxf
repeat xsize
cou=cnt
repeat ysize
if bmp(cou,cnt,0)+bmp(cou,cnt,1)+bmp(cou,cnt,2)=0:color 0,255,255:line cou*dot,cnt*dot,cou*dot+dot,cnt*dot+dot:line cou*dot+dot,cnt*dot,cou*dot,cnt*dot+dot:else:color bmp(cou,cnt,0),bmp(cou,cnt,1),bmp(cou,cnt,2):boxf cou*dot,cnt*dot,cou*dot+dot,cnt*dot+dot
loop
loop
color 0,255,255
repeat xsize+1
line cnt*dot,0,cnt*dot,xscreen
loop
repeat ysize+1
line 0,cnt*dot,yscreen,cnt*dot
loop
if mousex<xscreen&mousey<yscreen:color 192,192,192:boxf mousex/dot*dot,mousey/dot*dot,mousex/dot*dot+dot,mousey/dot*dot+dot
stick cou,768
if cou=256:bmp(mousex/dot,mousey/dot,0)=colorr:bmp(mousex/dot,mousey/dot,1)=colorg:bmp(mousex/dot,mousey/dot,2)=colorb
if cou=512:bmp(mousex/dot,mousey/dot,0)=0:bmp(mousex/dot,mousey/dot,1)=0:bmp(mousex/dot,mousey/dot,2)=0
redraw 1
await 1
loop
*色の設定
dialog "",33
colorr=ginfo_r:colorg=ginfo_g:colorb=ginfo_b
if colorr+colorg+colorb=0:colorr=1
return
*画面サイズ
return
*保存
return
不要な部分が多いですけど試してみたください
何が言いたいかわかると思います。
ちなみにこのスクリプトはほかで使わないでください
コンテストに出すかも?しれないから
・・・たぶん出さないけど。
| |
|
2007/4/16(Mon) 19:11:52|NO.7508
こうすれば良いでしょうか。
違ったら教えてください。
cou=0
dot=16
xsize=16:ysize=16
xscreen=xsize*dot:yscreen=ysize*dot
colorr=255
colorg=255
colorb=255
dim bmp,xsize,ysize,3
screen 0,120,90
objsize 120,30
button "新規",*新規
button "開く",*開く
button "設定",*設定
stop
*新規
*開く
*設定
screen 1,120,90
objsize 120,30
button gosub "色の設定",*色の設定
button gosub "画面サイズ",*画面サイズ
button gosub "保存",*保存
screen 2,xscreen,yscreen
repeat
if ginfo_act=2 {
redraw 0
color 255,255,255:boxf
repeat xsize
cou=cnt
repeat ysize
if bmp(cou,cnt,0)+bmp(cou,cnt,1)+bmp(cou,cnt,2)=0:color 0,255,255:line cou*dot,cnt*dot,cou*dot+dot,cnt*dot+dot:line cou*dot+dot,cnt*dot,cou*dot,cnt*dot+dot:else:color bmp(cou,cnt,0),bmp(cou,cnt,1),bmp(cou,cnt,2):boxf cou*dot,cnt*dot,cou*dot+dot,cnt*dot+dot
loop
loop
color 0,255,255
repeat xsize+1
line cnt*dot,0,cnt*dot,xscreen
loop
repeat ysize+1
line 0,cnt*dot,yscreen,cnt*dot
loop
if mousex<xscreen&mousey<yscreen:color 192,192,192:boxf mousex/dot*dot,mousey/dot*dot,mousex/dot*dot+dot,mousey/dot*dot+dot
stick cou,768
if cou=256:bmp(mousex/dot,mousey/dot,0)=colorr:bmp(mousex/dot,mousey/dot,1)=colorg:bmp(mousex/dot,mousey/dot,2)=colorb
if cou=512:bmp(mousex/dot,mousey/dot,0)=0:bmp(mousex/dot,mousey/dot,1)=0:bmp(mousex/dot,mousey/dot,2)=0
redraw 1
}
await 1
loop
*色の設定
dialog "",33
colorr=ginfo_r:colorg=ginfo_g:colorb=ginfo_b
if colorr+colorg+colorb=0:colorr=1
return
*画面サイズ
return
*保存
return
| |
|
2007/4/16(Mon) 19:34:12|NO.7510
ありがとうございます
そういうものがあるんですね
まだ完全に直った訳ではないですが、
ヒントをもとに色々と調整したいと思います。
・・・プログラムって調整していくのも一つの醍醐味?ですよね
|
|