HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0416
512MB複数の画面を扱うには?4解決


512MB

リンク

2007/4/16(Mon) 18:13:55|NO.7503

たとえばマップ作成ツールとか作るときに、
設定画面とエディタ画面とを複数用意したいとき、
設定画面を操作しているときにエディタ画面の方に
操作がいってしまうんですよ。
どうしたらいいでしょうか?
良かったら教えたください。



この記事に返信する


KENTA

リンク

2007/4/16(Mon) 18:31:49|NO.7504

gselやginfo_act
を使えばいいんじゃないんでしょうか。



512MB

リンク

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
不要な部分が多いですけど試してみたください
何が言いたいかわかると思います。
ちなみにこのスクリプトはほかで使わないでください
コンテストに出すかも?しれないから
・・・たぶん出さないけど。



KENTA

リンク

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



512MB

リンク

2007/4/16(Mon) 19:34:12|NO.7510

ありがとうございます
そういうものがあるんですね
まだ完全に直った訳ではないですが、
ヒントをもとに色々と調整したいと思います。
・・・プログラムって調整していくのも一つの醍醐味?ですよね



ONION software Copyright 1997-2023(c) All rights reserved.