トップページgamedev
1001コメント397KB

DXライブラリ 総合スレッド 2008

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/10/25(土) 17:37:53ID:BCFbbKco
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。

DXライブラリの詳細ついては
http://homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。

DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

過去スレ:DXライブラリ 総合スレッド
      http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
0352名前は開発中のものです。2008/12/23(火) 12:16:16ID:0Fgrfb5X
>>351
そうか
それはすまんかった

あー。そういえばあったような気がしないでもないな。
でも俺の技術では処理速度が遅くてスプライトを動かす程度しかできなかった
スクロールとかもってのはか。
0353名前は開発中のものです。2008/12/23(火) 15:26:44ID:9N5u30T9
してたっけ。
もう覚えてないやw
0354名前は開発中のものです。2008/12/23(火) 16:45:08ID:SQBujvLn
つーか、毎回全画面書き換えに耐えられないからページ切り替えはヘルプ画面とかで
利用してた気がしないでもないが。
0355名前は開発中のものです。2008/12/23(火) 17:12:48ID:VOrvPW1P
タイトル画面を一瞬で表示するために使ってた。
あとはAVGの絵や3D迷路の表示とか。
アクション系のゲームには使わなかったな。
0356名前は開発中のものです。2008/12/23(火) 17:42:12ID:1h1OeV87
ページを切り替えないと、
ロゴとかが生成される様子が眺められるんだよな。あれはあれで楽しかった。
0357名前は開発中のものです。2008/12/23(火) 17:47:08ID:0Fgrfb5X
やっぱりいろいろ工夫する必要あったよね。
でもDXライブラリ使ったらそんなことまったく考えなくてよかったから
カルチャーショックだった。
0358名前は開発中のものです。2008/12/23(火) 19:15:26ID:5et0/vdD
流石に時代は変わったわ。
ま、MSXBASICのノリでかる〜く作っちゃえ。
0359名前は開発中のものです。2008/12/23(火) 20:09:58ID:LP/OttsW
なんだこの40代スレ
0360名前は開発中のものです。2008/12/23(火) 22:47:31ID:fMIdyvOB
How many pages ? ■
0361名前は開発中のものです。2008/12/24(水) 00:56:47ID:DPn+CnyU
MSXが導入されて、それまでのマシンで頻発してた
「雑誌掲載のソースコードを打ち込んでも自分のマシンだと動かない」っていうのが
少なくなったって印象があったなあ。

まあ、MSX自体のバージョンアップがあって、その栄光も一瞬だったんですけどね!


>359
まだ20代の真ん中くらいだよ!
0362名前は開発中のものです。2008/12/24(水) 01:58:38ID:fELrH+/v
Windowsが導入されて、
「自分で作ったプログラムが他人のPCでは動かない」っていうのが
少なくなった…………かな?
0363名前は開発中のものです。2008/12/24(水) 05:58:03ID:IOaM1VJp
昔はスペックのわりにマシンも高価だったし
CPUやビデオをアップグレードするには、PCをまるごと買い換えるのが基本だったり
お殿様商売の時代だったなあ
0364名前は開発中のものです。2008/12/24(水) 06:59:35ID:S9NW4iC4
>>350
>>351
MSX1なのか2なのか2+なのかターボRなのかどのスクリーンモードなのかで話が違ってくるし
ここはDirectXのスレじゃなくDXライブラリのスレだぜ!
0365名前は開発中のものです。2008/12/24(水) 09:24:20ID:WpOVuCI5
VECTOR3 hoge;
hoge = mL.GetCameraEyePoint();

としてVECTOR3の中身をとりだしたいのですが
hoge.x
とかいうような形でとりだせないものでしょうか?
0366名前は開発中のものです。2008/12/24(水) 09:43:56ID:WpOVuCI5
VECTOR3 cc;
cc.x=5;
mL.printf("cc.x=%d", cc.x);

としてもcc.x=0って表示されてしまいます。
0367名前は開発中のものです。2008/12/24(水) 09:51:25ID:WpOVuCI5
すみません。
mL.printf("cc.x=%f", cc.x);
にしたら表示されました。
0368名前は開発中のものです。2008/12/28(日) 11:21:41ID:DBaYT0uR
DXライブラリの描画をウィンドウハンドルを渡して
とあるウィンドウ内に表示することはできないでしょうか?

