トップページ⇒tech
13コメント4KB

VBでフルスクリーンのゲームを作りたい

■ このスレッドは過去ログ倉庫に格納されています
0001まなNGNG
VBでフルスクリーンのソフトを作りたいのですが、
DirectXなどを使わずにAPIだけでできますか?
もしできるのでしたら、サンプルコードを
教えていただけませんでしょうか?
0002名無しさん@お腹いっぱい。NGNG
DirectXだってAPIだろうが
画面サイズを調べてウインドウをその大きさにすれば?
あとタイトルバー消してさ
0003>1NGNG
DirectDrawで解像度を切り替えるのが一番安全確実だと思うのだが、
それをやらない理由は?
0004名無しさん@お腹いっぱい。NGNG
スクリーンセーバーを参考に・・・
0005ほわいとあうとNGNG
擬似フルスクリーン(笑)

Private Sub Form_KeyDown(KeyCode As Integer@` Shift As Integer)
'Escを押せば終了
If KeyCode = vbKeyEscape Then Unload Me
End Sub

Private Sub Form_Load()
'プロパティでBorderStyle 0-なし
Me.KeyPreview = True
Me.Appearance = 0
Me.BackColor = &H0&
Me.WindowState = 2
'Me.WindowState = 2が嫌なら
'Me.WindowState = 0
'Me.Top = 0
'Me.Left = 0
'Me.Height = Screen.Height
'Me.Width = Screen.Width
End Sub

注意点は最前面表示にならないことです。
0006ほわいとあうとNGNG
連続書きこみ?
馬鹿でスマン!!!
もう現れないであろう。さらばじゃ
私は、馬鹿です。
0007名無しさん@お腹いっぱい。NGNG
最前面なAPI
Public Declare Function SetWindowPos Lib "user32" _
(ByVal hWnd As Long@` _
ByVal hWndInsertAfter As Long@` _
ByVal X As Long@` _
ByVal Y As Long@` _
ByVal cx As Long@` _
ByVal cy As Long@` _
ByVal uFlags As Long) As Long
Public Const HWND_TOP = 0
Public Const HWND_BOTTOM = 1
Public Const HWND_TOPMOST = (-1)
Public Const HWND_NOTOPMOST = (-2)
Public Const SWP_NOSIZE = &H1&
Public Const SWP_NOMOVE = &H2&
Public Const SWP_NOZORDER = &H4&
Public Const SWP_NOREDRAW = &H8&
Public Const SWP_NOACTIVATE = &H10&
Public Const SWP_FRAMECHANGED = &H20&
Public Const SWP_SHOWWINDOW = &H40&
Public Const SWP_HIDEWINDOW = &H80&
Public Const SWP_NOCOPYBITS = &H100&
Public Const SWP_NOOWNERZORDER = &H200&
Public Const SWP_DRAWFRAME = SWP_FRAMECHANGED
Public Const SWP_NOREPOSITION = SWP_NOOWNERZORDER
を宣言して
lngRet = SetWindowPos(Me.hWnd@` _
HWND_TOPMOST@` _
0@` _
0@` _
0@` _
0@` _
SWP_NOMOVE Or SWP_NOSIZE)
終わり
0008名無しさん@お腹いっぱい。NGNG
解像度変えると気ってみんなDirect Xでやるけど、
なんでAPIたたかないの?僕はAPIのほうが好き。
>1
ChangeDisplaySettingsExあたりを調べてみてね。
00098NGNG
>解像度変えると気ってみんなDirect Xでやるけど、
変換ミスった。スマソ!
0010名無しさん@お腹いっぱい。NGNG
>8
失敗しない?それ
ビデオカードによってさ
0011>8NGNG
環境によって再起動しないとならない場合があるのと、
別のプログラムに切り替わった時点で解像度が元に戻らないのと、
最終的に解像度が元に戻る保証が無いことが使わない理由
0012ウイルスバスター2001 NGNG
DirectXだと、対応ビデオカードの場合は、同じ記述ですむから、たいていはDirectX
を使うんでしょ?

もともと、DirectXでゲーム用の関数集だもん
といっても、最終的にはKernel32.dllやgdi32.dllにアクセスしてるんだろうけど

機種依存を気にしないなら、DriectXの方がいいかもしれない。
0013shu-提督 NGNG
つぅかVBなんぞでゲームを作ろうとするなよ。
■ このスレッドは過去ログ倉庫に格納されています