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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0729
MSX68000実行時にウインドウ出現位置安定方法5未解決


MSX68000

リンク

2021/7/29(Thu) 15:32:08|NO.93357

 作り始めて一年半たちますが、まだチマチマとゲーム完成を進めていますw

 でタイトル通りの質問ですが、作ったHSPプログラムをF5で実行すると、
(マウスポインタの位置によって?)実行ウインドウの出る位置が毎回違います。
この位置を毎回固定(画面中央とか、左上とか)する方法は、ないものでしょうか?

 確かあったような…



この記事に返信する


沢渡

リンク

2021/7/29(Thu) 15:52:42|NO.93358

たとえば、初期状態で画面の中央にウィンドウを表示したいのなら、

#packopt hide 1 //初期ウィンドウが見えない状態にしておく screen 0,800,600,2 //非表示状態でウィンドウ初期化 width ,,(ginfo_dispx-ginfo_sizex)/2,(ginfo_dispy-ginfo_sizey)/2 gsel 0,1
こんな感じでしょうか。



メルクーフ

リンク

2021/7/29(Thu) 18:53:57|NO.93360

 widthを使う以外にも、screenとbgscrなら第5、6パラメータを-1以外にすれば好きな位置に表示できます。例えばscreen 0,800,600,0,100,50とすれば800×600のフルカラーの普通のウインドウをディスプレイの左上から(100,50)の位置に表示できます。省略した場合、-1が代入され、-1だとランダムな場所に表示されます。
 ちなみに-2以下なら指定した位置に表示してくれます。あまりマイナスは指定しない方がいいとは思いますが。

 それでも一瞬、想定外の場所に640×480のウインドウが表示されます。#packopt hide 1は実行ファイルにした時にそれを表示しないようにしてくれる物で、F5では無効だと思うんですが・・・3.6ではできるんですか?
 3.51だと沢渡さんのスクリプトを実行した場合、やっぱりF5では一瞬表示されますが。



沢渡

リンク

2021/7/29(Thu) 21:12:30|NO.93363

#packopt hide 1
はあくまでも実行ファイル化したした時に備えてのものですが、
言葉が足りませんでした。申し訳ありません。



Crystal

リンク

2021/7/30(Fri) 08:44:32|NO.93372

画面中央にするなら、C:\hsp(3.x)\sample\demo\demo.hspにあるソースコードから抜粋した
ものがあります。

x=(ginfo_dispx-600)/2:y=(ginfo_dispy-400)/2 screen 0,600,400,0,x,y
この場合、600と400という数字が通常のスクリーン命令で、縦と横の長さを変更します。



MSX68000

リンク

2021/7/31(Sat) 19:45:20|NO.93404

 ありがとうございます。早速実装します。
以前どっかで見た、かなり簡単な方法だという事は思い出していたが、簡単でしたねw



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.93357への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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