こんな感じで
http://blogs.wankuma.com/yo/archive/2008/01/25/119183.aspx
0369名前は開発中のものです。2009/01/04(日) 19:04:03ID:X40+Kh+H
更新が止まってるようだけど
DXライブラリ3Dって完成したの?
0370名前は開発中のものです。2009/01/05(月) 13:47:48ID:hCfaSDI/
失礼ですが質問です。
DXライブラリでプログラムを作って起動し、終了させたのですが、
なぜかウィンドウは消えてもタスクバーに"DxLib"が残ってしまいます。
閉じようと何度も試しましたが消えてくれません(タスクマネージャでもダメ)。
以前同じことが起こった時はパソコンの電源をスイッチから直接切らないといけませんでした。
何か解決策はないでしょうか。

このトラブルが発生した時は自分の失敗で無限ループを脱せず、
ツールバーのデバッグの停止を使って終了させました。
たぶん原因はこれだと思います。
0371名前は開発中のものです。2009/01/05(月) 14:31:31ID:etDOrpmF
DxLib_End()
を呼ばなかったからに1票
0372名前は開発中のものです。2009/01/05(月) 15:06:35ID:hCfaSDI/
>>371
一応プログラムには書いてありますが、
その無限ループが発生したループ内では通ってないと思います。
これが原因なのでしょうか。
しかしDxLib_End()を通ると即プログラム終了だと思っていたのですが・・・
0373名前は開発中のものです。2009/01/05(月) 15:15:38ID:aPIdrXEx
DxLib_End()はライブラリの終了であって、
ちゃんとその後ループから抜けてプログラム自体終了(WinMainからreturn)してるの?
0374名前は開発中のものです。2009/01/05(月) 15:16:28ID:va+Hleat
>何か解決策はないでしょうか
>たぶん原因はこれだと思います。
>これが原因なのでしょうか。
ソースも晒さず、これだ、あれだと聞き返されても返答が難しいよね

>失礼ですが質問です。
失礼だと思ったので、回答は出来かねます

0375名前は開発中のものです。2009/01/05(月) 16:13:33ID:hCfaSDI/
>>374
私に誠意が足りませんでした。申し訳ございません。

どう書けばよいのか分からないのですが、
WINMAINの中でreturnさせる直前にDxLib_End()を置いています。
DxLib_End()は一度限りでいいと思っていましたがもしかして違ったいたのでしょうか。

私が尋ねたかったのは、プログラムの起動中、
もしくは無限ループで抜け出せない時にデバッグの停止を行うと、
上述のトラブルが発生するのでしょうか、ということです。
分かりづらくて本当に申し訳ございません。

ソースに関しては、プログラムの内容について尋ねていたつもりではなかったため、
晒さずに漠然とした質問になってしまいました。この点に関しても私に落ち度がありました。
抜粋するのが適当だとは思いますが、ソースを全部晒しておきます。
ttp://www6.uploader.jp/dl/falljohn/falljohn_uljp00026.zip.html


・・・喧嘩腰に見えるorz 敬語って難しいです。
0376名前は開発中のものです。2009/01/05(月) 16:20:42ID:hCfaSDI/
これではただの丸投げですねorz

int WINAPI WINMAIN( 略 ){

(ここにプロトタイプ宣言した関数) ←ここの中で無限ループが発生している

DxLib_End();
return 0;
}

という風にはしています。
ソースでは一応ですがループを自分で抜けられるようには少し変えています。
0377名前は開発中のものです。2009/01/05(月) 18:20:18ID:P66gcfVh
ソースのヒドさがなんか好感もてるなw

>(ここにプロトタイプ宣言した関数) ←ここの中で無限ループが発生している

>DxLib_End();

それだと、
そのループから処理が抜けない限り、絶対にDxLib_End()には辿り着かない

そんでデバッグツールでの停止ではもちろんDxLib_End()が呼ばれず、それが問題だというのは一応あってるかもしれない
0378名前は開発中のものです。2009/01/05(月) 19:02:24ID:KsfcQKrh
Flashのムービークリップや、
JavaScriptのsetIntervalのように
毎フレーム実行させるようにセット・解除できるような機能はないでしょうか?
0379名前は開発中のものです。2009/01/05(月) 23:22:56ID:etDOrpmF
>>376
ソース見るのだるいから見ないが、
ループを抜けられるようにしてあるなら、ループを抜けてみてプロセスが残ってないか確かめればいいじゃないか。
プロセスがしっかり終了してればDxLib_End()が呼ばれてなくてそれが問題だったって分かるんじゃないか?まぁ、これだけじゃそうとも限らないが。
それでもし終了できていたらDxLib_End()を書いたものと書かないものとを比べればちゃんと分かるが。
で、それが分かればおのずと質問に答えられると思うが。
ただ、ProcessMessage()だっけ?で処理してくれるような終了の仕方(ってある?)の場合には、そこらをしっかり書けばちゃんと終了できると思うが。
0380名前は開発中のものです。2009/01/05(月) 23:59:30ID:V4nq/52k
>>376
  while(CheckHitKey(KEY_INPUT_SPACE)==0){
    battle();
    WaitKey();
  }

  ScreenFlip();
  WaitKey();
  DxLib_End();
  return 0;
}

これだとProcessMessageで-1引いてもループ抜けられないような気がする。
whileの条件式にProcessMessageの判定加えたらいいんでは。
あと抜けた後のWaitKeyは、強制終了後も参照されてしまうのでやめたほうがいい。
0381名前は開発中のものです。2009/01/06(火) 00:18:40ID:F/Rau1w+
>毎フレーム実行させるようにセット・解除できるような機能はないでしょうか?
何を毎フレーム実行させたいんだ?
というか質問は一つづつにしろよ
0382名前は開発中のものです。2009/01/06(火) 07:35:09ID:Oinf+8tR
>>381
情報が足りませんでした。申し訳ありません。
JavaScriptでは、
var set = setInterval(function(){
  〜〜処理〜〜
}, 1);
のようにすると、1ミリ秒ごとにfunctionを呼び出すことができます。
また、clearInterval(set);で解除することもできます。
同じように毎フレーム実行させることはできるでしょうか。
whileに全て入れるのが面倒なのです。
0383名前は開発中のものです。2009/01/06(火) 08:50:13ID:35IX/qYC
>>379,380
アドバイスありがとうございます。
ProcessMessage()を完全に忘れていました。
まだまだ基本がなっていないようなので、しばらくROMって学んでいこうと思います。
0384名前は開発中のものです。2009/01/06(火) 09:59:47ID:eUx/xd8R
>>382
どうも、聞きたいことがよく分からん。
while文に入れるのが面倒なほどに大量に関数があるのか?
複数の関数を一つの関数の中にまとめて、まとめた関数をwhile文の中においておくってのじゃダメなんか?
それとも、while文に全て入れるのが面倒じゃなくて、
フレーム管理とかプログラムの状態遷移が分からないってことか?
ってか、それはライブラリというより言語の使用じゃないか?
もし仮にDxライブラリで出来たとしても、登録、解除のし忘れとかでバグの原因になりそうに思えるんだが。
0385名前は開発中のものです。2009/01/06(火) 11:50:37ID:WsDU+BU3
設計の問題であってDXライブラリとは関係ないな
for (int i = 0; i < enemyCount; i++) enemy[i].Update();
こういうようなことを言ってるの?
0386名前は開発中のものです。2009/01/06(火) 15:00:44ID:Oinf+8tR
>>384
whileに全て入れるのが面倒に感じていましたが、言われてみるとそうですね。
>>385
毎フレーム実行させるという意味でこちらにきましたが、観点がずれていたようです。
while文の中にforループを入れるという発想はありませんでした。試行錯誤してみようと思います。ありがとうございました。
0387名前は開発中のものです。2009/01/06(火) 15:06:41ID:WsDU+BU3
>>385みたいなのって定石だから
試行錯誤するよりも初心者サイトでも見て素直に真似した方がいいよ
0388名前は開発中のものです。2009/01/06(火) 20:56:28ID:Nr8kFssc
>>377
少なくともVSの「デバッグの停止」ならDxLib_End()が呼ばれなかろうとなんだろうとちゃんとリソースを解放してくれるはず。
>>370がいつまでも終了しなかったのはexeを直接起動したかリリースビルドだったのでは?

