[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/06 15:12 / Filesize : 249 KB / Number-of Response : 832
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2008/10/25(土) 17:37:53 ID:BCFbbKco]
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。

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

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

過去スレ:DXライブラリ 総合スレッド
      pc11.2ch.net/test/read.cgi/gamedev/1197468399/

308 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 20:46:29 ID:uHyIUedU]
CしかわかんなくてもDirextXゲームプログラムがさっくりできちゃうのがウリの
DXライブラリのスレでオブジェクト指向を熱っぽく語る男の人って……

309 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 21:04:56 ID:SEtb8HBj]
        ____   
       / \  /\ キリッ
.     / (ー)  (ー)\      
    /   ⌒(__人__)⌒ \    < 厳密に言えばC/C++使ってる時点で
    |      |r┬-|    |        ピュアなオブジェクト指向は無理だけどな。
     \     `ー'´   /
    ノ            \
  /´               ヽ              
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //  だっておwwwww
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /     バ
 |    |   l||l 从人 l||l      l||l 从人 l||l  バ   ン
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、    ン
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


310 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 21:23:33 ID:a4AnO2Cl]
DXライブラリで質問が・・・



あ、スレ間違えました!すみません

311 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 21:47:10 ID:17g8Fdx4]
>>309
int main()ってオブジェクト指向的になんなの?www

312 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 22:41:43 ID:ST598Jfh]
>>304
何がん〜・・・?だ
そんな事だから

>>286
>んーていうかC#の件は、ライブラリが優秀で作りやすい=オブジェクト指向って事じゃなくて、
>コントロール一つ設置してイベントを呼び出すってだけでオブジェクト指向を感じる。

とかマヌケな事を書いてしまうのさ
>>303のまとめでいいんだよ

RADツールと言語の区別もついてない質問に対して、みんなにちゃんと答えてもらってる事をまず理解するべきだな
元々スレ違いだ、感謝こそすれ相手を見下すとか勘違いすぎるんだよww

313 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 23:20:03 ID:17g8Fdx4]
なんか常に話がちょいズレの人いるな

314 名前:さらに話がちょいズレの人 mailto:sage [2008/12/15(月) 00:08:20 ID:JJfbOdAj]
>>303には、同意だけど。 OOなんて元の発生が3つぐらいあって、
さらに様々な言語にそれらのOOが混同されながら導入される過程で
どんどんと複雑に入り組んでいってる。
(しかも、良くも悪くも元がProgramming言語における概念だから、
 普通の言葉に意味を汲み出す過程で色々とノイズや過不足が起こる。
さらに、OOAだ、OODだなんだので純粋なOOよりも
とりあえず使える道具としてのOOが今のメインストリームだと思うし。)
だから、結果的には、人によってOOの概念も色々な違いがある。


あと、そんな訳だからと言う訳じゃないがCだって、OOPLは可能。
ただし、言語的なサポートが対応してないから、
様々な工夫をする必要があったりする。
また、逆の意見としても>>305のint main()で始まるからオブジェクト指向じゃない。
ってのもどうかと思う。
OSも含めたアプリケーションをProgramとみるならば、
int main()は、ズバリそのアプリの呼び出しメッセージと見做しても誤解ではないしね。

あと、>>301の言ってる事は別にOOじゃないと思うぞ。
それらは単に多態性とかであって、OOとしてあったら好ましいが、

さらに>>300のプログラミングの概念と具体的なプログラミングが別モノっぽいのも違うんじゃない?
基本アセンブリでやるでもない限りは、プログラムは概念に概念を積み上げた産物だし、
それらの概念を如何につかうか?どのように解釈するか?がプログラミングでしょ。
だからこそ、gotoは悪!!やJavaにはポインタはありません!!みたいな話も出てくるわけでww

315 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 00:20:00 ID:xNu63hXk]
俺は別にピュアだか厳密だか理想的だかなOOじゃなくても
それなりに作れてメンテできればいいかな
ピュアなのがいい人はその人が納得する言語なりなんなりを使えばいいし

316 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 00:48:36 ID:syJyrDB+]
ついこの前DXライブラリでゲームを作り始めた初心者なんですが。
時間のとり方について質問があります
ttp://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R7N1
のサイトを見て時間所得して表示までできたのですが、ボタン(たとえばスペースボタン)を押して時間を最初からやり直すのはどうすればいいでしょうか?(キー入力状態の取得はできています)
日本語わかりずらかったらすいませんm(_ _;)m



317 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 00:52:41 ID:r0Y4Aqo3]
int ゲーム内ではこっちを使う;

ゲーム内ではこっちを使う = GetNowCount();
if (ボタンが押された) ゲーム内ではこっちを使う = 0;

318 名前:317 mailto:sage [2008/12/15(月) 00:57:14 ID:r0Y4Aqo3]
間違えた。正しくは
int ゲーム内ではこっちを使う;
int 前にリセットした時間;

int now = GetNowCount();
ゲーム内ではこっちを使う = now - 前にリセットした時間;
if (ボタンが押された) { ゲーム内ではこっちを使う = 0; 前にリセットした時間 = now; }

319 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 05:27:51 ID:dny0TB5O]
>>148
いや、スレチでもないぞ。ライブラリ作者の古い作品だから

320 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 11:37:12 ID:gYDVxSnY]
>>273
if( shot->hitTest( enemy ) )
{
/*ヒット処理*/
}
って書くとたしかに変更に強くわかりやすくなるけどそれがOOだっていうのは尚早だよ。
hitTest()の中身は結局上と同じ事してるんだから。
だからその部分がOOだって言われるとただのリファクタリング手法でしかない。
もしその部分だけでOOだっていえるならGUIアプリだって
TextBox tb = new TextBox;
list.add(tb);
ほら、同じ。
でも両方ともただオブジェクトを渡してるって事実しかないよ。
それを推しておきながらデリゲートだけじゃOOじゃない!っていうのは横暴だなぁ。
ちなみにVBは今はOOPLだよ。
OOは議論が起きるくらい曖昧なところもあるけど、やっぱりカプセル化・継承・ポリモーフィズムの3つは最低限主張すべきだね。
個人的にはわざわざなんでカプセル化なんてあるのか疑問だけどw(隠蔽や最小の原則なんかは構造化言語からずっとあった)

321 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 11:46:55 ID:gYDVxSnY]
>>303
煽るわけじゃないけど流れを読んできてなんでいきなりWindowsのイベントドリブンが出てくるのかなって思ったんだけど、
きっと>>305のメッセージ呼び出し機能って言葉からそう思ったのかな?
たしかにイベントドリブンもメッセージっていうけどOOのメッセージっていうのは全く別物だよ。
純粋なOOPL(Smalltalkなど)ではメッセージ機能っていうのがあるんだ。
メソッド呼び出しに似てるけどちょっと違う。
C++ではメンバ関数、Javaではメソッド呼び出しで実現してるけどね。
詳しくは自分で調べてみて。

322 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 13:36:35 ID:Mi5wQEEl]
>>321
>>286
>コントロール一つ設置してイベントを呼び出すってだけでオブジェクト指向を感じる。
>もっと具体的に言えばイベントハンドラ(やデリゲート)がオブジェクト指向だなぁって。
いや、Windowsのイベントドリブン構造の事だ
読めばわかる

323 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 17:20:30 ID:k3xYLtfr]
オブジェクト指向は僕達の心の中にあります

324 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 18:27:06 ID:VbZykIE5]
俺の中でオブジェクトっつったらスプライトの事だ!

325 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 20:55:40 ID:0kk0L8Su]
じゃあ俺は、この形。

int WINAPI WinMain(うんたらかんたら〜){
    Application App;
    App.Run();
    return 0;
}

Applicationのインスタンスが生成されてる間はアプリが生きてる。
App破棄と同時にアプリも終了する、この形がいちばん美しいと思う。

326 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 21:40:30 ID:fyQ9eFTJ]
>>325
シングルスレッドであれば、確かに良いアイディアだと思う。



327 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 21:43:08 ID:WW1gkqvT]
そこまでやる必要あるか?

328 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 23:22:35 ID:A6pVWDv7]
>>326
中でタスクマネージャー的なものでCPU毎に負荷分散させているかもしれんぞ?

329 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 00:20:42 ID:fzHt/ZSS]
>>325のやりかたにどこかまずいところあるの?

330 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 00:26:55 ID:JBSSxUHl]
>>324
用語が適当すぎるよな。

メモリを占拠した実体→「オブジェクト」
コンパイルして出来るファイル→「オブジェクト」
自分自身で処理させる論理機構→「オブジェクト」

名前付けたやつちょっとツラ貸せっていうか
昔、書籍読んだときさっぱり意味わからんかったぜ・・

331 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 00:44:36 ID:o3pFEybH]
メモリを占拠した実体ってインスタンスのこと?

332 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 01:58:01 ID:r2TMQqJU]
変数じゃないの?変数もオブジェクトだよね

333 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 04:02:55 ID:dNyohwYS]
>324はもっと誉められていいと思う

334 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 11:37:43 ID:IA9CyF+N]
昔読んだ本には、OOPは

オブエクとは「物」と訳される。曖昧さの象徴である。
頭の中でイメージしなさい。
物と呼ばれる、段ボール箱「みかん箱」がたくさんある。
みかん箱の中身は隠されている、知らなくて良い。
みかん箱を紐で結ぶ事が「プログラム」である。
みかん箱には切替スイッチが付いている、それで位置、色、大きさが変化する。
みかん箱が「オブジェクト」である。


335 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 14:57:03 ID:j+OyGE8J]
基本的にOOやマイノリティ言語のウンチクや自分語りはスレ違いだな

336 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 01:37:25 ID:SDA7SaR9]
>>334
簡単に言うと
バカでも切り替えスイッチをポチって押せば変化する事が出来る。
けどその変化する「仕組み」を理解する必要は無い。

って事?

オブジェクト指向あんまよく分からないけど、そうなると定数#defineって簡単なオブジェクト指向に入るの?

例えば
#define SPEED 25//数値を変えると速度が変えられます。
ってあったら数字を変えるだけで変化が実装できるし。

なんか違うかw



337 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 02:09:42 ID:adQIUXL6]
>>336
それだけだとただのブラックボックス化。
OOの一部ではあるけどCの関数だってブラックボックスでしょ?

338 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 02:33:05 ID:S1ZUobQv]
グラフィック表示させる関数いろいろあるじゃない
DrawGraphとかDrawTurnGraphとかDrawExtendGraphとかDrawRotaGraphとかDrawRotaGraph2とかDrawModiGraphとか
あれみんな同じ重さなのかな
あと、やっぱ画像の大きさと重さにも関係あるのかな
あと、同じ四角のグラを表示させるのでもその四角のグラ用意して読み込んで表示させるのと
DrawBoxで表示させるとでは重さは変わらないのかな

339 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 02:38:22 ID:S1ZUobQv]
自分でOO使ってゲーム作ろうとすると結局グローバル多用したりパブリック多用しちまうんだよなあ

340 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 02:53:08 ID:dezoAnwU]
>>336
>>337
ttp://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0

341 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 02:59:26 ID:dezoAnwU]
>>338
自分で実際に比べてみればいいんじゃね

342 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 03:20:54 ID:adQIUXL6]
>>338
”重さ”ってなんだ?^^;
ソース見てベンチ測って見ればいいじゃん。

343 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 06:22:20 ID:S1ZUobQv]
なるほど
その発想はなかったわ
そんなこといままでしたことなかったからな
面倒臭さと相談してやるかどうか考えてみる

344 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 07:31:49 ID:dezoAnwU]
>>343
やるならGetNowHiPerformanceCount()を使うのはどうだ?
で、計測した方法と結果をここに書けば聞きっぱなしじゃなく他のやつの参考にもなる

345 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 08:18:15 ID:/BQwBqZh]
DXライブラリでスムーズに最大値合成できませんかね?
「画像を減算合成→重ねて加算合成」で実装すると、色深度が16ビットの時汚くなるし、描画コストも倍になるんですが……

346 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 20:28:28 ID:S1ZUobQv]
VC6.0でLONGLONG型表示させるには%I64dでよかったかな



347 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 10:36:19 ID:Gli++Azx]
sprintfの話?
__int64 を使うならそれだね。

348 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 14:30:15 ID:3lSGgVQC]
DXライブラリいいね!
DXライブラリ3Dとは別ものなのかね?

349 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 14:38:38 ID:fWgsLNUU]
3Dの方は派生verだな

350 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 10:53:03 ID:0Fgrfb5X]
ゲームプログラムってMSXのころBASICでやってた程度だけど
DirectXっつーやつはすごいな
ダブルバッファリングっつーのがあれば
MSXのころ悩んでたことがほとんど悩まなくていいじゃんね。
スクロールすら画像を移動するだけって最強すぎ。

351 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 12:05:58 ID:UbzH2xVf]
>>350
ちょっ、MSXの頃だってダブルバッファリングしてたっつうのw
MSXはページ切り替えできたから、最高に楽だったわ
まあ、ハードウェアスクロールがあればもっと良かったが仕方ない

352 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 12:16:16 ID:0Fgrfb5X]
>>351
そうか
それはすまんかった

あー。そういえばあったような気がしないでもないな。
でも俺の技術では処理速度が遅くてスプライトを動かす程度しかできなかった
スクロールとかもってのはか。


353 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 15:26:44 ID:9N5u30T9]
してたっけ。
もう覚えてないやw

354 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 16:45:08 ID:SQBujvLn]
つーか、毎回全画面書き換えに耐えられないからページ切り替えはヘルプ画面とかで
利用してた気がしないでもないが。

355 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 17:12:48 ID:VOrvPW1P]
タイトル画面を一瞬で表示するために使ってた。
あとはAVGの絵や3D迷路の表示とか。
アクション系のゲームには使わなかったな。

356 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 17:42:12 ID:1h1OeV87]
ページを切り替えないと、
ロゴとかが生成される様子が眺められるんだよな。あれはあれで楽しかった。



357 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 17:47:08 ID:0Fgrfb5X]
やっぱりいろいろ工夫する必要あったよね。
でもDXライブラリ使ったらそんなことまったく考えなくてよかったから
カルチャーショックだった。

358 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 19:15:26 ID:5et0/vdD]
流石に時代は変わったわ。
ま、MSXBASICのノリでかる〜く作っちゃえ。

359 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 20:09:58 ID:LP/OttsW]
なんだこの40代スレ

360 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 22:47:31 ID:fMIdyvOB]
How many pages ? ■

361 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 00:56:47 ID:DPn+CnyU]
MSXが導入されて、それまでのマシンで頻発してた
「雑誌掲載のソースコードを打ち込んでも自分のマシンだと動かない」っていうのが
少なくなったって印象があったなあ。

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


>359
まだ20代の真ん中くらいだよ!

362 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 01:58:38 ID:fELrH+/v]
Windowsが導入されて、
「自分で作ったプログラムが他人のPCでは動かない」っていうのが
少なくなった…………かな?

363 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 05:58:03 ID:IOaM1VJp]
昔はスペックのわりにマシンも高価だったし
CPUやビデオをアップグレードするには、PCをまるごと買い換えるのが基本だったり
お殿様商売の時代だったなあ

364 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 06:59:35 ID:S9NW4iC4]
>>350
>>351
MSX1なのか2なのか2+なのかターボRなのかどのスクリーンモードなのかで話が違ってくるし
ここはDirectXのスレじゃなくDXライブラリのスレだぜ!

365 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 09:24:20 ID:WpOVuCI5]
VECTOR3 hoge;
hoge = mL.GetCameraEyePoint();

としてVECTOR3の中身をとりだしたいのですが
hoge.x
とかいうような形でとりだせないものでしょうか?

366 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 09:43:56 ID:WpOVuCI5]
VECTOR3 cc;
cc.x=5;
mL.printf("cc.x=%d", cc.x);

としてもcc.x=0って表示されてしまいます。



367 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 09:51:25 ID:WpOVuCI5]
すみません。
mL.printf("cc.x=%f", cc.x);
にしたら表示されました。


368 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 11:21:41 ID:DBaYT0uR]
DXライブラリの描画をウィンドウハンドルを渡して
とあるウィンドウ内に表示することはできないでしょうか?

こんな感じで
blogs.wankuma.com/yo/archive/2008/01/25/119183.aspx

369 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 19:04:03 ID:X40+Kh+H]
更新が止まってるようだけど
DXライブラリ3Dって完成したの?

370 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 13:47:48 ID:hCfaSDI/]
失礼ですが質問です。
DXライブラリでプログラムを作って起動し、終了させたのですが、
なぜかウィンドウは消えてもタスクバーに"DxLib"が残ってしまいます。
閉じようと何度も試しましたが消えてくれません(タスクマネージャでもダメ)。
以前同じことが起こった時はパソコンの電源をスイッチから直接切らないといけませんでした。
何か解決策はないでしょうか。

このトラブルが発生した時は自分の失敗で無限ループを脱せず、
ツールバーのデバッグの停止を使って終了させました。
たぶん原因はこれだと思います。

371 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 14:31:31 ID:etDOrpmF]
DxLib_End()
を呼ばなかったからに1票

372 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 15:06:35 ID:hCfaSDI/]
>>371
一応プログラムには書いてありますが、
その無限ループが発生したループ内では通ってないと思います。
これが原因なのでしょうか。
しかしDxLib_End()を通ると即プログラム終了だと思っていたのですが・・・

373 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 15:15:38 ID:aPIdrXEx]
DxLib_End()はライブラリの終了であって、
ちゃんとその後ループから抜けてプログラム自体終了(WinMainからreturn)してるの?

374 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 15:16:28 ID:va+Hleat]
>何か解決策はないでしょうか
>たぶん原因はこれだと思います。
>これが原因なのでしょうか。
ソースも晒さず、これだ、あれだと聞き返されても返答が難しいよね

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



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

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

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

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


・・・喧嘩腰に見えるorz 敬語って難しいです。

376 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 16:20:42 ID:hCfaSDI/]
これではただの丸投げですねorz

int WINAPI WINMAIN( 略 ){

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

DxLib_End();
return 0;
}

という風にはしています。
ソースでは一応ですがループを自分で抜けられるようには少し変えています。



377 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 18:20:18 ID:P66gcfVh]
ソースのヒドさがなんか好感もてるなw

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

>DxLib_End();

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

そんでデバッグツールでの停止ではもちろんDxLib_End()が呼ばれず、それが問題だというのは一応あってるかもしれない

378 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 19:02:24 ID:KsfcQKrh]
Flashのムービークリップや、
JavaScriptのsetIntervalのように
毎フレーム実行させるようにセット・解除できるような機能はないでしょうか?

379 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 23:22:56 ID:etDOrpmF]
>>376
ソース見るのだるいから見ないが、
ループを抜けられるようにしてあるなら、ループを抜けてみてプロセスが残ってないか確かめればいいじゃないか。
プロセスがしっかり終了してればDxLib_End()が呼ばれてなくてそれが問題だったって分かるんじゃないか?まぁ、これだけじゃそうとも限らないが。
それでもし終了できていたらDxLib_End()を書いたものと書かないものとを比べればちゃんと分かるが。
で、それが分かればおのずと質問に答えられると思うが。
ただ、ProcessMessage()だっけ?で処理してくれるような終了の仕方(ってある?)の場合には、そこらをしっかり書けばちゃんと終了できると思うが。

380 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 23:59:30 ID:V4nq/52k]
>>376
  while(CheckHitKey(KEY_INPUT_SPACE)==0){
    battle();
    WaitKey();
  }

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

これだとProcessMessageで-1引いてもループ抜けられないような気がする。
whileの条件式にProcessMessageの判定加えたらいいんでは。
あと抜けた後のWaitKeyは、強制終了後も参照されてしまうのでやめたほうがいい。

381 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 00:18:40 ID:F/Rau1w+]
>毎フレーム実行させるようにセット・解除できるような機能はないでしょうか?
何を毎フレーム実行させたいんだ?
というか質問は一つづつにしろよ

382 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 07:35:09 ID:Oinf+8tR]
>>381
情報が足りませんでした。申し訳ありません。
JavaScriptでは、
var set = setInterval(function(){
  〜〜処理〜〜
}, 1);
のようにすると、1ミリ秒ごとにfunctionを呼び出すことができます。
また、clearInterval(set);で解除することもできます。
同じように毎フレーム実行させることはできるでしょうか。
whileに全て入れるのが面倒なのです。

383 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 08:50:13 ID:35IX/qYC]
>>379,380
アドバイスありがとうございます。
ProcessMessage()を完全に忘れていました。
まだまだ基本がなっていないようなので、しばらくROMって学んでいこうと思います。

384 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 09:59:47 ID:eUx/xd8R]
>>382
どうも、聞きたいことがよく分からん。
while文に入れるのが面倒なほどに大量に関数があるのか?
複数の関数を一つの関数の中にまとめて、まとめた関数をwhile文の中においておくってのじゃダメなんか?
それとも、while文に全て入れるのが面倒じゃなくて、
フレーム管理とかプログラムの状態遷移が分からないってことか?
ってか、それはライブラリというより言語の使用じゃないか?
もし仮にDxライブラリで出来たとしても、登録、解除のし忘れとかでバグの原因になりそうに思えるんだが。

385 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 11:50:37 ID:WsDU+BU3]
設計の問題であってDXライブラリとは関係ないな
for (int i = 0; i < enemyCount; i++) enemy[i].Update();
こういうようなことを言ってるの?

386 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 15:00:44 ID:Oinf+8tR]
>>384
whileに全て入れるのが面倒に感じていましたが、言われてみるとそうですね。
>>385
毎フレーム実行させるという意味でこちらにきましたが、観点がずれていたようです。
while文の中にforループを入れるという発想はありませんでした。試行錯誤してみようと思います。ありがとうございました。



387 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 15:06:41 ID:WsDU+BU3]
>>385みたいなのって定石だから
試行錯誤するよりも初心者サイトでも見て素直に真似した方がいいよ

388 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 20:56:28 ID:Nr8kFssc]
>>377
少なくともVSの「デバッグの停止」ならDxLib_End()が呼ばれなかろうとなんだろうとちゃんとリソースを解放してくれるはず。
>>370がいつまでも終了しなかったのはexeを直接起動したかリリースビルドだったのでは?

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

あとScreenFlip()がWhileの外にあったら画面更新されないから中へ。

389 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 09:44:15 ID:fWlpK7Co]
DXライブラリを使用つつ、DirectXを直接使用することは出来ないでしょうか?

○○->(うんたらかんたら)
という処理が入っていると、エラーが発生して終了してしまいます。

390 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 11:16:24 ID:yJOODiUh]
>389
その例文だと全く意味が伝わらない

391 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 14:03:14 ID: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);
//================================================

}



392 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 14:50:36 ID:2fY4/RNq]
質問ですが、ウィンドウモードにした時の左上のウィンドウアイコンは変更出来ますか?

393 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 16:25:19 ID:rRSsOCCS]
>>391
参照エラーかな?
DXライブラリ側でLPDIRECT3DDEVICE8って持ってなかったっけ?
と無責任な事言ってみる。
DXライブラリのソース確認してみて。

>>392
出来るよん

394 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 18:28:35 ID:fWlpK7Co]
>>393
ヘッダファイルを確認した所、LPDIRECT3DDEVICE7に関しての記述はみられましたが、
LPDIRECT3DDEVICE8についての記述はありませんでした。
ライブラリ初期化の前に読んだ所起動すらしなかったので、やっぱりDXライブラリとの競合ですかね……

395 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 20:07:47 ID:fWlpK7Co]
どうやら単純にコードが悪かった様です。
スレ汚し失礼しました……

396 名前:名前は開発中のものです。 mailto:sage [2009/01/16(金) 16:45:35 ID:EID2Tgc4]
前うpして感想頂いて、とてもやる気が出たので、
こんな感じの体験版となりました。

ttp://tikuwa.net/file/up7821.zip.html
DLKey:dx




397 名前:名前は開発中のものです。 mailto:sage [2009/01/16(金) 23:45:16 ID:c/8VRMs/]
頑張ってるじゃん

BGMやSEも自作?
引用があれば著作権等の明記はしっかりしておいた方が良いよ

398 名前:名前は開発中のものです。 [2009/01/16(金) 23:47:43 ID:iRSkofRl]
DXライブラリ3Dのサイトが消えてるな

399 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 00:09:20 ID:zPKek+/O]
ほんとだ、今見てみたら消えてるな

400 名前:名前は開発中のものです。 [2009/01/17(土) 00:17:49 ID:h2yGMjkV]
DXライブラリでタイトルバー消すことって出来る?
イメージ的にはこういうものを作りたいんだけど

www.geocities.jp/tjschallenger/TJS0320.html

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

www.geocities.jp/tjschallenger/img/TJS000301.png

401 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 00:30:31 ID:r/BmSdjn]
>>400
ttp://studiokingyo.fc2web.com/dxlib/kaibou/k_shiyou.html
で紹介されてる方法で駄目なら、ちょっと工夫が要る気がする

402 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 01:42:14 ID:A53qKgs6]
>>397
自作なので大丈夫かとは思います。

403 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 01:46:05 ID:hNEzfB40]
自作なのか……すげぇ。

404 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 01:57:18 ID:A53qKgs6]
あ、DXライブラリとPNG読み込み機能の著作権表記してない…これはマズったかも…。

405 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 09:58:07 ID:OLTrE10N]
>396
すげえ

どんどん敵が固くなるw
敵がワイドショット撃ってくるあたりから先にいけん

406 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 10:33:37 ID:POC77fOB]
>396
相変わらず難し過ぎる……w
ところでなんかボスのライフが下がり切らない内に倒せたんだけど。制限時間?
あとグレイズタイプって何かと思ったらサイヴァリアなのね。



407 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 11:55:31 ID:A53qKgs6]
>>403
どれも芋臭い曲ばかりですけどね…。
>>405
殆ど自機狙いなので直前に避けるとやりやすいと思います。
>>406
サイヴァリアの快感を再現してみたかったんです。
ボスはかすりで永遠に稼げるのと、ショット弱体化の対策として、
ワインダーを放ち終えた2分で自滅するようにしてみました。

408 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 13:56:30 ID: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 ) ; // 描画先画面を裏画面にセット
}

文字は表示されてもグラフィックは読み込まれない
左上隅に表示されるんだが、自分は中央拡大描画を求めている






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<249KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef