ゲームを作る際、配列でマップを作るのにマップエディタを作ろうと思いました。
そして、画面の指定した箇所をクリックすると、マップチップが置けたり、
キーボードの矢印キーで視点変更をするという仕様にしました。
その際、getkeyでキーボードやマウスの指定されたボタンが押されたのを把握し、
マップチップを配置したり、保存や移動などをするようにしました。
一応ソース乗っけておきます。
getkey mousl,1 //左クリック getkey mousr,2 //右クリック getkey ky1,17;CTRLボタンを押してるか getkey ky8,79;oボタンを押してるか getkey ky0,83;sボタンを押してるか getkey ky4,37;左ボタンを押してるか getkey ky5,38;上ボタンを押してるか getkey ky6,39;右ボタンを押してるか getkey ky7,40;下ボタンを押してるか if kf = 0 & ky0 = 1 & ky1 = 1 : gosub *save //CTRL + S if kf = 0 & ky8 = 1 & ky1 = 1 : gosub *load //CTRL + O if kf = 0 & ky4 = 1 & lx > 0 : lx -= 8*32 : kf = 1 //→でマップチップ画面を右に移動させる if kf = 0 & ky6 = 1 & lx < mapx * 32 - 16 * 32 : lx += 8*32 : kf = 1 //←でマップチップ画面を左に移動させる if kf = 0 & ky5 = 1 & brock < 10 : brock++ : kf = 1 //上下でマップチップ選択 if kf = 0 & ky7 = 1 & brock > 0 * 32 - 16 * 32 : brock-- : kf = 1 //上下でマップチップ選択 if kf = 1 & ky4 = 0 & ky6 = 0 & ky5 = 0 & ky7 = 0 : kf = 0 //1度押して一気に数値が変わるのを防止 if mousl = 1 : map(int(mousex + lx)/32,int(mousey)/32) = brock //マップチップを配置 if mousr = 1 : map(int(mousex + lx)/32,int(mousey)/32) = 0 //マップチップを除去
その際、別のウインドゥを選択し、CTRL+Sを押すと、HSPの実行画面もCTRL+Sが実行されてしまったり、
別のウインドゥでクリックをすると、HSPの実行画面でも変な所がクリックされたイベントが発生します。
要は、HSPのウインドゥが最前面じゃない時に、HSPの実行画面を動かさない方法は有りますか?
という所です。
何か良い対策は有りませんか?
検索かけてもなかなか見つからないので、この場をお借りして質問する事にしました。
既出の質問でしたらすみません。