>>380
WaitKey()は別に問題ないよ。

あとScreenFlip()がWhileの外にあったら画面更新されないから中へ。
0389名前は開発中のものです。2009/01/11(日) 09:44:15ID:fWlpK7Co
DXライブラリを使用つつ、DirectXを直接使用することは出来ないでしょうか?

○○->(うんたらかんたら)
という処理が入っていると、エラーが発生して終了してしまいます。
0390名前は開発中のものです。2009/01/11(日) 11:16:24ID:yJOODiUh
>389
その例文だと全く意味が伝わらない
0391名前は開発中のものです。2009/01/11(日) 14:03:14ID:fWlpK7Co
>>390
わかり難くてすいません……
DirectXを直に使いたい所があるので以下のコードを追加し呼び出した所強制終了が発生したので、
やはりDXライブラリを使用しながら直接DirectXを使う事は難しいのでしょうか?

#include <d3d8.h>

void aaa(){
LPDIRECT3DDEVICE8 FogDev;
D3DCOLOR FogCol;
float FogStart;
float FogEnd;
FogCol=0xffffff;
FogStart=100;
FogEnd=300;
//この中をコメントアウトすればエラー無し
//逆に一つでもあるとエラーで落ちてしまう……
//================================================
FogDev->SetRenderState(D3DRS_FOGCOLOR,FogCol);
FogDev->SetRenderState(D3DRS_FOGSTART,*((DWORD*)&FogStart));
FogDev->SetRenderState(D3DRS_FOGEND,*((DWORD*)&FogEnd));
FogDev->SetRenderState(D3DRS_FOGVERTEXMODE,D3DFOG_LINEAR);
FogDev -> SetRenderState(D3DRS_FOGENABLE,true);
//================================================

}

0392名前は開発中のものです。2009/01/11(日) 14:50:36ID:2fY4/RNq
質問ですが、ウィンドウモードにした時の左上のウィンドウアイコンは変更出来ますか?
0393名前は開発中のものです。2009/01/11(日) 16:25:19ID:rRSsOCCS
>>391
参照エラーかな?
DXライブラリ側でLPDIRECT3DDEVICE8って持ってなかったっけ?
と無責任な事言ってみる。
DXライブラリのソース確認してみて。

>>392
出来るよん
0394名前は開発中のものです。2009/01/11(日) 18:28:35ID:fWlpK7Co
>>393
ヘッダファイルを確認した所、LPDIRECT3DDEVICE7に関しての記述はみられましたが、
LPDIRECT3DDEVICE8についての記述はありませんでした。
ライブラリ初期化の前に読んだ所起動すらしなかったので、やっぱりDXライブラリとの競合ですかね……
0395名前は開発中のものです。2009/01/11(日) 20:07:47ID:fWlpK7Co
どうやら単純にコードが悪かった様です。
スレ汚し失礼しました……
0396名前は開発中のものです。2009/01/16(金) 16:45:35ID:EID2Tgc4
前うpして感想頂いて、とてもやる気が出たので、
こんな感じの体験版となりました。

ttp://tikuwa.net/file/up7821.zip.html
DLKey:dx
0397名前は開発中のものです。2009/01/16(金) 23:45:16ID:c/8VRMs/
頑張ってるじゃん

BGMやSEも自作?
引用があれば著作権等の明記はしっかりしておいた方が良いよ
0398名前は開発中のものです。2009/01/16(金) 23:47:43ID:iRSkofRl
DXライブラリ3Dのサイトが消えてるな
0399名前は開発中のものです。2009/01/17(土) 00:09:20ID:zPKek+/O
ほんとだ、今見てみたら消えてるな
0400名前は開発中のものです。2009/01/17(土) 00:17:49ID:h2yGMjkV
DXライブラリでタイトルバー消すことって出来る?
イメージ的にはこういうものを作りたいんだけど

http://www.geocities.jp/tjschallenger/TJS0320.html

http://www.geocities.jp/tjschallenger/img/TJS031701.png

