約 3,115,298 件
https://w.atwiki.jp/directx/pages/15.html
Alt + Enter でウインドウモードとフルスクリーンを切り替えます。 //---------------------------------------------------------- // フルスクリーン切り替え ( Alt + Enter ) //-------------------------------------------------------------- #include windows.h #include d3dx9.h #include dxerr9.h #define RELEASE(x) if(x){x- Release();x=NULL;} HINSTANCE g_hInstance = NULL; // インスタンス・ハンドル HWND g_hWindow = NULL; // ウインドウ・ハンドル HMENU g_hMenu = NULL; // メニュー・ハンドル LPCSTR g_szAppTitle = DirectX9 Screen Change ; LPCSTR g_szWndClass = Window1 ; RECT g_rectWindow; // ウインドウ・モードでの最後の位置 // 起動時の描画領域サイズ bool g_bWindow = true; // 起動時の画面モード SIZE g_sizeWindowMode = { 640, 480 }; // ウインドウ・モード SIZE g_sizeFullMode = { 640, 480 }; // フルスクリーン・モード D3DFORMAT g_formatFull = D3DFMT_X8R8G8B8; // ディスプレイ(バック・バッファ)・フォーマット // アプリケーションの動作フラグ bool g_bActive = false; // アクティブ状態 /*------------------------------------------- グローバル変数(DirectX関連) --------------------------------------------*/ // インターフェイス LPDIRECT3D9 g_pD3D = NULL; // Direct3Dインターフェイス LPDIRECT3DDEVICE9 g_pD3DDevice = NULL; // Direct3DDeviceインターフェイス D3DPRESENT_PARAMETERS g_D3DPP; // D3DDeviceの設定(現在) D3DPRESENT_PARAMETERS g_D3DPPWindow; // D3DDeviceの設定(ウインドウ・モード用) D3DPRESENT_PARAMETERS g_D3DPPFull; // D3DDeviceの設定(フルスクリーン・モード用) bool g_bDeviceLost = false; // デバイスの消失フラグ /*------------------------------------------- 関数定義 --------------------------------------------*/ LRESULT CALLBACK MainWndProc(HWND hWnd,UINT msg,UINT wParam,LONG lParam); /*------------------------------------------- アプリケーション初期化(最初に一度だけ呼ばれる) --------------------------------------------*/ HRESULT InitApp(HINSTANCE hInst) { // アプリケーションのインスタンス・ハンドルを保存 g_hInstance = hInst; // IMEを禁止する ImmDisableIME(-1); // このスレッドで禁止 // ウインドウ・クラスの登録 WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)MainWndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInst; wcex.hIcon = NULL; wcex.hIconSm = NULL; wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = NULL; wcex.lpszClassName = g_szWndClass; if (!RegisterClassEx( wcex)) return DXTRACE_ERR( InitApp , GetLastError()); // メイン・ウインドウ作成 g_rectWindow.top = 0; g_rectWindow.left = 0; g_rectWindow.right = g_sizeWindowMode.cx; g_rectWindow.bottom = g_sizeWindowMode.cy; AdjustWindowRect( g_rectWindow, WS_OVERLAPPEDWINDOW, FALSE); g_rectWindow.right = g_rectWindow.right - g_rectWindow.left; g_rectWindow.bottom = g_rectWindow.bottom - g_rectWindow.top; g_rectWindow.top = 0; g_rectWindow.left = 0; RECT rect; if (g_bWindow) { // (ウインドウ・モード用) rect.top = CW_USEDEFAULT; rect.left = CW_USEDEFAULT; rect.right = g_rectWindow.right; rect.bottom = g_rectWindow.bottom; } else { // (フルスクリーン・モード用) rect.top = 0; rect.left = 0; rect.right = g_sizeFullMode.cx; rect.bottom = g_sizeFullMode.cy; //g_hMenu = LoadMenu(g_hInstance, MAKEINTRESOURCE(IDR_MENU1)); } g_hWindow = CreateWindow(g_szWndClass, g_szAppTitle, g_bWindow ? WS_OVERLAPPEDWINDOW WS_POPUP, rect.left, rect.top, rect.right, rect.bottom, NULL, NULL, hInst, NULL); if (g_hWindow == NULL) return DXTRACE_ERR( InitApp , GetLastError()); // ウインドウ表示 ShowWindow(g_hWindow, SW_SHOWNORMAL); UpdateWindow(g_hWindow); return S_OK; } /*------------------------------------------- DirectX Graphics初期化 --------------------------------------------*/ HRESULT InitDXGraphics(void) { // Direct3Dオブジェクトの作成 g_pD3D = Direct3DCreate9(D3D_SDK_VERSION); if (g_pD3D == NULL) return DXTRACE_ERR( InitDXGraphics Direct3DCreate9 , E_FAIL); // D3DDeviceオブジェクトの設定(ウインドウ・モード用) ZeroMemory( g_D3DPPWindow, sizeof(g_D3DPPWindow)); g_D3DPPWindow.BackBufferWidth = 0; g_D3DPPWindow.BackBufferHeight = 0; g_D3DPPWindow.BackBufferFormat = D3DFMT_UNKNOWN; g_D3DPPWindow.BackBufferCount = 1; g_D3DPPWindow.MultiSampleType = D3DMULTISAMPLE_NONE; g_D3DPPWindow.MultiSampleQuality = 0; g_D3DPPWindow.SwapEffect = D3DSWAPEFFECT_DISCARD; g_D3DPPWindow.hDeviceWindow = g_hWindow; g_D3DPPWindow.Windowed = TRUE; g_D3DPPWindow.EnableAutoDepthStencil = FALSE; g_D3DPPWindow.AutoDepthStencilFormat = D3DFMT_A1R5G5B5; g_D3DPPWindow.Flags = 0; g_D3DPPWindow.FullScreen_RefreshRateInHz= 0; g_D3DPPWindow.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; // D3DDeviceオブジェクトの設定(フルスクリーン・モード) ZeroMemory( g_D3DPPFull, sizeof(g_D3DPPFull)); g_D3DPPFull.BackBufferWidth = g_sizeFullMode.cx; g_D3DPPFull.BackBufferHeight = g_sizeFullMode.cy; g_D3DPPFull.BackBufferFormat = g_formatFull; g_D3DPPFull.BackBufferCount = 1; g_D3DPPFull.MultiSampleType = D3DMULTISAMPLE_NONE; g_D3DPPFull.MultiSampleQuality = 0; g_D3DPPFull.SwapEffect = D3DSWAPEFFECT_DISCARD; g_D3DPPFull.hDeviceWindow = g_hWindow; g_D3DPPFull.Windowed = FALSE; g_D3DPPFull.EnableAutoDepthStencil = FALSE; g_D3DPPFull.AutoDepthStencilFormat = D3DFMT_A1R5G5B5; g_D3DPPFull.Flags = 0; g_D3DPPFull.FullScreen_RefreshRateInHz = 0; g_D3DPPFull.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; // D3DDeviceオブジェクトの作成 if (g_bWindow) g_D3DPP = g_D3DPPWindow; else g_D3DPP = g_D3DPPFull; HRESULT hr = g_pD3D- CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, g_hWindow, D3DCREATE_HARDWARE_VERTEXPROCESSING, g_D3DPP, g_pD3DDevice); if (FAILED(hr)) { hr = g_pD3D- CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, g_hWindow, D3DCREATE_SOFTWARE_VERTEXPROCESSING, g_D3DPP, g_pD3DDevice); if (FAILED(hr)) return DXTRACE_ERR( InitDXGraphics CreateDevice , hr); } // ビューポートの設定 D3DVIEWPORT9 vp; vp.X = 0; vp.Y = 0; vp.Width = g_D3DPP.BackBufferWidth; vp.Height = g_D3DPP.BackBufferHeight; vp.MinZ = 0.0f; vp.MaxZ = 1.0f; hr = g_pD3DDevice- SetViewport( vp); if (FAILED(hr)) return DXTRACE_ERR( InitDXGraphics SetViewport , hr); return S_OK; } /*-------------------------------------------- 画面の描画処理 --------------------------------------------*/ HRESULT Render(void) { // シーンのクリア g_pD3DDevice- Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(255, 255, 255), 1.0f, 0); // シーンの描画開始 if (SUCCEEDED(g_pD3DDevice- BeginScene())) { // シーンの描画終了 g_pD3DDevice- EndScene(); } // シーンの表示 return g_pD3DDevice- Present(NULL, NULL, NULL, NULL); } /*------------------------------------------- ウインドウ・サイズの変更 --------------------------------------------*/ HRESULT ChangeWindowSize(void) { // ウインドウのクライアント領域に合わせる HRESULT hr = g_pD3DDevice- Reset( g_D3DPP); if (FAILED(hr)) { if (hr == D3DERR_DEVICELOST) g_bDeviceLost = true; else DestroyWindow(g_hWindow); return DXTRACE_ERR( ChangeWindowSize Reset , hr); } // ビューポートの設定 D3DVIEWPORT9 vp; vp.X = 0; vp.Y = 0; vp.Width = g_D3DPP.BackBufferWidth; vp.Height = g_D3DPP.BackBufferHeight; vp.MinZ = 0.0f; vp.MaxZ = 1.0f; hr = g_pD3DDevice- SetViewport( vp); if (FAILED(hr)) { DXTRACE_ERR( ChangeWindowSize SetViewport , hr); DestroyWindow(g_hWindow); } return hr; } /*------------------------------------------- 画面モードの変更 --------------------------------------------*/ void ChangeDisplayMode(void) { g_bWindow = !g_bWindow; if (g_bWindow) { g_D3DPP = g_D3DPPWindow; } else { g_D3DPP = g_D3DPPFull; GetWindowRect(g_hWindow, g_rectWindow); } HRESULT hr = g_pD3DDevice- Reset( g_D3DPP); if (FAILED(hr)) { if (hr == D3DERR_DEVICELOST) g_bDeviceLost = true; else DestroyWindow(g_hWindow); DXTRACE_ERR( ChangeDisplayMode Reset , hr); return; } if (g_bWindow) { SetWindowLong(g_hWindow, GWL_STYLE, WS_OVERLAPPEDWINDOW | WS_VISIBLE); if(g_hMenu != NULL) { SetMenu(g_hWindow, g_hMenu); g_hMenu = NULL; } SetWindowPos(g_hWindow, HWND_NOTOPMOST, g_rectWindow.left, g_rectWindow.top, g_rectWindow.right - g_rectWindow.left, g_rectWindow.bottom - g_rectWindow.top, SWP_SHOWWINDOW); } else { SetWindowLong(g_hWindow, GWL_STYLE, WS_POPUP | WS_VISIBLE); if(g_hMenu == NULL) { g_hMenu = GetMenu(g_hWindow); SetMenu(g_hWindow, NULL); } } } /*------------------------------------------- DirectX Graphicsの終了処理(初期化に失敗したときも呼ばれる) --------------------------------------------*/ bool CleanupDXGraphics(void) { RELEASE(g_pD3DDevice); RELEASE(g_pD3D); return true; } /*------------------------------------------- アプリケーションの終了処理(最後に呼ばれる) --------------------------------------------*/ bool CleanupApp(void) { // メニュー・ハンドルの削除 if (g_hMenu) DestroyMenu(g_hMenu); // ウインドウ・クラスの登録解除 UnregisterClass(g_szWndClass, g_hInstance); return true; } /*------------------------------------------- ウィンドウ処理 --------------------------------------------*/ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, UINT wParam, LONG lParam) { HRESULT hr = S_OK; switch(msg) { case WM_ACTIVATE g_bActive = (LOWORD(wParam) != 0); break; case WM_DESTROY // DirectX Graphicsの終了処理 CleanupDXGraphics(); // ウインドウを閉じる PostQuitMessage(0); g_hWindow = NULL; return 0; // ウインドウ・サイズの変更処理 case WM_SIZE if (g_D3DPP.Windowed != TRUE) break; if (!g_pD3DDevice || wParam == SIZE_MINIMIZED) break; g_D3DPP.BackBufferWidth = LOWORD(lParam); g_D3DPP.BackBufferHeight = HIWORD(lParam); if(g_bDeviceLost) break; if (wParam == SIZE_MAXIMIZED || wParam == SIZE_RESTORED) ChangeWindowSize(); break; case WM_SETCURSOR if (g_D3DPP.Windowed != TRUE) { SetCursor(NULL); return 1; } break; case WM_KEYDOWN // キー入力の処理 switch(wParam) { case VK_ESCAPE // [ESCAPE]キーでウインドウを閉じる PostMessage(hWnd, WM_CLOSE, 0, 0); break; } break; case WM_SYSKEYDOWN // Alt + 特殊キーの処理に使う switch(wParam) { case VK_RETURN // Alt + Enterを押すと切り替え ChangeDisplayMode(); break; default break; } break; } // デフォルト処理 return DefWindowProc(hWnd, msg, wParam, lParam); } /*-------------------------------------------- アイドル時の処理 --------------------------------------------*/ bool AppIdle(void) { if (!g_pD3D || !g_pD3DDevice) return false; if (!g_bActive) return true; // 消失したデバイスの復元処理 HRESULT hr; if (g_bDeviceLost) { Sleep(100); // 0.1秒待つ // デバイス状態のチェック hr = g_pD3DDevice- TestCooperativeLevel(); if (FAILED(hr)) { if (hr == D3DERR_DEVICELOST) return true; // デバイスはまだ失われている if (hr != D3DERR_DEVICENOTRESET) return false; // 予期せぬエラー hr = g_pD3DDevice- Reset( g_D3DPP); // 復元を試みる if (FAILED(hr)) { if (hr == D3DERR_DEVICELOST) return true; // デバイスはまだ失われている DXTRACE_ERR( AppIdle Reset , hr); return false; // デバイスの復元に失敗 } } // デバイスが復元した g_bDeviceLost = false; } // 画面の更新 hr = Render(); if (hr == D3DERR_DEVICELOST) g_bDeviceLost = true; // デバイスの消失 else if (FAILED(hr)) return false; return true; } /*-------------------------------------------- メイン ---------------------------------------------*/ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) { // アプリケーションに関する初期化 HRESULT hr = InitApp(hInst); if (FAILED(hr)) { DXTRACE_ERR( WinMain InitApp , hr); return 0; } // DirectX Graphicsの初期化 hr = InitDXGraphics(); if (FAILED(hr)) DXTRACE_ERR( WinMain InitDXGraphics , hr); // メッセージ・ループ MSG msg; do { if (PeekMessage( msg, 0, 0, 0, PM_REMOVE)) { TranslateMessage( msg); DispatchMessage( msg); } else { // アイドル処理 if (!AppIdle()) // エラーがある場合,アプリケーションを終了する DestroyWindow(g_hWindow); } } while (msg.message != WM_QUIT); // アプリケーションの終了処理 CleanupApp(); return msg.wParam; }
https://w.atwiki.jp/sevenlives/pages/202.html
コントロールシーケンス?
https://w.atwiki.jp/wikiroid/pages/18.html
デフォルトから変更することでフルスクリーンにすることができます。
https://w.atwiki.jp/memset/pages/124.html
歌月十夜自体は最近のWindows OSでも起動しますが、おそらく大抵の場合はフルスクリーン化ができないと思われます。それについて試したことをメモしておきます。 なぜフルスクリーン化できない? NScripterをDLしてきて色々試したところ、どうもNScripterでフルスクリーン化を実行するには、そのゲームのウィンドウサイズ(デフォルトでは640×480)をOSの「ディスプレイの解像度」として設定できる必要があるようです(あくまで手持ちのPCでフルスクリーン化に成功する場合/しない場合を調べた結果からの推測ですが)。 そのため、歌月十夜の場合であれば、ディスプレイの解像度として640×480が選択可能なモニターを使用していないとフルスクリーン化できないようです。Windows10~であれば、「デスクトップで右クリック→ディスプレイ設定」から確認できます。 [補足] 自分でNScripterのバージョンを最終版にアップデート(NScripterの公式サイトからDL)させた場合、上記の条件を満たさずにフルスクリーン化を実行させようとすると操作不能になります。万一この状態に陥った場合はCtrl+Alt+Delを押してください(Windows10~ならそのあと単にキャンセルを押して閉じるだけで一応アプリケーションを終了できるようになります。他のOSでもタスクマネージャーからアプリケーションを終了させることができると思います)。 ついでに書いておくと、この最終版でプレイする場合、CDを挿入していない状態でCD-DAをオンにすると挙動が不安定になります。ですので、CD無しでプレイする場合はCD-DAをオフにしてください。(最終版だとエフェクトが少し軽くなったりBGMにフェードアウトが適用されるなど利点もあるのですが) フルスクリーン化させるソフト 自分が現在使っているモニターでは640×480が使用できなかったので、どうにかして問題を回避する方法がないか探してみました。結果として、下記のソフトを使ったらフルスクリーン化に成功しました。 なんでもフルスクリーン化ツール(仮) http //bygzam.seesaa.net/article/112085773.html これ自体が10年以上前に公開されてそのまま止まってるっぽいソフトなので他のゲームでもうまくいくかはわかりませんが、とりあえず歌月十夜は動きました(マウス操作もできました)。 ※なお、フルスクリーン化とウィンドウの最大化は別物なので、単にウィンドウを最大化させるだけの方法では大抵失敗すると思われます。 調べていないこと(グラフィックボードの設定) 自分の環境では実験できなかったのですが、どうもグラフィックボードのコントロールパネルで解像度関連の設定をいじっても解決することがあるようです。
https://w.atwiki.jp/moematome/pages/352.html
プレイ動画「萌えもんとボクと時々オトン」うp主。 使用パッチは金銀ver。 HNの由来はメイン画面外をちょこちょこと動き回る萌えもんアイコン。 マイリスト 第一作:【金銀ver】 萌えもんとボクと時々オトン(進行中) 関連用語
https://w.atwiki.jp/acedi4wiki/pages/69.html
画面からはみ出たとき、指定された移動を行います。 キャラクターが行動中であり、このフローが実行されると、 画面外であってもキャラクターがその場の位置から指定された動きをします。 使用方法 説明欄 関連情報
https://w.atwiki.jp/pokemongobag/pages/96.html
トレーナー画面でアバターを回転させるとアバターが画面外に行ってしまうバグ。 ※未修正?
https://w.atwiki.jp/jinsichi/pages/172.html
元々ある「画面外から登場」を改良してブラーや移動距離を指定できるようにしてみました。 ■ダウンロード http //ux.getuploader.com/Jin7/download/149/gamengaiPlus.zip http //youtu.be/bFLEoRBJYq8
https://w.atwiki.jp/bf_4/pages/788.html
バトルスクリーンとは? バトルスクリーンの使い方 コメント欄 バトルスクリーンとは? サブディスプレイやタブレット端末から利用できる、バトルログの補助機能です。 バトルフィールド 4をプレイ中にバトルログへログインすることで、各機能が利用できます。 バトルスクリーンの使い方 まずバトルフィールド4にメインPCでログインします。 つぎに前述の対応端末からバトルログへログインし、画面下部のバトルスクリーンボタンを押します。 このとき装備ボタンやサーバボタンを押すことで、ゲーム内から操作することなく変更が行えます。 バトルスクリーンボタンを押すと、ゲーム内のフルマップのような画面が表示されます。 画面下部右にあるボタンを押すとメニューバーが消え、フルスクリーン表示になります。 このバトルスクリーンは拡大・縮小にも対応しており、最も拡大するとこれくらいになります。 コメント欄 最新順 ラグが10秒以上あんやけど...... - 2016-02-14 06 14 06 接続なしになるんですがどうすればいいですか汗 - 2015-07-21 13 54 26 「接続なし」が出て使えない。windowsのFW切っても繋がらない。 - 2014-04-29 01 57 11 繋がらない(´・_・`) わざわざネクサス7買ったのにorz - 2014-03-18 20 42 02 マルチディスプレイ環境で自分のプレイ中のゲームをBattleスクリーンで表示してスクリ - 2014-03-02 20 19 39 途切れちゃった。 表示したスクリーンを見ながらプレイするとそれなりに捗る。 - 2014-03-02 20 20 23 バトルスクリーンしようとしても 接続なしとか言われて表示されやん… - 2014-02-26 00 10 12 バトルスクリーンを押すと、アプリが止まる… こちらはPS3版同様、フリーズ地獄健在のようだ。 - 2014-02-24 12 26 15 コンセプトビデオの説明だと、これで旗への分隊命令も出来る筈だったとか・・・ - 2014-01-06 13 39 27
https://w.atwiki.jp/news4xna/pages/80.html
This example demonstrates how to start a game in full screen. この作例では、ゲームをフルスクリーンモードで開始させる方法を説明します。 フルスクリーンでゲームを開始する方法 1. Microsoft.Xna.Framework.Gameクラスを継承する。 2. GraphicsDeviceManagerを作成したら、PreferredBackBufferWidthとPreferredBackBufferHeightに画面の幅と高さを入れる。 3. IsFullScreenをtrueにする。 C# +... Using Statements using System; using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; public class Game1 Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; ContentManager content; public Game1() { graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 800; graphics.PreferredBackBufferHeight = 600; graphics.PreferMultiSampling = false; graphics.IsFullScreen = true; } protected override void Initialize() { // TODO Add your initialization logic here base.Initialize(); } protected override void LoadGraphicsContent(bool loadAllContent) { if (loadAllContent) { // TODO Load any ResourceManagementMode.Automatic content } // TODO Load any ResourceManagementMode.Manual content } protected override void UnloadGraphicsContent(bool unloadAllContent) { if (unloadAllContent == true) { content.Unload(); } } protected override void Update(GameTime gameTime) { // Allows the default game to exit on Xbox 360 and Windows if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { this.Exit(); } // TODO Add your update logic here base.Update(gameTime); } protected override void Draw(GameTime gameTime) { graphics.GraphicsDevice.Clear(Color.CornflowerBlue); // TODO Add your drawing code here base.Draw(gameTime); } }