http://www.geocities.jp/tjschallenger/img/TJS000301.png
0401名前は開発中のものです。2009/01/17(土) 00:30:31ID:r/BmSdjn
>>400
ttp://studiokingyo.fc2web.com/dxlib/kaibou/k_shiyou.html
で紹介されてる方法で駄目なら、ちょっと工夫が要る気がする
0402名前は開発中のものです。2009/01/17(土) 01:42:14ID:A53qKgs6
>>397
自作なので大丈夫かとは思います。
0403名前は開発中のものです。2009/01/17(土) 01:46:05ID:hNEzfB40
自作なのか……すげぇ。
0404名前は開発中のものです。2009/01/17(土) 01:57:18ID:A53qKgs6
あ、DXライブラリとPNG読み込み機能の著作権表記してない…これはマズったかも…。
0405名前は開発中のものです。2009/01/17(土) 09:58:07ID:OLTrE10N
>396
すげえ

どんどん敵が固くなるw
敵がワイドショット撃ってくるあたりから先にいけん
0406名前は開発中のものです。2009/01/17(土) 10:33:37ID:POC77fOB
>396
相変わらず難し過ぎる……w
ところでなんかボスのライフが下がり切らない内に倒せたんだけど。制限時間?
あとグレイズタイプって何かと思ったらサイヴァリアなのね。
0407名前は開発中のものです。2009/01/17(土) 11:55:31ID:A53qKgs6
>>403
どれも芋臭い曲ばかりですけどね…。
>>405
殆ど自機狙いなので直前に避けるとやりやすいと思います。
>>406
サイヴァリアの快感を再現してみたかったんです。
ボスはかすりで永遠に稼げるのと、ショット弱体化の対策として、
ワインダーを放ち終えた2分で自滅するようにしてみました。
0408名前は開発中のものです。2009/01/17(土) 13:56:30ID:f9VOjqEO
ループ前にメニューバー作ってループの命令に解像度変更機能を書いてみたんだが、
どうもフルスクリーンだけ正常動作しない

一応、ソース書いておく

if(CheckMenuItemSelect_ID( 14)){
//起動時、フルスクリーン化
ChangeWindowMode( FALSE ) ; //フルスクリーンモードで起動
MAP_W = 640-SPAN_LR*2 ;
SPAN_LR =128;
SetGraphMode( 1024 , 768 , 32 ) ;
SetMenuItemMark_ID(11, MENUITEM_MARK_NONE);
SetMenuItemMark_ID(12, MENUITEM_MARK_NONE);
SetMenuItemMark_ID(13, MENUITEM_MARK_NONE);
SetMenuItemMark_ID(14, MENUITEM_MARK_CHECK);
//SetAlwaysRunFlag(TRUE) ;//ウインドウがアクティブではない状態でも処理を続行するか
SetDrawScreen( DX_SCREEN_BACK ) ; // 描画先画面を裏画面にセット
}

文字は表示されてもグラフィックは読み込まれない
左上隅に表示されるんだが、自分は中央拡大描画を求めている
0409名前は開発中のものです。2009/01/17(土) 14:27:27ID:CHF9ChFj
>>404
お前何か勘違いしてないか?知識なんて使って減るもんじゃないから只だと思ってんだろ?
人に物を訊くってのがどういう事だか、自覚してる?
知識ってのはな、社会人に取って金と同じく貴重な財産なんだよ。使っても減らないけど、教えたら広まった分だけ価値が下がる。それを分けてくれって言ってんの自分でわかってる?
社会で必要とされる知識ってのはな、本になんか載ってない事ばかりなんだよ。全部人から人へ、直接のコミュニケーションを介して伝わって来たモンなんだ。
そういうノウハウを分けてもらう申し訳無さみたいな物が、伝わって来ないんだよ。お前の態度からは。
猿だって仲間から餌を分けてもらう時は申し訳無さそうな顔するんだよ。ヘラヘラ笑いながら近づいてったら殴り殺されんぞ。
猿だったら今頃とっくに死んでんだよお前。そんな態度で今まで。何回も言ったよな。謝る時は申し訳無さそうな顔をしろって。
そういう学校じゃ受けられない教育を受けておきながら、社会人を経験しなきゃ得られない知識を貰っておきながら、
何にも生かせてないんだよ今のお前は。学生のサークルごっこじゃないんだから。もっと四六時中危機感を持って生きてなきゃ駄目だよ。いい加減いつまで学生気分じゃ。
0410名前は開発中のものです。2009/01/17(土) 14:35:00ID:r/BmSdjn
誤爆なのかそうでないのか……w
0411名前は開発中のものです。2009/01/17(土) 15:00:14ID:A53qKgs6
>いい加減いつまでも学生気分じゃ。
耳が痛い話です。
0412名前は開発中のものです。2009/01/17(土) 15:06:33ID:B1CiFUTT
人生一勝勉強です。
0413名前は開発中のものです。2009/01/17(土) 16:00:07ID:IVDG90gp
アンカミスだろw
0414名前は開発中のものです。2009/01/17(土) 16:46:40ID:UCl/dEbD
ボクは社会人になってから学生時代以上に学生気分です。
0415名前は開発中のものです。2009/01/17(土) 23:46:21ID:h2yGMjkV
ウインドウモードで起動して
マウスの左クリックを監視するようにしました

その際、ウインドウの範囲外をクリックしてもマウスの左クリックを認識してしまいます

その解決策として
ウインドウの左上の座標(x,y)からWindowの大きさ(X+width,Y+height)までの間でクリックされた時のみクリックを監視するという方法をとろうと思っています

そこで質問なのですが
ウインドウの左上の座標を取得する関数は存在するのでしょうか?
また、無い場合は何か他に代用できる関数は標準ライブラリなんかに入っているでしょうか?


あと、ウインドウがアクティブかどうか判断する関数ももしあったら教えてください

一応調べたのですがヒットしなかったためよろしくお願いします

0416名前は開発中のものです。2009/01/17(土) 23:53:38ID:m/2DoB9T
全部Win32APIにある
0417名前は開発中のものです。2009/01/17(土) 23:57:48ID:h2yGMjkV
>>416
ありがとうございます見つかりました

下のは
GetActiveWindow()
でいけそうですね
上も調べてみます。ありがとうございました
0418名前は開発中のものです。2009/01/18(日) 01:29:33ID:W8VFm9RV
度々すいません
>>415はアドバイスのお陰で全て解決しました

ところで、作成したexeを起動するとLog.txtというものができるのですがこれは仕様なのでしょうか?
logファイルを作成しないように設定することは出来ないのでしょうか?
よろしくお願いします
0419名前は開発中のものです。2009/01/18(日) 01:46:03ID:bv5ORrRe
リファレンスを log で検索してみた?
0420名前は開発中のものです。2009/01/18(日) 19:14:35ID:d7+8UZEG
Dx_Lib()
より前でSetOutApplicationLogValidFlagを呼びださなければなら無かったのですね
解決しましたありがとうございました
0421名前は開発中のものです。2009/01/18(日) 19:22:47ID:Dn7rF8in
dxlibって英語の使い方が変だよね
LogValidとか
0422名前は開発中のものです。2009/01/18(日) 20:26:55ID:d7+8UZEG
もしかしてめちゃくちゃ初歩なのかもしれないけど
他のツールで作ったソフトの内部でDXライブラリを呼び出すことって出来るんですか?

例えば、ノベルゲーム作成ツールでゲームを作って、ところどころでDXライブラリで作ったゲームを組み込む
みたいな感じで
ノベルのほうで普通にDXライブラリ製のソフトを呼ぶと窓が起動してしまいますよね?
ノベルのほうと同じ窓でゲームを実行することってできないのでしょうか?

意味がよく分からなかったらすいません
0423名前は開発中のものです。2009/01/18(日) 20:58:55ID:N4guzxX8
たぶん無理だと思うが
0424名前は開発中のものです。2009/01/18(日) 21:03:33ID:BZ0GBkU2
>>422
何が言いたいのかはわかるけど、残念ながら恐らく不可能。
両方でしっかりデータの受け渡しができれば、携帯アプリの前編後編みたいにすることは出来るかも知れないけど、
現存のツールではそこまでの機能は無いと思うし……。
0425名前は開発中のものです。2009/01/18(日) 21:11:32ID:Dn7rF8in
プロセス二つ作ってパイプで通信すればいいじゃない
0426名前は開発中のものです。2009/01/18(日) 21:29:03ID:d7+8UZEG
>>423,424
そうですか・・・

あまり知識無いんですけど、描画先のウィンドウハンドル(ここではノベゲー)を取得して、内部でDXライブラリ製のソフトを呼び出した時
ウインドウを新規で作らず、いまあるウインドウを描画先に指定(取得したハンドルを用い)みたいなことができれば可能なのかな?

よくわからないorz

>>425
具体的にはどういうことでしょうか?
ぐぐったら分かるかな


アドバイスありがとうございます
0427名前は開発中のものです。2009/01/18(日) 21:39:59ID:GlhQpd6d
プラグイン形式的なDLLを作成すれば可能
0428名前は開発中のものです。2009/01/18(日) 22:57:46ID:d7+8UZEG
>>427
ありがとうございます
やることとしては>>426に書いたとおり
>描画先のウィンドウハンドル(ここではノベゲー)を取得して、内部でDXライブラリ製のソフトを呼び出した時
>ウインドウを新規で作らず、いまあるウインドウを描画先に指定(取得したハンドルを用い)みたいなことができれば可能なのかな?

描画先を既存のウィンドウにすればいいんですよね

これってどうやるんだろう・・・・
0429名前は開発中のものです。2009/01/18(日) 23:10:15ID:3xnYsDJW
>>422
できるぞ、(ただし、元のプログラムが自作かせめて、DLLを使えるのが前提だが。)

>>426
>ウインドウを新規で作らず、いまあるウインドウを描画先に指定(取得したハンドルを用い)みたいなこと・・・・
は、難しいと思う。
見た目的には、同等の事も可能だと思うが、実際にそのウィンドウに・…はややこしいと思う。
(内部的にその元アプリがどんな事してるか次第だけど、DXlib使うとDX内処理もあるから
 フック掛けて完璧に使えるとは思えないから。)

>>425じゃないけど、参考になりそうな。
 ttp://funini.com/kei/vs/named_pipes.shtml
 ttp://www.fides.dti.ne.jp/~tokai/vc/vcpipe.html
 ttp://msdn.microsoft.com/ja-jp/library/cc430103.aspx
 ttp://msdn.microsoft.com/ja-jp/library/cc429587.aspx
 ttp://msdn.microsoft.com/ja-jp/library/cc429021.aspx

 ttp://www.02.246.ne.jp/~torutk/cxx/sharedmemory/win32_shmem.html
 ttp://www.alpha-net.ne.jp/users2/uk413/vc/VCT_FileMapping.html
0430名前は開発中のものです。2009/01/18(日) 23:14:26ID:d7+8UZEG
>>429
ベースプログラムは吉里吉里かSystem4.0を考えてるので多分dllの読み込みは可能かとも居ます
実際色々プラグイン公開されてるし

色々ありがとうございます
調べてみます
0431名前は開発中のものです。2009/01/19(月) 10:34:52ID:X5SZs/u2
>>396
亀だがやってみた

とりあえず途中から敵固すぎワロタ
ボンバーなしじゃ無理な気がww



俺のシューティングは随分昔にシューティングスレに投下してから弾幕に凝っててあんまり見た目の進歩がないぜ
0432名前は開発中のものです。2009/01/19(月) 17:31:41ID:yZM1xSvo
>>431
固さは面とレベルの兼ね合いにしたいと思います。
最近見かけばかりに力を入れてて肝心のゲーム内容は…。
0433名前は開発中のものです。2009/01/19(月) 17:42:09ID:IkXU3fd8
星のパーティクルがすてき。
0434名前は開発中のものです。2009/01/19(月) 20:32:05ID:j6ExWMod
シューティングってこんなに作るの難しかったんだな

ゼビウスみたいのなら楽勝だろとか思ってました、ごめんなさい
0435名前は開発中のものです。2009/01/20(火) 11:58:06ID:dMyWKq6o
初心者です
質問なのですが、ゲームのBGMで
最初に戻って繰り返すときBGMをとぎれてしまわないようにする方法はありますでしょうか
例えばRPGの戦闘音楽のようにずっと放置していてもきれいにループするような方法です
0436名前は開発中のものです。2009/01/20(火) 12:40:01ID:/e+EiVUH
曲の途中で違和感のない位置に飛ばせばいいと思う。

俺はやったことないけど
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_sound.html#R8N13
これできれいにループするんじゃない?
0437名前は開発中のものです。2009/01/20(火) 12:51:49ID:dMyWKq6o
>>436
ありがとうございます!勉強してチャレンジしてみます!
0438名前は開発中のものです。2009/01/20(火) 15:22:07ID:A5DSi9Sd
>435
あと、姑息な手段で申し訳ないが
MIDIのようにサイズを気にしなくて済むようなものなら、最初から10分続くファイルにしてしまうという手もある。
0439名前は開発中のものです。2009/01/21(水) 22:18:20ID:2s5lyHkK
PlaySoundMem()でループ再生フラグを指定すればいいよ。
>>435がファイル形式を言ってないのでわからないけどwavなら綺麗にループする。
0440名前は開発中のものです。2009/01/22(木) 15:31:01ID:Xr8Aa3cY
>>439
たぶん>>435が使っているファイルは曲の最初と最後が繋がってないやつなんだろう。
だから、普通にループ指定すると音が途切れずにループしない。

けど、市販ゲームでもこういうBGMあるし、俺は気にしないけどな
0441名前は開発中のものです。2009/01/22(木) 17:11:41ID:q+tQcJ7A
>>435
無音時間の全くない完全なシームレスループにしたい場合、下のページが参考になると思います。
ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/waveOut_multibuf.html

API使わないといけないのとWAV限定ですが。
0442名前は開発中のものです。2009/01/22(木) 17:15:00ID:9/RQfEqV
>>441
FF10のジェクト戦みたいにボーカルいれた音楽をBGMとして使えそうだな
すげえ
0443名前は開発中のものです。2009/01/22(木) 17:34:21ID:Bh2KGHfp
>>440
「最初に戻って」って書いてあるからなぁ。
でも途切れる方法が書いてないところが色んな憶測を呼ぶよね。
まぁここまでで解決方法出たと思うからいいんだけどさ…。
0444名前は開発中のものです。2009/01/26(月) 16:05:31ID:2mzhNCi2
DXライブラリ(2.25)のプロジェクトがコンパイルできない。
'/O2' と '/RTC1' は同時に指定できません ってコンパイルエラーが出る。
プロジェクトの設定でO2→Odにしてるんだけれども。
RTC1の方を切ればコンパイルできるんだけど、なんでだー!
0445名前は開発中のものです。2009/01/30(金) 19:51:30ID:Wy6ip41+
フルスクリーン化ではなく、ウィンドウモードでの最大化って
どうやったらできるんでしょうか?
0446名前は開発中のものです。2009/01/31(土) 06:27:02ID:mi0nZoft
起動時に設定ファイルなり引数なり読み込んで解像度変更させちゃえば?
0447名前は開発中のものです。2009/01/31(土) 08:53:12ID:dFEgAXD4
>>445は画面サイズを可変にしたいということ?
どこかにそれっぽいサンプルがあったような……。気のせいかな。
0448名前は開発中のものです。2009/01/31(土) 09:07:06ID:KRmQ80Gs
SetWindowSizeChangeEnableFlagで可変設定、
SetGraphModeで直接指定ができるね
なんとかして使ってるモニタの解像度を取得して当て込めば出来るかも
だけど処理速度は厳しいだろうな
0449名前は開発中のものです。2009/01/31(土) 10:47:56ID:rbcO49fB
ウィンドウのサイズを変えたいのじゃなくて
右上の最大化のボタンを押せば、標準的なアプリと同じような
動作にしたいです、
画面全体にきっちり広がって間違ってマウスでドラッグしても動かないような感じです
0450名前は開発中のものです。2009/02/01(日) 00:40:50ID:XJc1/NhO
えーと、それで、何がしたいの・・・?
0451名前は開発中のものです。2009/02/01(日) 10:34:54ID:lmI58fq8
>>449
普通にフルスクリーンモードじゃなくてウインドゥモードにすれば
いいだけじゃないの?
そういう関数あったと思うけど。
■ このスレッドは過去ログ倉庫に格納されています