[表示 : 全て 最新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/

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 ) ; // 描画先画面を裏画面にセット
}

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



409 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 14:27:27 ID:CHF9ChFj]
>>404
お前何か勘違いしてないか?知識なんて使って減るもんじゃないから只だと思ってんだろ?
人に物を訊くってのがどういう事だか、自覚してる?
知識ってのはな、社会人に取って金と同じく貴重な財産なんだよ。使っても減らないけど、教えたら広まった分だけ価値が下がる。それを分けてくれって言ってんの自分でわかってる?
社会で必要とされる知識ってのはな、本になんか載ってない事ばかりなんだよ。全部人から人へ、直接のコミュニケーションを介して伝わって来たモンなんだ。
そういうノウハウを分けてもらう申し訳無さみたいな物が、伝わって来ないんだよ。お前の態度からは。
猿だって仲間から餌を分けてもらう時は申し訳無さそうな顔するんだよ。ヘラヘラ笑いながら近づいてったら殴り殺されんぞ。
猿だったら今頃とっくに死んでんだよお前。そんな態度で今まで。何回も言ったよな。謝る時は申し訳無さそうな顔をしろって。
そういう学校じゃ受けられない教育を受けておきながら、社会人を経験しなきゃ得られない知識を貰っておきながら、
何にも生かせてないんだよ今のお前は。学生のサークルごっこじゃないんだから。もっと四六時中危機感を持って生きてなきゃ駄目だよ。いい加減いつまで学生気分じゃ。

410 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 14:35:00 ID:r/BmSdjn]
誤爆なのかそうでないのか……w

411 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 15:00:14 ID:A53qKgs6]
>いい加減いつまでも学生気分じゃ。
耳が痛い話です。

412 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 15:06:33 ID:B1CiFUTT]
人生一勝勉強です。

413 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 16:00:07 ID:IVDG90gp]
アンカミスだろw

414 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 16:46:40 ID:UCl/dEbD]
ボクは社会人になってから学生時代以上に学生気分です。

415 名前:名前は開発中のものです。 [2009/01/17(土) 23:46:21 ID:h2yGMjkV]
ウインドウモードで起動して
マウスの左クリックを監視するようにしました

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

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

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


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

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



416 名前:名前は開発中のものです。 mailto:sage [2009/01/17(土) 23:53:38 ID:m/2DoB9T]
全部Win32APIにある

417 名前:名前は開発中のものです。 [2009/01/17(土) 23:57:48 ID:h2yGMjkV]
>>416
ありがとうございます見つかりました

下のは
GetActiveWindow()
でいけそうですね
上も調べてみます。ありがとうございました

418 名前:名前は開発中のものです。 [2009/01/18(日) 01:29:33 ID:W8VFm9RV]
度々すいません
>>415はアドバイスのお陰で全て解決しました

ところで、作成したexeを起動するとLog.txtというものができるのですがこれは仕様なのでしょうか?
logファイルを作成しないように設定することは出来ないのでしょうか?
よろしくお願いします



419 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 01:46:03 ID:bv5ORrRe]
リファレンスを log で検索してみた?

420 名前:名前は開発中のものです。 [2009/01/18(日) 19:14:35 ID:d7+8UZEG]
Dx_Lib()
より前でSetOutApplicationLogValidFlagを呼びださなければなら無かったのですね
解決しましたありがとうございました

421 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 19:22:47 ID:Dn7rF8in]
dxlibって英語の使い方が変だよね
LogValidとか

422 名前:名前は開発中のものです。 [2009/01/18(日) 20:26:55 ID:d7+8UZEG]
もしかしてめちゃくちゃ初歩なのかもしれないけど
他のツールで作ったソフトの内部でDXライブラリを呼び出すことって出来るんですか?

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

意味がよく分からなかったらすいません

423 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 20:58:55 ID:N4guzxX8]
たぶん無理だと思うが

424 名前:名前は開発中のものです。 [2009/01/18(日) 21:03:33 ID:BZ0GBkU2]
>>422
何が言いたいのかはわかるけど、残念ながら恐らく不可能。
両方でしっかりデータの受け渡しができれば、携帯アプリの前編後編みたいにすることは出来るかも知れないけど、
現存のツールではそこまでの機能は無いと思うし……。


425 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 21:11:32 ID:Dn7rF8in]
プロセス二つ作ってパイプで通信すればいいじゃない

426 名前:名前は開発中のものです。 [2009/01/18(日) 21:29:03 ID:d7+8UZEG]
>>423,424
そうですか・・・

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

よくわからないorz

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


アドバイスありがとうございます

427 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 21:39:59 ID:GlhQpd6d]
プラグイン形式的なDLLを作成すれば可能

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

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

これってどうやるんだろう・・・・



429 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 23:10:15 ID: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

430 名前:名前は開発中のものです。 [2009/01/18(日) 23:14:26 ID:d7+8UZEG]
>>429
ベースプログラムは吉里吉里かSystem4.0を考えてるので多分dllの読み込みは可能かとも居ます
実際色々プラグイン公開されてるし

色々ありがとうございます
調べてみます

431 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 10:34:52 ID:X5SZs/u2]
>>396
亀だがやってみた

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



俺のシューティングは随分昔にシューティングスレに投下してから弾幕に凝っててあんまり見た目の進歩がないぜ

432 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 17:31:41 ID:yZM1xSvo]
>>431
固さは面とレベルの兼ね合いにしたいと思います。
最近見かけばかりに力を入れてて肝心のゲーム内容は…。

433 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 17:42:09 ID:IkXU3fd8]
星のパーティクルがすてき。

434 名前:名前は開発中のものです。 mailto:sage [2009/01/19(月) 20:32:05 ID:j6ExWMod]
シューティングってこんなに作るの難しかったんだな

ゼビウスみたいのなら楽勝だろとか思ってました、ごめんなさい

435 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 11:58:06 ID:dMyWKq6o]
初心者です
質問なのですが、ゲームのBGMで
最初に戻って繰り返すときBGMをとぎれてしまわないようにする方法はありますでしょうか
例えばRPGの戦闘音楽のようにずっと放置していてもきれいにループするような方法です

436 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 12:40:01 ID:/e+EiVUH]
曲の途中で違和感のない位置に飛ばせばいいと思う。

俺はやったことないけど
homepage2.nifty.com/natupaji/DxLib/function/dxfunc_sound.html#R8N13
これできれいにループするんじゃない?

437 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 12:51:49 ID:dMyWKq6o]
>>436
ありがとうございます!勉強してチャレンジしてみます!

438 名前:名前は開発中のものです。 mailto:sage [2009/01/20(火) 15:22:07 ID:A5DSi9Sd]
>435
あと、姑息な手段で申し訳ないが
MIDIのようにサイズを気にしなくて済むようなものなら、最初から10分続くファイルにしてしまうという手もある。



439 名前:名前は開発中のものです。 mailto:sage [2009/01/21(水) 22:18:20 ID:2s5lyHkK]
PlaySoundMem()でループ再生フラグを指定すればいいよ。
>>435がファイル形式を言ってないのでわからないけどwavなら綺麗にループする。

440 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 15:31:01 ID:Xr8Aa3cY]
>>439
たぶん>>435が使っているファイルは曲の最初と最後が繋がってないやつなんだろう。
だから、普通にループ指定すると音が途切れずにループしない。

けど、市販ゲームでもこういうBGMあるし、俺は気にしないけどな

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

API使わないといけないのとWAV限定ですが。

442 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 17:15:00 ID:9/RQfEqV]
>>441
FF10のジェクト戦みたいにボーカルいれた音楽をBGMとして使えそうだな
すげえ

443 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 17:34:21 ID:Bh2KGHfp]
>>440
「最初に戻って」って書いてあるからなぁ。
でも途切れる方法が書いてないところが色んな憶測を呼ぶよね。
まぁここまでで解決方法出たと思うからいいんだけどさ…。

444 名前:名前は開発中のものです。 mailto:sage [2009/01/26(月) 16:05:31 ID:2mzhNCi2]
DXライブラリ(2.25)のプロジェクトがコンパイルできない。
'/O2' と '/RTC1' は同時に指定できません ってコンパイルエラーが出る。
プロジェクトの設定でO2→Odにしてるんだけれども。
RTC1の方を切ればコンパイルできるんだけど、なんでだー!

445 名前:名前は開発中のものです。 mailto:sage [2009/01/30(金) 19:51:30 ID:Wy6ip41+]
フルスクリーン化ではなく、ウィンドウモードでの最大化って
どうやったらできるんでしょうか?


446 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 06:27:02 ID:mi0nZoft]
起動時に設定ファイルなり引数なり読み込んで解像度変更させちゃえば?

447 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 08:53:12 ID:dFEgAXD4]
>>445は画面サイズを可変にしたいということ?
どこかにそれっぽいサンプルがあったような……。気のせいかな。

448 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 09:07:06 ID:KRmQ80Gs]
SetWindowSizeChangeEnableFlagで可変設定、
SetGraphModeで直接指定ができるね
なんとかして使ってるモニタの解像度を取得して当て込めば出来るかも
だけど処理速度は厳しいだろうな



449 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 10:47:56 ID:rbcO49fB]
ウィンドウのサイズを変えたいのじゃなくて
右上の最大化のボタンを押せば、標準的なアプリと同じような
動作にしたいです、
画面全体にきっちり広がって間違ってマウスでドラッグしても動かないような感じです

450 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 00:40:50 ID:XJc1/NhO]
えーと、それで、何がしたいの・・・?

451 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 10:34:54 ID:lmI58fq8]
>>449
普通にフルスクリーンモードじゃなくてウインドゥモードにすれば
いいだけじゃないの?
そういう関数あったと思うけど。

452 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 12:40:27 ID:8EnnwsB0]
デフォルトでは画面の端っこにマウスポインタを当ててもサイズは変えられないし
最大化ボタンも押すことができない
これを変えたいってことなら
サイズの手動変更の場合は>>448
あとはSetUseASyncChangeWindowModeFunction()で最大化ボタン有効化だと思うんだが
ちょっとこっちの使い方が分からないorz

453 名前:名前は開発中のものです。 [2009/02/01(日) 22:16:17 ID:2n+Oqc2F]
縦シューを作ろうと思ってるんですが、
480x640で起動することってできますか?


454 名前:名前は開発中のものです。 [2009/02/01(日) 22:20:08 ID:90n+ELwG]
>>453
homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R4N1

455 名前:名前は開発中のものです。 [2009/02/01(日) 22:30:43 ID:2n+Oqc2F]
>>454
できた!
ありがと^^
起動時に640x480になってるのが気になるけど、まいっか

456 名前:名前は開発中のものです。 [2009/02/01(日) 22:34:51 ID:90n+ELwG]
>>455
もっと早い段階で呼び出せば良いよ
DxLib_lint()より上で呼べば最初からそのサイズになる

457 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 01:44:28 ID:igrRGuw3]
DXライブラリで同人ゲームを作ろうと思っています。

C++でプログラミングするにあたって、横スクロールアクション(マリオとかロックマンみたいな)
の作り方のサンプルを紹介してるサイトってないですかね?

↓シューティングゲームについては四聖龍神録さんのページが非常に役に立ちました!
dixq.net/rp/

458 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 09:38:48 ID:2Cf0XhT+]
>>457
公式HPのサンプル



459 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 14:27:42 ID:CO3XfILg]
応用力の無いやつや

460 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 16:43:08 ID:KduT8vdn]
>>457

C++でのサンプルはどこにもない。と言い切っていい。

JAVAだが、考え方としてはいいかもしれないのでこれを見て、自分で考えてはどうか。
javagame.skr.jp/index.php?FrontPage

これもC++ではないが、考え方としては(以下同文
itpro.nikkeibp.co.jp/article/COLUMN/20060228/231306/?ST=swd-tech

やはり、自分で考えて試行錯誤するしかないのではと思う今日この頃

461 名前:名前は開発中のものです。 mailto:sage [2009/02/04(水) 21:32:21 ID:6meQrl/q]
最初はグローバル変数使いまくって
次に構造体をグローバルにして使いまくって
次に構造体をポインタで書き換えるようにして
引数に構造体のポインタがどんどん増えていき
次に各構造体の先頭のポインタをまとめた構造体をつくってそれを引数にしたんだけど
だいたいみんなこんな感じ?

462 名前:457 mailto:sage [2009/02/04(水) 22:20:44 ID:igrRGuw3]
>>458-460
レスサンクスです!

>>460
まさにこういうページ探してました!
横スクロールと敵の制御とか参考になりまくりです。
言語は問わないんですが、STGの情報は多いのにACTはなかなか無かったので。

↓自分でも探してたんですが専門学校(?)のゲームの作り方ページもよかったです。
rina.jpn.ph/~rance/directx8/

Web上だとなかなか情報が無いから、専門学校の
教科書が欲しいなんて思っちゃいました。笑

463 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 03:42:29 ID:GjXLMUdb]
>>461
前から気になってはいたんだけど、構造体とかグローバルで使うのって何かまずいことでもあるの?
ポインタにする利点をずぶの素人の俺にも分かり易く教えて欲しい。
引数で構造体を直に渡してなければ余り関係ない気がしてるんだけど。

464 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 07:27:08 ID:rTUW0rFP]
グローバルな変数は、他で書き換えられるかもしれないことを
いちいち考えないといけないんだよな
プログラムの複雑さが増すので乱用は慎しめと言われてる

465 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 08:09:33 ID:ojur6QxZ]
はっきり言ってしまえば、そのプログラムを自分しかさわらなくて、
注意して組む自身があるならグローバルでも問題ないと思う。

466 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 08:48:42 ID:9t4FKbe4]
>>465
俺は、あえて 「昨日の自分は他人」だと思って、
可能な限り、必要性のない限り グローバル変数は使わない方がいいと思うけどね。
(特に、携帯機器とかメモリ節約とか求められてない時は余計に。)

>>463
“普通の”ポインタの利点は、微妙だな。ただ、まだまだある所じゃ、速度的に値のコピーよりも
参照して行った方が効率が良かったり、処理の記述がしやすくなったり。

ただ、あるClassのポインタ(関数ポインタ含む)は処理の委譲に頻繁に利用される。
利点として、全体像が綺麗にできるし、コードの混雑が大きく減る。
cf.Strategy パターン Decorator パターン  双方向リスト 動的確保

467 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 09:31:40 ID:Qc5+f5Cj]
>>463
グローバル構造体自体は普通に使うよ。
グローバルクラスが普通に使われるように。
C++においては構造体=クラスだからね。
問題は、構造体に使われるpublic変数なんだと思う。
GetXX(),SetXX()にすればいいって問題でもないとは思うけど、もしクラスならメンバ変数は基本的にみんなprivateでしょ?

468 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 10:35:01 ID:4io8tQ0w]
何言ってるかさっぱりわからん俺のソースは絶対他人には見せられんな。



469 名前:名前は開発中のものです。 mailto:sage [2009/02/05(木) 17:44:21 ID:B8Cz6uqn]
>>463
461です
俺は今年からプログラミング初めた素人
まだグローバル変数使って困ったことはないけど
勉強しつつゲーム製作やってるから今はポインタ使って試してる
次はクラスってのを使ってみる予定

470 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 00:33:01 ID:O6HFVvT0]
DxLibでaviを再生させる関数ってありますか???

471 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 00:35:30 ID:O6HFVvT0]
>>470
すいません
DXライブラリで検索したら即効見つかりました
お騒がせしました

472 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 00:57:03 ID:O6HFVvT0]
すいません
下のようなコードで何か問題ってありますでしょうか
動画が真っ黒の画像で再生されてしまいます
test.aviはexeファイルと同じディレクトリにあります

#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}

PlayMovie( "test.avi" , 1 , DX_MOVIEPLAYTYPE_BCANCEL ) ;

DxLib_End() ; // DXライブラリ使用の終了処理

return 0 ; // ソフトの終了
}

473 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 08:46:48 ID:7KSAHxxq]
>>472
原因を調べるにはまずどこがおかしいか調べようぜ
PlayMovieの戻り値は調べた?
まあおそらくtest.aviが開けないんだと思うけど。
exeと同じディレクトリでもカレントがそことは限らないよ、どうやって実行した?
フルパスで指定してみるのがいいかもね

474 名前:名前は開発中のものです。 [2009/02/06(金) 10:04:24 ID:T3lftGPa]
>>472

#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}

if(PlayMovie( "test.avi" , 1 , DX_MOVIEPLAYTYPE_BCANCEL ) ==-1)
{MessageBox(NILL,"ファイルが開けません","読み込みエラー",MB_OK);}

WaitKey();
DxLib_End() ; // DXライブラリ使用の終了処理

return 0 ; // ソフトの終了
}

こう変えて確認してみたら?
PlayMovieは、ファイルの読み込みに失敗すると-1を返す(成功は0)
もし、これでMessageBox表示されたら上手くファイル指定ができてないってこと

もしかしたらコーデックなんかの問題もあるかもしれないけどそこは分からない
あと、PlayMovieはそこでムービー停止するまで処理とまるんだっけ?
そうじゃないならムービーの再生が終わるまで処理終わらないようにする工夫が必要

どれもこれもリファレンスにあるから一度目を通してね

475 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 10:36:49 ID:7KSAHxxq]
つーかこれ公式のヘルプのサンプルそのまま貼り付けただけじゃないか。
これで問題ありますか?って、、、、
今後もサンプルがうごかないたびにコメントごとそのまま貼り付けるつもりか。

476 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 10:44:57 ID:RXpavouu]
公式ページにカレントディレクトリの説明がないからだろ
フルパス指定を推奨しろよ

477 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 22:13:54 ID:bune21hQ]
実行させてないけども、472のプログラムって一瞬で終わったりはしないのか・・

478 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 00:40:47 ID:9/tOLDQP]
一応、ムービーは最後まで流れたよ。
ファイルが無いときも黒画面のフルスクリーンまでいって帰ってくる



479 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 00:50:47 ID:XZUozGI6]
>>472
音は鳴ってるの?

480 名前:472 mailto:sage [2009/02/07(土) 12:23:31 ID:m2CcO09N]
すいません
解決しました
原因は動画のサイズが大きかったことでした
試しに400*300の小さい動画を再生したところ画面左端にきちんと表示されました

481 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 16:43:56 ID:5JGvk0Ld]
ほー大きいと駄目なのか

482 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 18:57:56 ID:fLtGYl8p]
大きいってどれくらいだろう。

483 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 21:03:54 ID:lpCM/pFJ]
謎がふかまるばかりだ

484 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:54:45 ID:winQ4pAR]
画面から一部はみ出てるから表示されないじゃね

485 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 20:19:32 ID:1pnOXqGt]
背景の画像と前景の人物画の輪郭をアンチエイリアスで
合成するにはどうしたらいいですか?

486 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 21:02:42 ID:r4CYwpcr]
アルファブレンドの出番かな?
ファイル名_a.拡張子で指定。プログラムは変更不要で元ファイルといっしょに読み込む。
グレースケール(白黒)で256階調。
0(黒)が完全透過で255(白)がマスク、中間値で半透明処理できる。

487 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 21:16:29 ID:hQLvxnkO]
前景に普通にアルファチャンネル付き24bit-PNG使うだけじゃなくて?

488 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 21:39:39 ID:kpyVvUs4]
png扱えるならそれが一番楽だな



489 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 22:04:30 ID:1pnOXqGt]
ありがとうございます

アルファブレンド試してみました
ファイル一つ用意するだけで出来たんですね
美しい描画に感動しました

アルファチャンネル付きpngは今から作ってみます
作ったことないからグーグルから始めますが
今日中にがんばってみます



490 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 22:37:00 ID:1pnOXqGt]
アルファチャンネル付きpngすぐ出来た
ありがとうございました

491 名前:名前は開発中のものです。 mailto:sage [2009/02/10(火) 01:17:10 ID:4F920hOP]
俺はもう何でもかんでもアルファチャンネル付きPNGだ。便利すぎ

492 名前:名前は開発中のものです。 mailto:sage [2009/02/10(火) 10:00:17 ID:XFgx+1B+]
だな

493 名前:名前は開発中のものです。 mailto:sage [2009/02/10(火) 10:05:10 ID:rFLiGfwY]
pngって使用制限あるんだっけ?
pngを知ったら他の形式なんてとても使えたものじゃない。

494 名前:名前は開発中のものです。 mailto:sage [2009/02/10(火) 11:14:35 ID:vQYvbazz]
スピードに問題はないの?<アルファチャンネル付きPNG

495 名前:名前は開発中のものです。 mailto:sage [2009/02/10(火) 20:29:18 ID:tnQHyXfF]
読み込んだあとは一緒だから全く問題ない

496 名前:名前は開発中のものです。 mailto:sage [2009/02/10(火) 22:37:01 ID:vQYvbazz]
そうなんだ。
透過処理ってなんか重そうだから多用しないようにしてたんだけど、心配なかったのか。

497 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 01:39:50 ID:EiHo01Mu]
png使ったら著作権表記が必要じゃなかったっけ?

498 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 02:00:10 ID:v+EsJNk0]
pngはgifの特許がらみがウゼーって事で作られたものだから
その辺の表記なんたらは何にも必要ないよ



499 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 03:56:50 ID:abcckAid]
pngそのものの著作権じゃなくて
読み込んで表示させるプログラムの著作権じゃない?

>・下記の機能を使用した場合は、配布するソフトウエアのドキュメント等に各機能に応じた
>  著作権表示を含めてください。

>  PNG 画像を読みこむ機能を使用した場合

>   libpng Copyright (c) 1998-2004 Glenn Randers-Pehrson.
>   zlib Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler.

homepage2.nifty.com/natupaji/DxLib/dxlicense.html

500 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 08:50:36 ID:swUZoApZ]
>>496
>>495はアルファブレンドとアルファチャンネル付きPNGが一緒ってことじゃないかな?
透過処理は普通の描画に比べたら遅いよ。

501 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 09:51:46 ID:1w4T1utS]
ああ、なるほど。
491がなんでもかんでもって言ってるから
普通の描画と同じくらい軽いのかと思ってしまった。

502 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 10:55:48 ID:n8G83FSO]
TGAだったら外部ライブラリ使ってないから著作権表記の必要はないよ
圧縮アルゴリズムが単純だからPNGよりファイルサイズが大きくなるけど・・・

503 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 19:22:37 ID:AZ7K07ik]
さっき何気なく3D版の公式見てみたら・・・

504 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 19:36:20 ID:qrNBhwtd]
終了か

505 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 21:30:38 ID:EO0e2yUS]
透過処理はそんなに重くないよ

506 名前:名前は開発中のものです。 mailto:sage [2009/02/12(木) 04:09:43 ID:T7mGdx78]
3D版まだ落とせるとこない?

507 名前:名前は開発中のものです。 mailto:sage [2009/02/12(木) 09:22:15 ID:g2cVI1Rq]
直リンで落とせるんでない?

508 名前:名前は開発中のものです。 mailto:sage [2009/02/12(木) 10:15:43 ID:S0rR+p5u]
かゆい

うま



を思い出したwww作者どうなったんだw



509 名前:名前は開発中のものです。 mailto:sage [2009/02/12(木) 15:51:55 ID:T7mGdx78]
ファイル名が分からない…

510 名前:名前は開発中のものです。 mailto:sage [2009/02/12(木) 19:27:06 ID:g2cVI1Rq]
だいたいなんで今更3D版がほしいんだ?

511 名前:名前は開発中のものです。 mailto:sage [2009/02/12(木) 19:28:31 ID:V7VMrK+q]
なにが今更なの?

512 名前:名前は開発中のものです。 mailto:sage [2009/02/12(木) 19:45:30 ID:g2cVI1Rq]
公式が死んでるのに今更そこまでしてほしがる理由は何だろうと単純に思った。

513 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 04:49:14 ID:qd9k9XJd]
きっと、開発を引き継いでくれる猛者なんだと予想

514 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 08:52:43 ID:gm7Wlof8]
"今更"って主観に左右されると思う

515 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 09:20:00 ID:Tj50RFPE]
>>512
前に使ってて一時期離れてたとか
DXライブラリの事を最近知ったなら今更とか関係ないし
てか、なんでそな事を疑問に思うのか疑問だ

516 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 09:31:26 ID:gsDT3swS]
ちょうどサイトが死ぬ頃にきたもんだから、何かこう「今更かよ!」的な印象を持ってしまった。
失礼した。



517 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 10:00:20 ID:KHzspSCY]
んーー???

518 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 10:08:42 ID:Gs8dKfU5]
情弱死ねって事でしょ



519 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 13:24:47 ID:OFBqMPYi]
とりあえず、webarchiveあたりからリンク引っ張ればいいじゃん

520 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 17:52:53 ID:gamtZzLZ]
DXライブラリ初めてつかってみたんだけど、なかなかいいね。
面倒なDirectX初期化周りやレンダリング処理を全部任せられるのがすごく便利。
今まで何度も1人でゲーム作ろうとしてゲームのライブラリ化までで燃え尽きてたけど、いけそうな気がする。

ただ、メッセージプロシージャ周りを完全に独立させて、他に譲渡できればいいんだけど、
DirectXの特性上難しいのが残念かな。
ウィンドウモードでデバッグウィンドウ周りを実装してたときに感じた愚痴です。

521 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 19:27:10 ID:6Q+KDpbI]
3Dの方が更新されてたが、作者どうしちまったんだ?気でも違ったか?

522 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 19:33:25 ID:OFBqMPYi]
人生の方が狂ったんじゃ

523 名前:名前は開発中のものです。 [2009/02/13(金) 20:41:49 ID:Br6f/DrZ]
00o.sakura.ne.jp/index.html
3D版の作者のサイト、移転してたんだ

524 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 21:15:25 ID:vieAChNU]
>>523
日記の内容からして
もうDXライブラリの方は手をつけないんだろうか

525 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 21:54:45 ID:KHzspSCY]
このスレ見てなかったっけ?
そのうち書き込むんじゃない?

526 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 22:01:18 ID:6Q+KDpbI]
>>523
ああ、移転だったのか。
あんなイカレた閉鎖文なんか載っけてどうしたのかと思ったよ。

527 名前:名前は開発中のものです。 mailto:sage [2009/02/13(金) 22:26:23 ID:Tj50RFPE]
要望に答えるのが日常になって自分の作りたい物に時間や気力を使えなくなったから
過去を全部捨てて仕切りなおしたって感じだな
もうライブラリとかそう言うのは作っても公開しない気がする

528 名前:名前は開発中のものです。 mailto:sage [2009/02/14(土) 00:37:02 ID:vEcxeBnT]
DXライブラリ3Dは公開される気配はなさそうだし、終了のお知らせか・・・



529 名前:名前は開発中のものです。 mailto:sage [2009/02/14(土) 02:11:46 ID:ioBOninz]
まあこうなるとは思ってたよ
DXライブラリ3Dのソース見てみたらモデルの扱いにD3DX使ってて
まともなライブラリに至るにはまだまだ先の長い状態だったしな・・・

530 名前:名前は開発中のものです。 mailto:sage [2009/02/14(土) 13:24:54 ID:esml8/+n]
いや、作者はどこか意志が弱そうだから、
また公開してくれるまで諦めるな。

531 名前:名前は開発中のものです。 mailto:sage [2009/02/16(月) 13:18:58 ID:xQ8BZc1p]
人様が作っている物をタダで利用させてもらってる以上、こういう事態は仕方ないと思うよ

532 名前:名前は開発中のものです。 [2009/02/16(月) 17:21:56 ID:2DsBHdnG]
今、3D版のサイト見たら
DXライブラリ3Dファイナルパック
というのが、公開されてるんだが
fatalita.sakura.ne.jp/3DLib/


533 名前:名前は開発中のものです。 mailto:sage [2009/02/16(月) 17:48:01 ID:i1Y9wFn0]
>>532
>※このサイトは2,3日以内に自動的に閉鎖されます
このスレ見て一時的に公開?w

534 名前:名前は開発中のものです。 mailto:sage [2009/02/16(月) 18:15:06 ID:2i4RbFSc]
でもこうやって出来る限りの配慮をしてくれるのはありがたい
非常に乙でした

535 名前:名前は開発中のものです。 mailto:sage [2009/02/16(月) 21:10:15 ID:yCP91q6a]
とりあえずウィルススキャンはクリアした

536 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 14:12:08 ID:VEVhf4mN]
てか自動的に閉鎖ってできるのか

537 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 15:16:32 ID:Zl2geQsR]
今北
関数リファレンスページにあるリンクされてない関数ってサンプルがないだけで使えるんだよね?
SUGEEEE

538 名前:名前は開発中のものです。 [2009/02/17(火) 16:23:49 ID:5nIY3uJB]
DXライブラリ3D作者
おつかれさま
いろいろ勉強させていただきました



539 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 16:43:07 ID:vyYC8Vig]
DXライブラリ3D辞めたのか。うーん。これからどうしよう。
SlimDXに行くかな

540 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 16:47:15 ID:gK6Z/ZXS]
SlimDX使えるような人ならDXライブラリの世話になんかならんw
.NET言語で書けること以外は生DirectXと同じだぞ

541 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 17:10:56 ID:nPVB/UbL]
まあおかげDirectXのドキュメントが役に立つわけだがw

542 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 20:02:40 ID:/uggH+y6]
DXライブラリ3D作者ありがとう、感動した。

おつかれさまでした。

543 名前:名前は開発中のものです。 [2009/02/18(水) 01:28:08 ID:p5LpkikR]
etGraphMode(800,600,32);
if( DxLib_Init() == -1 ){return -1 ;}
int t,g;
g=LoadGraph("a.png",TRUE);

SetDrawScreen(DX_SCREEN_BACK);
for(t=0;t<150;t++){
DrawGraph(GetRand(800),GetRand(600),g,1);
ScreenFlip();
WaitTimer(10);
ProcessMessage();
}

単純に画像を全画面にランダム表示するプログラムなのだがここで問題が・・・

Radeon系のグラボで実行すると画面がおかしくなるんです
SetScreenMemToVramFlagでグラホのメモリを使わない設定にするとまともに表示します
DXライブラリはRadeonの相性悪いんでしょうか
ちなみに実行したパソコンのグラボはラデX1950Proと3870で
ドライババージョンは1.2.2545 38946です

544 名前:名前は開発中のものです。 [2009/02/18(水) 01:28:34 ID:p5LpkikR]
最初のSぬけてた

545 名前:名前は開発中のものです。 mailto:sage [2009/02/18(水) 02:19:01 ID:8ojm5TEP]
「おかしく」の内容がわからないけど
たとえばSetGraphMode(640,480,16);にしても起こる?

546 名前:名前は開発中のものです。 [2009/02/18(水) 04:12:49 ID:p5LpkikR]
>>545
色を変えてもちらつきます・・・どうやら色問題でもなさそうです

で試行錯誤していろいろやってみたけど
SetDrawScreen(DX_SCREEN_BACK); というの行を削除して
実行するとまともにちらつきがなく1枚ずつまともにきれいに表示された
(理由はよくわからないけど・・・)
あ 肝心なDXライブラリはVer2.25です

547 名前:名前は開発中のものです。 mailto:sage [2009/02/18(水) 07:25:00 ID:TxKBLHeJ]
>>543
全文かいてないからどうおかしくなるのか分からないけど、それだとすぐに終わらない?
SetGraphMode(800,600,32);
if( DxLib_Init() == -1 ){return -1 ;}
int t,g;
g=LoadGraph("a.png",TRUE);

SetDrawScreen(DX_SCREEN_BACK);

while(ProcessMessage() == 0)
{
for(t=0;t<150;t++){
DrawGraph(GetRand(800),GetRand(600),g,1);
}
ScreenFlip();
}
DxLib_End();
return 0;

これでもだめ?

548 名前:名前は開発中のものです。 [2009/02/18(水) 08:16:18 ID:476p40bE]
ラジオン自体、DirectXの規約にこだわり過ぎているからな
テクスチャサイズは2の累乗とか特殊なウィンドウサイズに対応してないとか



549 名前:名前は開発中のものです。 [2009/02/18(水) 08:38:08 ID:p5LpkikR]
>>547
すいません自己解決しました^^;

どうやらDXライブラリのプログラム上ではなく
ATI Catalystのグラフィック設定がおかしかったようです・・・
3Dアンチエイリアス設定を「管理しているアプリケーション」を選択して
設定して実行すると 画面に残像現象がおきて変になるようです
そこの設定を 2x4x6x(どれでもOK)を選択すればちゃんと表示されました

550 名前:名前は開発中のものです。 mailto:sage [2009/02/18(水) 19:23:35 ID:m9ZprRI/]
ファイナルパック逃したああああああああああ

551 名前:名前は開発中のものです。 mailto:sage [2009/02/18(水) 19:41:11 ID:VJaNf5ax]
>>550
^q^9m




>改変して二次公開したりしても別にかまいませんが、その際は二次公開の旨を分かる位置に掲載してください。
>なお、DXライブラリ3Dは著作権は原則フリー(常識の範囲内で)なので商用・非商用・自作ライブラリへの組み込み、
>全てにおいてあなたのやりたいようにやってください。

その内誰かうpしてくれるよw

552 名前:名前は開発中のものです。 [2009/02/18(水) 21:08:45 ID:CQ81txgw]
>>550
うpロダにあげたよ


>二次公開の旨を分かる位置に
ミスったな
一応ここで二次公開って言っておけば大丈夫かな?


uproda55.2ch-library.com/s/gogo000065.zip.shtml

553 名前:名前は開発中のものです。 mailto:sage [2009/02/18(水) 21:30:08 ID:VJaNf5ax]
>>552
それは中身改変してる場合じゃね?>掲載

554 名前:名前は開発中のものです。 [2009/02/19(木) 07:50:51 ID:pIWtXiH1]
何故か3Dモデルがポリゴン欠けしてしまうよ

555 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 11:33:29 ID:f0/T9Pla]
それ以前にさ、モデルを100分の1くらいに縮小して表示したら変なことにならないか?
もうこれでずっと悩んでるんだが

556 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 15:13:01 ID:U9UHVYOh]
ヒント
有限な計算精度

557 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 16:41:47 ID:4ok3CY5Z]
縮小するなら、縮小専用のモデル(ビルボでも可)を用意してあげれば?

558 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 19:45:08 ID:f0/T9Pla]
どうしよう二人の言ってることがさっぱり分からん。

ニコ動に抵抗がなければ5:20あたりから見てくれないか。
ttp://www.nicovideo.jp/watch/sm6061026



559 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 19:51:00 ID:f0/T9Pla]
↑ログイン形式だったの忘れてた。聞かなかったことにしてくれ。

560 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 19:57:29 ID:qMcuPVNK]
ライブラリ3DはDXアーカイブファイルとFileRead_系の関数が使えないのかああああああああああ

561 名前:名前は開発中のものです。 [2009/02/19(木) 20:18:13 ID:bxQhZGhK]
File_Read系は
#include<stdio.h>
で好きなだけ代用できるじゃないか

intじゃなくてFILFポインタになるけど

アーカイブは探せばいくらでもあるから代用できる

……はず

562 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 21:11:58 ID:uEbxvwJb]
>>558

うはー、DXライブラリ3Dってこんなの作れるのか。

563 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 21:35:14 ID:lOZWd07N]
DXライブラリ3Dを持ち上げては「閉鎖もったいない!」「また公開されるべき」と色んなスレで書き込んでるIDが同じヤツ作者?
それにあわせて作者が同じ日に公開とか自演ぽくね?

閉鎖なのか公開なのかはっきりしろよ・・・
大学続けようとおもいます→大学中退しました→
夢があるからです→夢から冷めてきました→
興味が薄れてきました→PC壊れたので・・・→閉鎖します

564 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 21:40:51 ID:uEbxvwJb]
んな事自演しても意味ないと思うけどな〜w

565 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 21:48:49 ID:tJ+D/Bvq]
ii2.matrix.jp/news/archives/index.html

566 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 21:49:12 ID:TRLSeDgG]
>>563
アホ?
これ以上のバージョンうpは無いと思ってればいいだろ
閉鎖されてから落とせなくて探してる奴が居ただけだ
ファイナルを何時から準備してかは知らんがな

てか、こんな過疎板に自演して作者に得があるのか?

567 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 00:24:59 ID:8YD/yL0t]
2Dの方で努力に見合った対価が得られなかったのかな?

568 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 00:29:18 ID:ysEz7dEP]
DXライブラリ3Dだけど個人的には飽きっぽいのに根気が要るライブラリ公開なんてするなよと思った
無料だから文句は言えないけど、飽きたから管理止めますとか、無責任なことには代わりない
もうこの作者のことは信用できない



569 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 01:17:54 ID:A+5UBWwG]
文句言いまくりですねw

570 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 05:50:40 ID:8tyTE/rK]
まあ擁護してる奴は作者だろうな

571 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 07:41:19 ID:8YD/yL0t]
仮に飽きたからでも一身上の都合と言うのが大人だよな

572 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 07:43:53 ID:8YD/yL0t]
麻生じゃないけど世の中思った事をそのまま口にすると損する事が多いらしい

573 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 07:44:51 ID:jFTkkFCI]
>572
そらそうだw

574 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 08:28:32 ID:8h4MKZuU]
麻生は口滑らしすぎだなw

575 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 09:06:13 ID:aIKFY2CZ]
欲しい物が手に入ったら叩き始めるとかもうね

576 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 09:48:35 ID:KdVzxEPs]
小泉さんは思ったこと口に出したからこそ成功できたタイプ

577 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 10:58:30 ID:8YD/yL0t]
飽きたから止めますってなんて言われたら今までのファンは凹むもんさ
有料でもいいから続けてみては?

578 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 12:26:01 ID:aZHJViPQ]
>>576 どこがだよwww

むしろ、逆だろ。ほとんど何も言わなかった。
で、喋る時は、あらかじめブレーンが考えた フレーズで乗り切る。
だから、絵が欲しいTVには喋ってる所で、内容がぶれようがない。
変な編集かませる余裕を作らず、ちゃんとメガホンとしてマスコミを利用してた。



579 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 12:38:02 ID:jFTkkFCI]
メディアの使い方が上手かった、これだけは間違いない

580 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 13:08:33 ID:3qadtHxy]
DXライブラリ3Dの作者は信用できないのは間違いない
それ以上にDXライブラリの名前使ったのに逃げたのが許せない


581 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 14:12:22 ID:KdVzxEPs]
>>578
私の内閣では通用しない
感動した
そして解散を決めたときの名演説

いまさらかつての人気を貶めようとしても無駄ですよ


582 名前:名前は開発中のものです。 [2009/02/20(金) 15:48:19 ID:D8Q9D5Jt]
DXライブラリ
DXライブラリ 関数リファレンスページ
dxfunc2.htm(ファイル名) には詳しい説明がなくて

メニュー関係関数がいまいち使い方がわからない

583 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 16:36:00 ID:8h4MKZuU]
あー、なんか

>それ以上にDXライブラリの名前使ったのに逃げたのが許せない

これはわかる
名前がまったく関連性のないものだったらよかったのにね

584 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 17:24:08 ID:MS2hL7JC]
メニュー関係関数って何

585 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 17:24:10 ID:2MhbVJBH]
集客のためだったんだろうよ。

586 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 18:29:28 ID:kcT2uiGI]
メニュー関係の関数は本当に全然わからんよね
関数の数も多ければ、引数についても説明不足でなにがなんだか分からないよ。まじで。

自分はResourceから作ってます。
IDR_MENUってのがメニューリソースでこんな感じ
SetUseGDIFlag(TRUE); //GDI利用
SetUseMenuFlag(TRUE); //メニュー利用
LoadMenuResource(IDR_MENU); //リソースからメニューを読み込み
SetDisplayMenuFlag(TRUE); //メニューの表示
注意を1点だけ。
Windowモードだと問題ないけど、フルスクリーンモードだと、
そのメニューからDialogBoxなりMessageBoxを呼ぶと、
一見ちゃんと表示されたようになりますが、処理復帰後、
その後、メニューが隠れて見えなくなります。

587 名前:名前は開発中のものです。 mailto:sage [2009/02/20(金) 18:30:55 ID:kcT2uiGI]
あ、あとメニュー作成はDxLib_Initの前でOKです

588 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 01:04:15 ID:3rVkBDkP]
>552
今DLしました
ありがとうございます!



589 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 09:46:45 ID:73or/HL/]
>>552
超ありがとう。
マジで。
おかげで開発引き継げられるわ。

590 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 10:07:29 ID:QPv83g/e]
>>589
引き継いでもいいけどDXライブラリ3Dという名称はやめてくれ

591 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 10:35:53 ID:73or/HL/]
>>590
わかるけど
変えたら変えたで問題じゃね?

592 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 11:17:25 ID:Vvb1WGeN]
俺ももうDXライブラリ3Dという名前はやめてほしい
完成度が高くて初心者でも分かる程度になってから名乗って欲しい

593 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 11:52:48 ID:YY9Vv2Rq]
DXライブラリ3Dの作者叩く奴等は最低だと思う。

どこのチョンだよ。

見てて恥ずかしい。

594 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:04:32 ID:Vvb1WGeN]
勝手にDXライブラリ名乗って売名したうえに
ユーザーから賞賛されないって逃げたのは誰だよ

ホンディーって名乗ってホンダっぽさだして
富士山移して日本っぽさだして売名してる現代車と変わらないのは作者だろ
しかも、性能まで劣ってるというとこまで同じだし

叩くというかもう出てこないで欲しい

595 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:37:57 ID:73or/HL/]
行動せん奴よりは100億倍マシだがな

596 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:41:31 ID:Vvb1WGeN]
行動の方向性が悪けりゃ邪魔にしかならない
そして、作者は現に逃げた 大学からも ライブラリからも サイトからも

597 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:45:53 ID:Wn6D0K7q]
ml::だけは格好悪すぎるから変えてくれ

598 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:46:30 ID:Vvb1WGeN]
あと作者はあのサイトとあの名称を捨てただけで活動してるみたいよ?
ブログっぽいのに書いてあった
その宣言と同時に突然DXライブラリ3Dの書き込みや動画投稿増えてるからなー
何をいわんとするかは察してくれ



599 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:49:09 ID:Vvb1WGeN]
>>597
あれはセンスないよなmL.とかないわーって思った。
普通に dxlib3d. とか略してdx3dなり関連性だせばいいのにな

そもそも初心者向け狙ってクラス前提はどうかな・・・
表面層ですべて関数化したほうがDXライブラリっぽくていいのいね

600 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:56:14 ID:YLpnm94h]
プログラマなんだろ?
自分でやれよ。

うだうだうるさいな

601 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:57:32 ID:73or/HL/]
クラスやだやだと思っていたクチだが
いざ自分がクラスを覚えるとやっぱクラスじゃなきゃやだな。

602 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 12:58:37 ID:YLpnm94h]
あのライブラリは終わったんだからさっさと切り替えろよ
ここは
Dxlibのスレだ

603 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 13:10:33 ID:Vvb1WGeN]
確かにまったく関連ないからね、関連持たせたい人いるようだけど


604 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 13:16:06 ID:dxxV1Mry]
DXライブラリのひともこんな奴らがユーザーかと思ったらやる気なくすわな。
なんかあったらどうせ同じように叩くんだろ?
で、お前ら1本くらいゲーム完成させたのかよ?
できてる奴は晒してくれ。できてない奴は3d叩いてないで、一緒に精進しようや。

605 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 13:24:03 ID:73or/HL/]
むしろ何をモチベーションに頑張っているのか知りたい。
一銭にもならんのに世の中には奇特なひとがいるものだなと思っている。
使うほうとしては助かるが。

606 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 13:27:49 ID:Vvb1WGeN]
やる気勝手になくしてろよw
なんかあったら同じように叩くに決まってるだろwそれが悪いのか?

一銭にもならなくても集客や勉強にはなるからな
それを先に期待して失敗したライブラリもあるようだがw

607 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 13:33:11 ID:YLpnm94h]
>>606
pc11.2ch.net/test/read.cgi/gamedev/1233739646/

こっちだけでやってろよ

608 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 13:43:26 ID:Vvb1WGeN]
3D版をよく宣伝しておいてあげるよ
色んなとこでなw
よかったなJEX



609 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 14:09:34 ID:jnbX56Cw]
おまいら、DarkGDKを使え!3Dが簡単だ
クラスもOOPも必要ない
DXライブラリだけの知識で充分だ

DarkGDK
www.microsoft.com/express/samples/gamecreators/default.aspx



610 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 14:22:42 ID:dxxV1Mry]
IDにdx出たらなんか嬉しいわ。
フリーソフト全般に言えることだが、モチベーションはユーザーの笑顔だよ。
勉強も兼ねて作ったソフトでも他人が喜んでくれると嬉しいじゃん。
でも勘違いしないでほしいのは、「奉仕」ではなくて結局は自分が嬉しいからということ。
だから>>606みたいなコはツクールでも他のライブラリにでも行けばいいのは確定的に明らか。

…作者乙みたいになっとるorz

611 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 14:27:52 ID:Vvb1WGeN]
だから、DXライブラリとDXライブラリ3Dはまったく関係ないだろ
その話題をだすなホンディー野郎が

612 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 14:51:46 ID:9LkGvvey]
無関係なのに名前だけで信者が勝手に宣伝してくれる東方のようだ

613 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 18:11:06 ID:ZosdmEGc]
この過疎スレでまっかっかとはこれいかに

614 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 19:22:29 ID:qDaUhwJp]
ID:Vvb1WGeN

615 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 20:09:47 ID:YRfeqJWH]
DXライブラリPortableなるものもあるし、どうなってるんだ

616 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:42:10 ID:SXUTviSw]
本家の雑談掲示板で

投稿者:管理人 投稿日:2008/12/02(Tue) 03:41
> PSPで使えるDXライブラリ風のライブラリに取り組んでいます。
> DXライブラリPortableというそのまんまな名前です。
DXライブラリの名を冠するのでしたらDXライブラリのプログラムがそのまま動く方向で・・・  嘘です  ( いえ、***さんなら可能かもしれませんが・・・ )
というか、似てる度合いにもよりますが、なにもセンスの無い名前( DXライブラリ )を使う必要は無いのでは(^ ^;
;
遠回しな表現だが、DXライブラリの名が乱用されることに困惑している
プログラミング云々以前に、奥ゆかしい心を持つのが大事だと思うよ
渦中の人物さんも、とうに終わったことを批判してる皆様も

|ω・)。oO(・・・なんて言ってみたいね)

617 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 23:09:02 ID:73or/HL/]
>なにもセンスの無い名前( DXライブラリ )を使う必要は無いのでは(^ ^;

なにを今更かもしれんが
「DXライブラリ」という名前は本当、どうにかならんかったのかな。
一般名詞なのか固有名詞なのか紛らわしい。

618 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 23:32:02 ID:Vvb1WGeN]
>>617
と、JEXが名前のせいにしています



619 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 01:09:22 ID:iXJQLcV6]
>>617
DirectXの公式ライブラリだと思ってる人も居るしね
でもこの微妙な名前のお陰で検索で迷うことが無いw(似た名前を誰も付けないから必ずトップに来る)
しかしDX(デラックス)ライブラリなのか"D"irect"X"ライブラリなのかどっちなんだ

620 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 01:48:46 ID:MYCg5Ttv]
>616
遠回しな否定にちょっと笑った

>617
遠い昔に、同じようなことを(仲間内でだが)ツッコんだ記憶があるw

621 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 10:47:40 ID:SOgPp2Su]
東方二次創作で東方○○○(漢字三文字)って名前にするような感じだな

622 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 18:24:12 ID:D+em7cNw]
なんか根本的に違う

623 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 23:59:26 ID:T9mimNJt]
DXライブラリとは直接関係無いかもしれませんが質問させてください。
今2Dのゲームを作り始めたばかりです。
座標系の変数にint型を使っていますが計算や関数に通すと小数点以下が切り捨てられ若干正確さに欠けるてしまうのが気になります。
floatやdoubleを使えば正確さは取り戻せるのですが、
この先ゲームを大きくしていくにつれて浮動小数点型を使用するデメリットなどはありますか?
たとえば大量の衝突判定を行う際の演算速度に影響しないかなどが気になるのですが・・・

624 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 00:01:18 ID:DH1AxR+6]
そもそも小数点以下が切り捨てられるのが正確じゃないと考えるのがおかしい。
表示座標と内部座標について見直せ。

625 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 01:02:40 ID:pMCsbAxr]
int型は整数をいれる変数です

626 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 01:16:14 ID:8ngKALzm]
ちなみに内部的に浮動小数点で持っても別にいい。
表示の時は整数キャストしなさい。
切捨てが気になるなら四捨五入の関数やマクロでも使いなよ。
演算速度はint>float>doubleだが、
floatで座標を持たないといけない設計のゲームが、
演算速度の関係でint型に戻すとかは考えない方がいい。

作ってるゲームにもよるが、あたり判定はコストが掛かるところ。
演算速度が気になるようなら、基本的な衝突判定アルゴリズム(4分木空間分割)を使うがいいさ。
演算速度の問題はアルゴリズムが解決してくれる。

627 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 03:04:34 ID:E10pxrAS]
2Dゲームでそんなに正確さ求められるもんかねぇ。

それとは関係ない、こっちの話だが
俺の作ってる2Dゲー、今までは普通に動いてたのが
PCに故障によって多少環境が変わったところ、
状況によって激重になるようになってしまった。

もともとそんなに高性能PCってわけじゃない(はずな)のに
非効率な組み方でちゃんと動いてたから安心してたんだが
これはちょっと根本的に見直す必要があるのかもしれん。

画像のサイズを2のn乗にする事で多少改善した部分もあるが
画像とは関係なしに重くなる部分があるようなので
それこそ以前勉強しようとして挫折した空間分割とか考える必要があるのかも……。

628 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 03:12:12 ID:8ngKALzm]
まずはどの箇所でオーバヘッドを生んでいるのかを明確にしてからだな
当り判定なのか、描画処理なのか、読み書きなのかだ。
それぞれマイクロ秒単位(GetNowHiPerformanceCount)で処理時間を計測して、
ボトルネックになってる箇所があたり判定なら空間分割したらいい。
勉強するのが嫌なら、どっかその辺のライブラリ引っ張ってきたらいいさ。



629 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 08:31:25 ID:wwU8DbAV]
浮動小数点なんて使ってたら誤差がどんどん
広がっていきませんか?

630 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 12:31:35 ID:cbCnDoWc]
整数だと、何故正確じゃなくなるのかが分からないんだ。
誰かアドバイス頼む。

631 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 12:34:36 ID:s3UHHKOo]
ミサイルの計算とか整数でやろうと思ったらものすごく頭使わないといけないと思うんだが

632 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 12:35:17 ID:D3Z7OH4U]
ソースを貼るのが一番じゃね?

633 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 13:49:42 ID:cbCnDoWc]
>631が質問者と同一人物かどうかは分からんけど


例えば、毎フレーム5ドットずつ動くオブジェクトがあるとする。
「速度アップ」というアイテムがあり、それを取ると移動速度が10%上昇する。

速度10%アップということは、速度が5から5.5になることを意味する。
だが、当然ながらint型では5.5という数字は表現できない。

無理矢理に5.5を表現しようとすれば、
フレーム毎に5ドット移動と6ドット移動を繰り返す……みたいなプログラムになるだろう。
でもこれはロジックとしては最悪だろうし、見た目にもガクガクしてしまう。

この場合、整数型で「速度10%アップ」なんていうアイテムの仕様が悪い。
もし一人で作っているなら、そのゲームの仕様を見直すべき。


これは極端な喩えだが、
そういう部分を考えずに、安易に浮動小数点にしよう!とするから問題が起こる。

634 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 13:54:01 ID:wvqDMdSg]
有効数字というのがあってだな



635 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 14:05:09 ID:2rXEX53B]
スレチ

636 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 14:12:20 ID:cAIICXpl]
>>627
減算とか特殊な描画モード使ってたり、大きいテクスチャ使ってると環境毎に差が出やすかった経験

637 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 14:14:52 ID:JKBRWfYb]
ファミコン時代のマリオアクションのようなゲームなら整数で座標保持してOK
どうせキャラは1ドットずつしか動かないだろう。
いまどきなシューティングしようとおもったら、
弾の移動なんかは、弾オブジェクトに加速度や速度をベクトルで持たせるだろうから、小数点使いなよ。
丸め誤差については値のとるべき範囲と計算式の展開方法を見直せ。
やれやれ。こんな質問じゃあDXライブラリ使用者の質が問われるぜ……。

638 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 18:54:46 ID:GQvUpA/G]
double x = 0;
for(i=0;i<10;i++) x += 0.1;

とやってもx==1.0にはならないと読んで、
次アクション系作るときは座標を固定小数点にしようと思った。

たとえば上の計算の直後の x は0.9999になる場合がありそのときそれをintにキャストしたりfloorすると0.0になってしまう
というのを(常識なのかもしれないが)それを読むまで知らなかった



639 名前:623 mailto:sage [2009/02/23(月) 19:27:59 ID:4Qo3h6rv]
>>626
回答ありがとうございます。
衝突判定に試行錯誤する覚悟でfloatを使っていこうと思います。

>>633
たとえば、5ドットずつ動く弾をx軸から10度の方向に撃つとき、
sin10°*5だと1を割ってしまうので座標を整数で記述していると10度の方向に行かず水平に移動してしまいます。
intを固定小数点数的に記述する方法もあるにはあるのですが
あくまでみなし少数なので注意してコーディングしないとバグが出る、要するに面倒くさいんです。

640 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 20:03:52 ID:JKBRWfYb]
sin10°と書いた時点で浮動小数点使ってる。
まさか1周256°のsinテーブル保持するなんて、オールドテクニック使うつもりじゃないんだよね?
整数部と小数部を持たせる固定小数点だとfloat演算より余計にオーバーヘッド食うよ。
素直にfloatでOK。

641 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 20:22:10 ID:JKBRWfYb]
みんな知っていることだと思うけど、>>638の誤差云々という話についても書いておく。
1.浮動小数点に関して、==で比較してはならない。
 2つの浮動小数点数の差を取り、その絶対値が誤差限界より小さい時には、等しいものと判定するようにする。
2.浮動小数点同士の計算は一番最後に行う。
 誤差の蓄積を防ぐため。上手いこと計算の順序を変える。
3.一時的に整数型を使う
 0.1を10回足し算する計算を、0.1を10倍して1にしてから10回足して、その後に10で割る。

固定小数点の中でも、特に整数部と小数部を分けた固定小数点はバグの温床になりやすい。
正直いらんお世話だと思うが、1人でも悩んでいるのならとおもって書いておいた。

642 名前:633 mailto:sage [2009/02/23(月) 21:54:08 ID:cbCnDoWc]
>639
整数だと正確さに欠けると言っても、その「正確」って言葉自体に色んな意味があると思うんだ。

 (1)何らかの物理法則(嘘物理でもいい)をトレースする正確さ
 (2)プログラマの想定通りに動くという意味で正確さ

前者だと、intよりもfloat、floatよりもdoubleの方がより正確だろう。もちろん限界はあるけど。
後者だと、ちゃんと仕様を理解している限り正確さなんて変わらない。

なので、整数型だと正確じゃなくなる、という表現は誤解を招くかもしれない。
自分(>631>633)もそうだが、>624なんかも後者の意味で捉えたんだと思う。



>後半(>633へのレス)部分

要は、プログラム側で整数型を使うと決まっている時に、
整数で表現できない数字を使おうとするのが、そもそもの間違いってこと。

よく言われることとして、ゲームは物理シミュレーションではない。
物理法則を “正確” にトレースするより、物理法則に従ってるっぽく見えることの方が重要なわけだ。

>639の例なら、45度の角度なら水平に飛ぶことはないだろう。
もちろん誤差は出るが、その誤差に合わせてゲームの内容や難易度を調整すればいいんだ。


あ、浮動小数点を否定しているわけじゃないぞ。
最終的にはfloatとかdoubleを使うことになるだろうし。

643 名前:名前は開発中のものです。 [2009/02/24(火) 18:11:56 ID:ZuK8YWCV]
はじめてここきたぜ、誰もいないかなぁ。
RPG作ろうと思って2週間くらい粘って
斜め移動とか歩くモーションとかは入れられるようになったんだ
で、チップを使わずに、もしアイテムとか人が立ってたとしたら
ある範囲まで近づいたら頭の上にでもアクションが出るようにしたいんだけど
こうすると、いけるところといけないところの判定を作るのがごちゃごちゃになる。。

先人の知恵があれば、誰か。。

644 名前:名前は開発中のものです。 mailto:sage [2009/02/24(火) 18:16:16 ID:jZRLhqc7]
判定とどう関係があるのかわからないんだが、
間に壁があったらアクションが出ないようにしたいってこと?

645 名前:名前は開発中のものです。 mailto:sage [2009/02/24(火) 18:24:36 ID:ZuK8YWCV]
おっ
壁の絵を描いたとする。
その壁の座標に沿って越えられないようにする。
ような感じなんだけど、チップでやれば、
チップ番号で判定してそこだけ通れないですむけど

壁が複雑な形(円状に、三角だとかだと、どうするのかなぁって。

646 名前:名前は開発中のものです。 [2009/02/24(火) 18:26:41 ID:ZuK8YWCV]
訂正orz
円状になってたり、角になってたり、
です

647 名前:名前は開発中のものです。 mailto:sage [2009/02/24(火) 18:35:54 ID:CVLB4nkp]
壁ごとに判定するだけ

648 名前:名前は開発中のものです。 mailto:sage [2009/02/24(火) 18:38:56 ID:ZuK8YWCV]
つまり同じサイズの画像をつくって
通れないところはたとえば緑で塗りつぶして
座標と入力された方向に移動量を加算して
画像の1bitで判定してもし緑なら動作しないでおk?



649 名前:名前は開発中のものです。 mailto:sage [2009/02/24(火) 19:02:21 ID:dNVL6GY6]
まずは壁(通れないところ)と通路(通れるところ)を別個で作る。
画像を使ってもメモリが許すなら>>648の作り方でOK

で、キャラと反応オブジェクトの間に壁があるなら非アクション。それ以外なら距離が近づいたらアクション
みたいな感じでいいんじゃない?

650 名前:名前は開発中のものです。 mailto:sage [2009/02/25(水) 00:50:52 ID:d7hz7bDR]
>>643 とりあえず、日本語を勉強しろ。
すげーわかりにくいぞ。
頭の上にでもアクションってんが、メタルギアソリッドの敵兵の気づき!
みたいなのだとするとして、

1)アクション表示キャラの判定の選別が難しいのか?
それとも、2)キャラの動きの判定(進入可能区域か否か)が難しいのか?
その両方か?それとも判定じゃなくて、3)衝突反応に問題を抱えてるのか?
どれだ?

※衝突反応・・・・壁に計算上はめり込む位置からの移動の時に、
垂直にぶつかったら、壁の前で停止、
斜めにぶつかったら、壁に沿って進行方向に近い向きに進む。
などの判定以降の処理。

とりあえず、 『実例で学ぶゲームAIプログラミング』に1)2)等については書いてあった。
たぶん、今後とも良い勉強になるとおもうから、お勧めする。
3)は、ひたすら細かい調整をしていくしかない。
基本は、幾つかの場合分けをして考えれば直ぐに分ると思う。

651 名前:名前は開発中のものです。 mailto:sage [2009/02/25(水) 01:12:39 ID:tDlRDwGK]
>>650
2)だぜ。親切にありがとう。本屋で探してみる。

652 名前:名前は開発中のものです。 mailto:sage [2009/02/25(水) 02:31:40 ID:Z85CVAO2]
キャラ同士を結ぶ線についての障害物可否判定かと思ったら、全く違って笑ったw

653 名前:名前は開発中のものです。 mailto:sage [2009/02/25(水) 03:43:37 ID:kcXQw5Ss]
そういう意味だったのか。
全然わからなかったw

654 名前:名前は開発中のものです。 [2009/02/26(木) 12:21:47 ID:dehVPWYB]
DXライブラリって描画先をテクスチャに出来なかったっけ?
描画先指定でグラフィックハンドルを指定したら出来なかったから気になったんだけど……

655 名前:名前は開発中のものです。 mailto:sage [2009/02/26(木) 16:44:08 ID:FCvuxnjL]
描画可能なグラフィックハンドルってのがある
それじゃないと書き込みできないよ

656 名前:名前は開発中のものです。 mailto:sage [2009/02/26(木) 17:45:59 ID:dehVPWYB]
MakeScreenってのかな?
グラフィックと画面は別なのね……

657 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 06:25:11 ID:MX3xvzHi]
ちょっと上の話題に関してなんだが
座標扱う時は素直にfloatでよかったのか
俺は小数点型だともしかしたら遅くなるかもと思い
座標計算には100倍したものを使い、表示するときに100で割って使ってたのだが
(まあ10倍で十分かもしれんが)
あと、どっかでfloat よりも double 使った方が良いと聞いたので、
俺は小数点型を扱う時には専ら double型を使ってるのだが

658 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 07:50:49 ID:KlYIcaW4]
>>657
それが得策。floatは、使い方が難しい。
悪く言えば、既に過去の産物で、互換性のために残ってる・・・。
ぐらいに思い切ってしまった方が良いぐらい。
有効桁数が小さいし、感覚と違う所が強いから
小数点として扱う時は、意味も分らずにfloatを使ってると
変なバグに嵌りまくる。しかも、見た目間違ってない様なコードで嵌るからねwww

逆に、doubleだと、intよりも有効桁数が大きいから、
intで大丈夫な桁範囲を軽くカバーできるしね。
ボトルネックになってない所の計算だったら、正直doubleが無難だよ。
(あと、意外とdoubleの方が早かったりすることも多いから、
 実測で比べるのは言うまでもないが。)



659 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 10:49:02 ID:tFIcInvl]
100倍よりも128倍したものを128で割る方がいいんじゃないかしらんと
確認もせずに想像で言ってみる。

660 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 19:35:42 ID:0AHSCy/i]
相手のレベルによっては100倍って説明した方がいい時おあるよね。

661 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 21:05:19 ID:EURlNcbt]
DXライブラリっていう名前が問題なくね
このライブラリ知る前から自前のライブラリもDxLibって付けちまってたし
まぁ何年もまえの話だが

662 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 21:13:18 ID:ZQTPwJtl]
DirectXのラッピングライブラリだからDXライブラリでいいんじゃね?
ちょっとダサカッコイイ感じが対象者レベルにぴったりだし。俺含めて。

663 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 21:31:46 ID:lChaxYTz]
やっぱりDirectX公式ライブラリと思われてしまっても仕方が無い。
が、いまさらオリジナルの名前に戻されてもね。
DXLibで十分や。

664 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 23:17:07 ID:0AHSCy/i]
>661-663
その微妙な心境が手に取るように分かるぜw

665 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 23:17:18 ID:+el9j4ty]
朧村正みたいなゲームも作れるよね?2Dだし

666 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 00:42:10 ID:aTuc4vAr]
作れるよ

667 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 06:17:37 ID:P7f9XrLx]
DXLibに収録されてる非公開関数のリファレンスって無いのかな
ウィンドウハンドルを取得する方法を探してたら、非公開関数で取得できるのを知って
他にも有用な関数がありそうなので気になったんだが

668 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 06:32:10 ID:TAywFnWh]
作者は非公開のリファレンスは書かないってよ。
利用する頻度の少ない関数を初心者に公開するには混乱の元というコンセプトらしい。
コメントとソースで自力で読むしかない。



669 名前:名前は開発中のものです。 [2009/02/28(土) 06:34:58 ID:LqQy7pZD]
>>667
ttp://studiokingyo.fc2web.com/dxlib/kaibou/k_shiyou.html

670 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 06:54:33 ID:P7f9XrLx]
>>668
非公開関数のリファレンスは書くつもりは無いのか
わざわざ用意した関数のリファレンスを書かないのは勿体無い気もするが
ヘッダ見たら色々あったけどコメントだけじゃ引数がわからないし、ソース読むしかないのね

>>669
そこ見て非公開関数の存在を知ったんだけど、他にも説明のある非公式のサイトとかないのかな?

671 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 06:58:59 ID:TAywFnWh]
引数の名前と型を見てなんとなく分かると思う。
わかんなかったのはMenu関係かな。
どれが便利な隠れ関数なのか人によってまちまちだからな〜。
全部教えるわけにはいかないので、その都度聞いてくれ。
あと、大概公式の掲示板を関数名で検索すると作者がサンプルコード書いてあるよ。

672 名前:名前は開発中のものです。 [2009/02/28(土) 07:00:08 ID:LqQy7pZD]
>>670
他のところは知らないかな
もし需要あるなら非公開関数ちょっと調べてリファレンスでも作ろうか?

673 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 07:01:10 ID:TAywFnWh]
>>672
俺からも ぜ ひ 頼 む

674 名前:名前は開発中のものです。 [2009/02/28(土) 07:06:17 ID:LqQy7pZD]
>>673
でも、正直DirectX使えばなんとでもなるから、わざわざ推奨されない非公式関数発掘して制約多い状態でDxLib使うより
その方が早い気もする
中見てないから分からないけど、ソースが綺麗だったらまだ救いようあるんだけどな……

675 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 07:19:28 ID:TAywFnWh]
DXライブラリ使ってるのに、その上でDirextX直叩きする酔狂は居ないと思う。
リファレンスもあったら便利だけど、目ぼしい関数はチェックしてるからなぁ。

676 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 07:27:18 ID:P7f9XrLx]
>>671
教えてもらえるなら助かるわ
といっても、そこそこ量があるので使えそうな関数を探すのが難しそうだがw

>>672
非公開関数をまとめてくれるのなら有難い

677 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 12:35:30 ID:1J8Bdlx6]
>>672
結構需要あると思うし、個人的にもすごくうれしい

678 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 17:39:28 ID:mz4DlK2y]
詳しい説明は無くてもかまわないからリストだけでもあれば重宝します



679 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 18:56:21 ID:JPI33j26]
>>666
ってことはDXライブラリでも極めれば市販ゲームレベルの作品が作れるって事だね

680 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 20:56:23 ID:GSZZUTVZ]
極端な話,DrawGraphさえあれば十分

681 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 21:06:52 ID:gSUwRndo]
画像ファイル一枚を分割してアニメーションさせるのと
全部別々のファイルを読み込んでアニメーションさせるのって負荷とか違うのかな?
後者の方がやりやすいんだがどうなんだろう

682 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 21:15:45 ID:GSZZUTVZ]
一度の画面表示に使用する画像の数はできるだけ減らした方が
テクスチャの切り替えが減って効率は良くなる

683 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 21:20:02 ID:gSUwRndo]
>>682
やっぱりそうなのか・・
パーツ分けがめんどくさいんだよなぁ

684 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 21:25:21 ID:GSZZUTVZ]
何のためにプログラミングやってんの
それこそ機械にやらせればいいでしょ

685 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 23:32:58 ID:gSUwRndo]
>>684
フォトショで画像作ってるからPSDファイルなんだよね
ヘボプログラマーなんでPSDファイルを分割するプログラムは作れないです・・

686 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 01:19:31 ID:Q0b0e5s4]
使ったこと無いから知らないけどさ、フォトショってマクロみたいな機能無いの?

687 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 01:43:53 ID:gJBH+jz2]
>>686
あるよー
でもマクロするほどの作業量でもないので手動でやります

688 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 04:00:52 ID:4UMfyekW]
ん〜?
681と682の質疑応答の意味がよくわからん。

1ファイルを分割しようが、複数ファイルを読み込もうが使用する数は同じじゃないの?




689 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 04:46:48 ID:gjx3PjZU]
俺もわかんね。
同じじゃん。

どっちの方が管理が楽だろう?っていう人間の負荷の話ならともかく

690 名前:名前は開発中のものです。 [2009/03/01(日) 05:31:56 ID:idjBCaEs]
>>681-689

一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は一枚
複数の画像を読み込みそれぞれをハンドルを取得→PCが操作する画像は複数


負荷が多いのは勿論後者
大げさだけど
一枚100MBの画像を一枚開くのと
一枚10MBの画像を10枚開くの

どっちが早いか考えてみたら分かるんじゃないかな?


まあ、数十枚の画像なら気にする必要はないんだけどさ

容量的にも、バイナリで開けば分かるけど、一枚ごとに色々付加されるから
200kbの画像を2つに分けて保存しても合計で220kbくらいになっちゃう(ものによって違うかな)

691 名前:名前は開発中のものです。 [2009/03/01(日) 08:23:41 ID:idjBCaEs]
今非公開関数まとめてたんだけど、すごくわかりやすいからわざわざまとめるほどでもない気がしてきた
作者が公開してないんだから公開するのも何かな……
一応簡単に晒すけど……
使い方(引数)、いつ呼ぶのか(DxLib初期化前か後か)、返値……ここらへんが分かれば良いんだよね?
もしこの中で知りたいとか要望あるならHTMLにして、簡単なソースくらいくっつけてリファレンス化するよ


起動→終了で複数回DxLibを読み込まなければいけないとき(あるのか?)に使えそう
int DxLib_GlobalStructInitialize( void ) ;
// ライブラリの内部で使用している構造体をゼロ初期化して、DxLib_Init の前に行った設定を無効化する( DxLib_Init の前でのみ有効 )
int DxLib_IsInit( void ) ;
// ライブラリが初期化されているかどうかを取得する( 戻り値: TRUE=初期化されている FALSE=されていない )

ファイルを検索して取得ウマー
int FileRead_findFirst( const char *FilePath, FILEINFO *Buffer ) ;
// 指定のファイル又はフォルダの情報を取得し、ファイル検索ハンドルも作成する( 戻り値: -1=エラー -1以外=ファイル検索ハンドル )
int FileRead_findNext( int FindHandle, FILEINFO *Buffer ) ;
// 条件の合致する次のファイルの情報を取得する( 戻り値: -1=エラー 0=成功 )
int FileRead_findClose( int FindHandle ) ;
// ファイル検索ハンドルを閉じる( 戻り値: -1=エラー 0=成功 )

ウィンドウから情報を引っ張り出す系の関数
int GetWindowCRect( RECT *RectBuf ) ;
// ウインドウのクライアント領域を取得する→描画領域ね
int GetActiveFlag( void ) ;
// ソフトがアクティブかどうかを取得する→現在アクティブかどうかを調べる。-1が非アクティブ、0がアクティブとかだと思う(未確認)
HWND GetMainWindowHandle( void ) ;
// メインウインドウのハンドルを取得する→分かる人のために
int GetNoActiveState( int ResetFlag = TRUE ) ;
// 非アクティブになり、処理が一時停止していたかどうかを取得する(引数 ResetFlag=TRUE:状態をリセット FALSE:状態をリセットしない 戻り値: 0=一時停止はしていない 1=一時停止していた )
int GetMouseDispFlag( void ) ;
// マウスを表示するかどうかのフラグを取得する

692 名前:名前は開発中のものです。 [2009/03/01(日) 08:24:40 ID:idjBCaEs]
int GetMouseDispFlag( void ) ;
// マウスを表示するかどうかのフラグを取得する
int GetWindowCloseFlag( void ) ;
// ウインドウを閉じようとしているかの情報を得る→本当に終了しますか?とか確認を表示するのに使えそう
int GetWindowUserCloseFlag( int StateResetFlag = FALSE ) ;
//×ボタンが押されたかどうかを調べる
int SetDoubleStartValidFlag( int Flag ) ;
// 2重起動を許すかどうかのフラグをセットする←複数起動させてもいいゲームならここを変更

マルチタスクのゲーム作りたいならここらへんが役に立ちそう
int AddMessageTakeOverWindow( HWND Window ) ;
// メッセージ処理をDXライブラリに肩代わりしてもらうウインドウを追加する
int SubMessageTakeOverWindow( HWND Window ) ;
// メッセージ処理をDXライブラリに肩代わりしてもらうウインドウを減らす

軽くみた感じ使えそうなのはこのあたりかな?

693 名前:名前は開発中のものです。 [2009/03/01(日) 08:37:37 ID:idjBCaEs]
int SetWindowInitPosition( int x , int y ) ;
// ウインドウの初期位置を設定する
int SetNotWinFlag( int Flag ) ;
// DXライブラリのウインドウ関連の機能を使用しないフラグ←これめちゃくちゃ便利でふいた
int SetWindowUserCloseEnableFlag( int Flag ) ;
// メインウインドウの×ボタンを押した時にライブラリが自動的にウインドウを閉じるかどうかのフラグをセットする←上記のGetWindowCloseFlagと組み合わせると幸せ
int SetDXArchiveExtension( const char *Extension = NULL ) ;
// 検索するDXアーカイブファイルの拡張子を変更する
int SetBackgroundColor( int Red, int Green, int Blue ) ;
// メインウインドウのバックグラウンドカラーを設定する←初期背景色は黒(#000000)
int SetDragFileValidFlag( int Flag ) ;

ドラッグ&ドロップかんれん
// ファイルのドラッグ&ドロップ機能を有効にするかどうかのフラグをセットする
int GetDragFilePath( char *FilePathBuffer ) ;
// ドラッグ&ドロップされたファイル名を取得する( -1:取得できなかった 0:取得できた )
int GetDragFileNum( void ) ;
// ドラッグ&ドロップされたファイルの数を取得する

めんどくさいから、存在だけ書くけど
他にも、ツールバーにボタンを追加する関数とか
ショートカットキーを追加する関数とか(←いくらでも代用可能だから使わない方がいいかも)
メニューを作成する関数とか
キー入力中、マウスを点滅させる関数とか

ここらへんは人によってピンポイントに使えそうな関数ばっかだから、あんまりリファレンス化しても需要無い気がする
一応応用テクニックとして、HSPからDXライブラリを呼ぶ方法とかだったら需要ある?
あるなら書こうかな

吉里吉里やNscから呼ぶことも出来そうだけど本体いじらなきゃ駄目っぽくてめんどくさい

694 名前:名前は開発中のものです。 [2009/03/01(日) 08:44:55 ID:idjBCaEs]
たとえば、×ボタンで終了確認を出したいときとかは

〜略〜

SetWindowUserCloseEnableFlag( FALSE ); //×ボタンで自動終了しない

while(ProcessMessage()==1)//だっけ?
{

ClsScreen();
game();
ScreenFlip();

if(GetWindowUserCloseFlag()==-1)//×ボタンが押されたら
{
if(MessageBox(NULL,"終了しますか?","終了確認",MBYESNO)==IDYES) //YES,NOでYESが押されたら
break;
}

}

〜略〜

こんな感じにすればできる(と思う)
組み合わせだからなあ……リファレンス作るより小技をいくつか乗せた方が良いのかな?

695 名前:名前は開発中のものです。 [2009/03/01(日) 08:45:28 ID:idjBCaEs]
……朝から何やってんだ俺
悲しくなってきたから寝る

696 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 09:26:49 ID:k4cT38FB]
おつかれさまです。ごゆっくりお休みくださいな。
リファレンスも欲しいけど、小技のほうがうれしいかも。

697 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 09:55:31 ID:gjx3PjZU]
>>690
最初のファイル読み込みはともかく
ハンドルに分けて使う段になったらどっちも同じじゃね?

×一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は一枚
○一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は複数

>>691

698 名前:名前は開発中のものです。 [2009/03/01(日) 10:04:25 ID:idjBCaEs]
ああ、駄目だ
>>694だと×ボタンが押された時点でキューが送られちゃってるからDXライブラリの内部の構造的に終了確認はできない(終了確認が無限に出続ける)
「終了します」って有無を言わさぬ表示なら出来るけどね

中身見てるけど、終了キューを解除する関数は見あたらないし

独自に一度キューを取得して、ProcessMessageに投げる前に解除しちゃえば良いんだろうけど、そんなことすると初心者でも使えるって良点があじゃぱー


>>696
どんな小技が良いかな?
さっきあげた関数は単体で使えると思うし
今ソース見ながら色々いじってたけど
それ以上のことやろうと思うと色々内部的に引っかかることに気付いた

>>697
もう一度よーく読んでほしい



699 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 10:54:11 ID:gjx3PjZU]
>>698
ごめん。
よく読んだ上で書いたけどわからない。
理解力なくてすまん。きっと俺が間違っている。
が、これは瑣末な問題なので暇なときにでも考えておくとして…

>>693
>一応応用テクニックとして、HSPからDXライブラリを呼ぶ方法とかだったら需要ある?

これ興味あるかな。

700 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 11:24:01 ID:oPHW1ePY]
>>697
ハンドル分けたらだめ
一つのハンドルから転送元の領域を指定して描画するんだよ
同じテクスチャを連続して使うときは切り替えが行われないからその分効率が良くなる

701 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 11:38:25 ID:ey11ozVK]
質問掲示板の検索を使おう

>>698
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1089

>>699
ここのNo.4に書いてある高速描画云々のところ読めば分かる
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1162
読みこみ速度は同じだけど描画速度は

一枚の画像を読み込み複数に分けハンドルを取得 > 複数の画像を読み込みそれぞれをハンドルを取得

702 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 11:39:47 ID:a7Bg5ATd]
HSPなんぞ使うなよ

703 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 11:44:24 ID:oPHW1ePY]
なるほどLoadDivGraphでもいいのか

704 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 13:22:39 ID:gjx3PjZU]
>>700
なるほど
理解したdクス

>>701
読んでみる

>>702
今更HSP使う気はないけどやり方にはちょっと興味が

705 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 13:39:31 ID:9rIzOA3I]
>>691-694


前にHSPから使ったりしてたけど、わざわざHSPから呼び出す必要があまり無いような気がしたのでVC導入したな

706 名前:名前は開発中のものです。 [2009/03/01(日) 14:11:25 ID:idjBCaEs]
>>701
なるほど
StateResetFlagは初期値FALSEになってるやつか、完全に見落としてたアリガトウ

>>702
HSP使うメリットってなんだろう、(うろ覚えだけど)3D処理が簡単なDLLかなんかがあったよね?
でも、それ使うなら最初からHSP使えばいいし……
自分から言っといてなんだがメリット見えないやごめんw


DXライブラリの可能性を追求しようと思ってドラッグ&ドロップで画像表示するアプリ作ろうと思ったらこんなに時間かかっちゃったよ
やっぱりアプリ系はおとなしくWINAPI使うに限るorz

www3.uploader.jp/t/nico/images/nico_uljp00021.zip


ふ、と思ったんだけどこのスレ結構知識ある人多いしうpロダでも用意しとけばサンプル集みたいなの作れるしいいんじゃね?
人のソース見れるってのは、(俺含め)初心者にはとてもありがたいんだよね

707 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 14:27:12 ID:ZNmLTGrU]
ソースうpは恥ずかしい…

708 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 14:51:26 ID:lYNtcth6]
自分の全裸うpするようなもん



709 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 15:45:22 ID:z/eFYQPp]
俺のは絶対人に見せられないソースだと自覚している。
一応動いているが、初心者どころの問題じゃない。

710 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 16:15:26 ID:xm1UJhmc]
ソースは出来るだけ人に見せたほうがいいよ。
指摘されればどこが良くて悪いのかが分かって次に必ず生かせる。
リアル知人じゃなくて2chで晒すのがいいかはよくわからんが・・・

うpするのとは話がちょっと違うけどここでも読んでみるといい
www.kojima-cci.or.jp/fuji/mybooks/cdiag/cdiag.0.6.html


711 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 16:37:16 ID:g9LGhZvF]
専ロダほしいな・・・

712 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 16:45:33 ID:c9LYSV+3]
ドット絵でbmpで保存して使うのと
きれいに書いたpngだとぜんぜん解像度違うような気がして変になっちまった。
ドット絵の設定ミス?それともpngにそろえるべきかな。。

713 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 18:31:12 ID:a1nbTQe/]
ドット絵だからドットが見えるんじゃないのか??

714 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 23:17:37 ID:2a8K6SCC]
爆発のエフェクトなどを作成する際に
グラデーションの画像を極座標変換?して
円形の画像を作成しているのだけれど、
これが何をやっているのかよくわからん。

715 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 23:25:10 ID:oPHW1ePY]
つ高校数学の教科書

716 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 23:54:03 ID:A8mpIuw8]
数学Cあたりだっけ

717 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 00:15:56 ID:ziDQhibJ]
そういえば洞窟物語もDXライブラリ使ってるんだね


718 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 00:35:55 ID:hEBh+N4j]
公式掲示板か
多分違うと思うぞ
Pixel氏が以前DirectX2だか3だかを使って作ったって言ってたし
何か勘違いしてああ答えたか、若しくは今作ってるゲームにDXライブラリを使ってるんだろう



719 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 01:43:24 ID:3riYRQc6]
ウィンドウサイズのデフォルトは640*480だけど、これの変更はできる?
フルスクリーンにしないといけないから制約はあると思うけど

720 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 01:47:07 ID:7FxY5OR7]
Dxライブラリのファイルにデフォルトのサイズがディファインされてたから
あれいじればできるんじゃね?

721 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 01:52:06 ID:x0I/gxMT]
>>719
SetGraphMode( 800 , 600 , 32 ); で800*600になる

722 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 02:06:23 ID:3riYRQc6]
>>720
ライブラリ書き換えるのはアウトだろ常識的に考えて……
そのせいでいつどこでバグが起こるかわからぬ

>>721
サンクス
画面モードの変更で解像度が変えれるとは、単語検索で見つからないわけだ

723 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 02:13:56 ID:PBT6djln]
リファレンス大した量じゃないんだから
一覧を一通り目を通せば済むだろ。

724 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 06:43:49 ID:+ax8ZdoD]
おれなんかどんなことができるんだろうと、わくわくしながら
上から下まで読むんだけどなぁ・・・

725 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 08:17:17 ID:vDZSfAmr]
>>718
でも文字表示とかDXライブラリっぽいよな

726 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 11:57:41 ID:6eQe3/TV]
>別にDXライブラリに限らないけど、DXライブラリを知った時も
リファレンスをさらさらっと流して、「これなら俺にも使えるんじゃないかな?」と思って
使い始めたな。

別に覚えなくても、一度目を通しておけば、
後になって「こういう事がしたいけど、それっぽい命令あったよな……」って
探しやすくなるしな。

727 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 20:14:38 ID:hc/QEiU+]
アレだけ分かりやすくて運営管理もアレだけちゃんとしてるなんて今まで見たことないよな。
DirectXでゲームを作るっていうジャンルに関して革命的だし、最早XNAなんかも超えてると言っても過言ではない。

728 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 20:18:02 ID:qXNeI5og]
ハンドルが全部intなのだけはどうかと



729 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 21:13:54 ID:Rv93cI1M]
ほんとだよな。ちゃんと符号無しにしてくれないと。

730 名前:名前は開発中のものです。 [2009/03/02(月) 21:38:18 ID:3lZqI4Au]
>>729
そこじゃねーだろwww

731 名前:名前は開発中のものです。 [2009/03/02(月) 21:42:53 ID:3lZqI4Au]
typedefしなかったのは多分初心者への配慮だろうね

732 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 22:25:14 ID:ziDQhibJ]
画像をプログラムで制御(回転など)して動いてみせるのと
一枚一枚画像を作ってパラパラ漫画みたいにアニメーションさせるのとどっちが負荷低いかな

733 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 22:54:20 ID:qXNeI5og]
パラパラ漫画方式の画像が一枚の画像にまとめてあるなら
原理的に変わらないはず

734 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 22:57:12 ID:qXNeI5og]
いや画像がまとめてあるかどうかはこの場合関係ないか
まあ変わらん

735 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 01:09:39 ID:vuUaUlBc]
その二つは比較すべきものじゃない気もするがw

回転ありの描画命令よりは回転なしの方が負荷は軽いだろうけど、
大した差じゃないみたいだし、好きにしていいんじゃないかな。

736 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 02:53:14 ID:l+63ggMa]
画面上の殆どのパーツが回ってるぜ!とか
512x512のパーツが回ってるぜ!とか
回転角度に応じて256パターンの画像を用意しました!
みたいな変なことやってなきゃ大丈夫だろう

737 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 03:53:26 ID:wZU6jxH0]
メモリに優しいのがプログラムで制御かな。後者はあまりオススメできない。

パラパラ漫画が全部VRAMに乗るとは限らないし、
1フレーム1枚のように別テクスチャ作るのであればさらに重くなる。
1枚でまとめる場合も、作成できるテクスチャサイズ制限があるハードウェアが過去にあり、
(Voodoo時代ではテクスチャサイズが256*256が最大であった)
そのような場合、DXライブラリではテクスチャ分割が行われるので、
大きなテクスチャを作るとパフォーマンスが犠牲になります。

なので、回転・反転・拡大縮小などといった
Direct3Dによるハードウェア支援で記述できる内容であるのなら、前者の方がパフォーマンスがよくなります。

ちなみに後者で実装するのであれば、テクスチャのサイズは正方形が望ましいですよ。

738 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 04:22:48 ID:l+63ggMa]
ただし、斜め向きとかにした場合、
最初から画像を用意しておいた方が綺麗に見えることは多々あるな。

プレイヤーキャラの画像など、
重要そうな部分だけパターンを用意しておくのも悪くない。



739 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 09:38:20 ID:HSt7mZci]
>>737
>正方形
一辺の長さが2の倍数の正方形ね

740 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 14:11:43 ID:lmHLCC6G]
>>739
> 2の倍数
2の累乗ね


741 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 10:39:32 ID:IqyXTxRb]
ん……?
グラフィックハンドルがintって事は、持てるグラフィックハンドルの最大数は約32000って事?

742 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 10:43:25 ID:OmVViNLo]
いやintは2*(10^9)くらいまで
その前にメモリがなくなるだろうけど

743 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 16:29:04 ID:aWTUpMQ1]
東方の弾幕とかって1つ1つの弾にハンドラ持たせてるの?

744 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:38:35 ID:IqyXTxRb]
>>742
intってそんなに長かったっけ?

>>743
ちゃんと1つずつID割り振って読み込んでるみたい。

745 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 18:29:44 ID:Q764ubCY]
32bit機での
符号無しintは2^32
符号ありintは2^31(符号に1bit使用)

プログラミングしてるなら知ってて当然だろ…

746 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 18:29:46 ID:zCrgAKk6]
>>744
おまえさんのいってるのは short int

747 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 19:26:33 ID:IqyXTxRb]
なるほど……
なんで勘違いしてたんだろう……

748 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 00:07:34 ID:aVo6G4mJ]
>>743
何を言ってるんだ?
東方はDXライブラリ使ってないぞ



749 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 10:15:06 ID:MO3/QFgO]
こんにちは^^
透過処理というのをしたんですけど
下記のコードだと正常に透過処理されます。
LoadGraphScreen( 0 , 0 , "back.bmp" , FALSE ) ;
LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;

しかし
LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;
LoadGraphScreen( 0 , 0 , "back.bmp" , FALSE ) ;
とすると透過処理されません
なぜでしょうか?

750 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 10:26:43 ID:ddVb/3t1]
>747
旧VBのIntegerが16bitなのと混ざってない?

>745
ハードは関係ない。コンパイラが決定する。
16bitアプリを32bitハードやOSで走らせても
intが勝手に32bitになったりしない。

処理系にあわせて決定するのが自然なだけ。

751 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 11:04:56 ID:B3wyDoGN]
>>749

はい? え?

back.bmp を透過処理なしで描いた上に、char.png を透過処理ありで描いたらそりゃちゃんと透過処理されるだろうけど

char.png を透過処理ありで描いた上に、back.bmp を透過処理なしで描いたらそりゃ上書きされるだけだと思うんだが……。

752 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 12:34:23 ID:+9ctDc2h]
>>750
あー、昔に見た資料がかなり古いものだったから間違って覚えてたのかも

753 名前:名前は開発中のものです。 [2009/03/06(金) 21:17:00 ID:pmzRauOh]
ある画像だけの透過と、透過の度合いを設定することはできますか?
リファレンス見る限り見当たらないのですが

754 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 21:34:26 ID:+Tdk650S]
その画像を描画する前にSetDrawBlendMode
透過の度合いはPal引数
クラス使って透過率とグラフィックハンドルをまとめて管理するようにするといい

755 名前:名前は開発中のものです。 [2009/03/06(金) 21:46:01 ID:pmzRauOh]
>>754
即レスありがとう^^
うまくできました!!


756 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 23:45:45 ID:HF/v1JaI]
DXライブラリ3Dの開発引き継いでる奴いないの?

757 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 00:24:08 ID:3MouTLA1]
2Dゲームでも背景は3Dにしたい・・・
本家DXライブラリにテクスチャ付モデルとフォグ表示機能だけあれば最高なんだが

758 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 01:56:55 ID:JfYg6t6e]
シューティングの背景用にDXライブラリで自前の簡易モデルを描画する仕組みを組んだけど、
意外と簡単に組めたよ。
ポリゴン事に情報を配列に落として、座標を変換してVERTEX配列に入れてから描画。

フォグは出来なかったから単色背景+奥の頂点を透過で誤魔化してる。




759 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 07:03:57 ID:pCqKP5AO]
クラスのコンストラクタでLoadGraphするとハンドルが取得できてないみたいだけど
仕様ですか?
他で初期化するから別に問題ないけど。

760 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 08:46:35 ID:9xqjyk6r]
そのコンストラクタを呼ぶタイミングがまずいだけだろ
でもLoadGraphみたいな失敗しやすいものをコンストラクタで使うのはあまり好ましくない

761 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 13:25:49 ID:d6ZakwC3]
C++のコンストラクタはオブジェクトが出来上がる前の不安定な状態だからメソッド呼んだりはしない方がいいよ。

762 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 20:23:03 ID:83odH6gl]
それ俺がよくやった失敗だけどLoadGraphするまえにDxLib_Initやってないんじゃまいか

763 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 01:02:04 ID:sz9LKWkI]
>>761
んなこたないw

764 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 01:07:09 ID:PVP1w5NP]
>>758
           .r==x r==x
          /三/.|/三/ |
         (三(/(三(/_/
          l ̄¨'| ̄ ̄¨|
          l;::::::::|:::::::::::::l
          l;::::::::|:::::::::::::l
          l;::::::::|:::::::::::::l
          l;::::::::|:::::::::::::l
          l;::::::::|:::::::::::::l
          l;{==}!::{==}:::l
         r|:::::::::::::::::::::::|
       _ノ  ̄`ー--、,;;l~ヽ
     ,∠==、ヽ `i'ー- .     l
    /    ヽ| 「`'ー、`ー、 .ノ
     l     ミ| /   `ー、ヽ
  /j     R|イ ー-ァ、.  Y゙ 
  { [`ュハハハr''~] ̄ ___ノ   ソースうpお願いします!!!!!!!!!!

765 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 02:05:16 ID:Os5GQobq]
>>764
今PC故障中で携帯から書き込んでるので、一週間後位になるけど……
龍神録プログラミングの館に似たような内容の講座があったので、
それを参考にした方が早いかも?

自分のソースと比べた所、アルゴリズムは大差なかったし

766 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 03:07:46 ID:PA5CtbPk]
>>760
>>762
それだわ。
メインループの外だったよ。

767 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 07:29:17 ID:CGpW+st2]
>>763
そうなの?
憂鬱本かなにかにコンストラクタで複雑な処理はやめたほうがいいって
書いてあったから信じてたよ。


768 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 11:20:16 ID:lUOcnlf/]
使うほうが失敗したときに面倒でしょ、コンストラクタだと



769 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 11:49:19 ID:8uH2yrBU]
例外処理を全面的に取り入れてるならコンストラクタで失敗してもおk
失敗したら絶対に例外を投げること
そうでなければダメ

770 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 13:15:29 ID:sz9LKWkI]
>>767
言語仕様的にはまったく問題ない
>768が言ってるように、
その本には別の理由でやめたほうがいいって言ってるんだと思うよ

ただし、staticなインスタンスは例外で
この場合、mainが呼ばれる前のスタートアップルーチンで
インスタンスが生成されるのでコンストラクタでは
初期化以外のことをやるとまずい


771 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 15:28:40 ID:Os5GQobq]
東方の新作が発表される度に自作のゲームとシステムが被っててヘコむ……

772 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 15:35:38 ID:26PtmX+G]
>771
それを気にしてたら、世の中作品なんて生まれない。
大丈夫、何ら問題ない。思う存分やれ。キミは盗作じゃない。

……自分のやりたいことを、他の人が作ったのでそれで満足しちゃったなら知らんw
(こっちもよくある話だけどな!)

773 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:25:05 ID:tah76f/h]
弾幕シューは東方だけじゃないしね

774 名前:761 mailto:sage [2009/03/08(日) 18:12:09 ID:pjH2xL1q]
>>770
俺も>>767のように憂鬱本で読んで信じてきたんだけど、後学のために教えて欲しい。
まず憂鬱本にはこんな風に書いてある。
・コンストラクタやデストラクタはあまり難しい処理をするのは考え物。
 1・返り値を持つことが出来ない。
 2・インスタンスが完全な状態ではない。
 3・外部変数としてクラスインスタンスがある場合、コンストラクタやデストラクタはmain()の走る前、後になる。

>>770さんが言っているのは3の場合で、この本によると
「ポインタとして宣言しておきmain()が走った後でその中でnewする」
という解決策が書いてある。
で、問題の2にははっきりと
「コンストラクタ、デストラクタが走っているときは、インスタンスは完全な状態ではない」
と書いてあり、
「実は内部的にはそのインスタンスの使用するメモリの取得/解放とそれに伴う複雑な作業も行っている」
「インスタンス自体がまだ生成途中であり、内部的にはまだ不安定な状態」
と書いてあります。
問題点は、
「このような状態で他のクラスのインスタンスのメンバ関数を読んだりすると巡り巡ってまだ生成途中の自分自身のメンバ関数が呼ばれるかもしれないから」
との事です。
C#なんかではコンストラクタでのメソッドの呼び出しなども保障されてますが、C++では言語使用的には保障されていない、と解釈したのですがここらへんどうなんでしょうか?

775 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 19:09:05 ID:CrTNgcou]
この際、本家DXライブラリにDXライブラリ3Dを機能統合してしまっても良いんじゃないか?
今どき2Dだけじゃなぁ

776 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 19:25:34 ID:tHlNETTL]
>>775
いや、意味が分らん。
碌にDirectXすら使えない人間が3Dに手をだしてどうしたいんだ?

むしろ、本家は本家であの程度でまとまってるからこそ良いライブラリだろ。
もっと色々とやりたかったら海外の3Dライブラリをあさればいい。高機能の多いぞ。
(まぁ、普通に日本語対応がメンドイけど。)

777 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 19:52:53 ID:CrTNgcou]
っていうか、DXライブラリ3Dの開発を継続してほしいJEXさん

778 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 23:53:47 ID:Os5GQobq]
>>772,773
弾幕毎に名前付けてるから、気を付けないとまんまになっちゃうんだよね

もう開き直っちゃおうかな……



779 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 00:24:37 ID:y+3gsDNg]
どうせやるなら「白い弾幕くん」くらい自由度上げてみたらどうだ

780 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 05:38:20 ID:xYWyf4vJ]
縦弾幕だったらどうやったって東方っぽいって言われるのがオチだから、
変なこと気にせず好きにやっちゃえYO!

781 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:06:42 ID:Ge4atQjd]
東方のオマージュである、と明記しちゃえば変な因縁はつけられなくなると思う

782 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:28:18 ID:1MIteGpr]
自分で考えて実装した者に対して
なんという屈辱を。

783 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:58:21 ID:Yq7DJGmB]
パクってないんなら堂々としてればいいじゃない
ここで愚痴る前にちゃっちゃと完成させて
もう東方に先を越されないようにすればいいじゃない

784 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 15:06:44 ID:mr6tRDyA]
先を越されたから愚痴ってるんだと思うがのw

785 名前:名前は開発中のものです。 [2009/03/09(月) 15:12:00 ID:anLE8kz6]
新しいの出るごとに被るというと
低速移動時に敵を貫通するとかボム使うとパワーが減るとかその辺りか?

786 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 15:54:45 ID:z4EGzSSU]
別に愚痴のつもりじゃありませんでした
こうやって悩むのもゲーム制作の楽しさの一つなので……
気分を害されたのならすいません

>>785
点レートアイテムとか、特殊アイテムを取るとボーナス敵が出る点が……

787 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 17:01:47 ID:GzA1DnX1]
どんなシューティングでもお前。。。

788 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 18:04:17 ID:dWRPooR0]
Q.○○のパクリですか?


A1.はい、参考にしました。
 →盗作イクナイ! 俺の好きな○○を汚すな! ○○の公式サイトのBBSに通報(?)書き込み

A2.いいえ、オリジナルです。似ているのは偶然でしょう。
 →嘘を言うな、正直に言えよ

A3.いいえ、○○ではなく△△のパクりです。
 →そんなん知らねーよ! △△も○○のパクりだな!


実際にあるから困る。




789 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 18:28:11 ID:aHHsyNV0]
結論:気にせず作れ
作ることにも価値がある

790 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 18:40:02 ID:6kYj4gTE]
>>788 どっちかと言うと、この手の奴で、実際にパックたりしてなかったら、
何も答えないのがベスト。ただただ、事務的返しで流すべし。

あと、>>786みたいのは 東方以前からあるのばっかじゃねぇかよwww
それこそ、ファミコン全盛の時代(のアーケード)から・・・・
「今更それを先を越されたとかwww」
と言われるのが落ちじゃね?

791 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 18:51:35 ID:z4EGzSSU]
んー、今更だけど自分で気にしすぎだった気がしてきた
前作が東方をリスペクトしたものだったので、今回も素直に断り書きを入れてみます

792 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 19:02:29 ID:dWRPooR0]
パロディにまで昇華させてしまうという手もあるな。

793 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 21:33:00 ID:Zw6a9bk0]
siv.creation.googlepages.com/home
知ってるとは思うがこれにはずっと期待してる


794 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 22:34:04 ID:GzA1DnX1]
押しっぱをできなくするようにしたいけど
char a[256]
GetHitKeyStateAll(char *a)
つかうとうまくできねぇ。。

ポインタをctrcmpやるのはおかしいの?
それとも配列に入ってるのがおかしいの?
俺の頭がおかしいの?

795 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:19:34 ID:2qC8QqlY]
>>774
遅レスだがコンストラクタについて幾つか書きます。
さすがに長文書いてコメントが無いのは可哀想だったから。

昔の言語仕様ではコンストラクタではインスタンスの生成途中であるから複雑な処理を書かないようにしていた。これは慣習・慣例の部類の話。
コンパイラの亜種が多くて、C++の仕様外の範疇での動作はどのようになっているのか分からない時代だったからという背景もある。

自分はコンストラクタに初期化処理を噛ませる横着な書き方をしていたときに先輩に指摘された事は、1,2,3以外にも、、、

・クラス設計者とクラス利用者は同じでない
⇒利用者がstaticで外部変数なインスタンスを生成するかもしれないから、
 mainよりも先に呼ばれる処理に複雑な記述を置くべきでない。
 つまり、利用者の立場になって明示的に初期化処理を宣言するべき。(手を抜くな)

・戻り値を持たない件に関して、例外処理を使うのは怠惰な手段である。
⇒try-catchを用いるのは、デバッグの最終手段である。(例外処理はネストできない為)
 例外処理は一般的にコンパイラの最適化の阻害となり遅くなる要因となる。(ジャンプテーブルを生成する為)
 つまり、保持値チェックにはassert使えというお話。
⇒メモリ確保に失敗する危険性をもっと認識するべき
 特定のハードウェアを対象にする場合、大概は独自のメモリアロケーター(dlmalloc等)を実装していることが多く、
 new失敗の可能性(インスタンス生成失敗)は大いにある。
とのことでした。

>問題点は、
>「このような状態で他のクラスのインスタンスのメンバ関数を読んだりすると巡り巡ってまだ生成途中の自分自身のメンバ関数が呼ばれるかもしれないから」
>との事です。
これには同意です。
だから「コンストラクタに記述するのはせいぜいメンバ変数に対して初期値の代入ぐらい」に留めている人が大半で自分もそうしています。

いや〜、バグの無いプログラムって難しいですね。

796 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:31:07 ID:2qC8QqlY]
>>794
上手くできないってどういう意味?
char m_cKey[2][256]; //キーバッファ
とでもして
毎フレーム
void GetAllState(){
memcpy(m_cKey[1],m_cKey[0],256);
::GetHitKeyStateAll(m_cKey[0]);
}
を呼んで、
int GetKeyPress(int KeyCode){return m_cKey[0][KeyCode];}//キーが押されているかどうか
int GetKeyDown(int KeyCode){return (m_cKey[0][KeyCode] && !m_cKey[1][KeyCode]);}//キーが押された瞬間
int GetKeyUp(int KeyCode){return (!m_cKey[0][KeyCode] && m_cKey[1][KeyCode]);}//キーが離された瞬間
とでもすればおk
前フレームとの差分で押された瞬間と話された瞬間を検出するべさ

797 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:31:59 ID:6kYj4gTE]
>>794 エスパーじゃないんで、
何をやって何ができないのかすら分らん。
とりあえず、×ctrcmp =>○strcmpだと過程しても検討範囲外。
ポインタの使い方とか、関数の使い方は大丈夫だと仮定してもだ・・・・。

そもそも、そのchar a[]が何を入れるか理解してるかい?
そいつらに入るのは、あるキーが押されてるかどうかのon offフラグであって、
押されてるキーがchar型として'o'みたいに入るわけじゃないぞ。

押しっぱなしは、基本的には、

char NowKey[256];
char OldKey[256];
// ....somewhere to initilaize Nowkey[] and OldKey[], to 0.

GetHitKeyStateAll( NowKey );//Now get putting on key
if( NowKey[ KEY_INPUT_Z ] == 1 )
{ if( OldKey[KEY_INPUT_Z] != 1 )
{ PutOnFUNCTION(); // only not on putting Z_KEY.
OldKey[KEY_INPUT_Z]=1;
}
//There is No doing on putting Z_KEY.
}
else
{
OldKey[KEY_INPUT_Z]= 0 ; //No to put Z_KEY, initialize OldKey[] to 0.
}

な感じに書く。

798 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:42:23 ID:YtHLVg0L]
推しっぱをできないようにするなんて
int pushOK = 0;
とか用意しといて

if (a[チェックしたいキー] && pushOK) {押したときの処理}
if (!a[チェックしたいキー]) pushOK = 1;

とかやればいいじゃない
(※厳密な文法に突っ込むのなしね、あと変数名が良くないことにもね)



799 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:49:28 ID:GzA1DnX1]
あぁ。詳しくなくてすまん。ありがとう。
でも、なんとか、動作はしたぜ。

800 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 00:11:41 ID:Y5ijcxK4]
LoadSoftImage()でPNG-8のパレットが取得も設定もできん…。
パレットはBMPしか有効じゃないんか。
透過色設定とパレット変更を同時にしようと思うと、PNG-8がベストな選択だったんだけど、
さてどうするべか……。


801 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 00:43:20 ID:liOB0hIm]
どっかの時点でBMPに変換されるんだろうけど
その時点じゃまだなんだろうかね。

てかそんな命令あったのか……。

802 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 01:39:41 ID:Y5ijcxK4]
PNGについてはlibpng使ってるっぽいからなぁ。
パレット変えられないのは困ったぜ。

803 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 02:42:45 ID:f5O5uX62]
libpngって最近脆弱性が発見されたよね

804 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 05:14:32 ID:Y5ijcxK4]
パレットアニメーション諦めて、アルファブレンディングで代用できるんかな……。

例えば、パレットアニメーションで
void PatteGradation(int red,int green,int blue,float ratio)
{
int new_red,new_green,new_blue;
int* p = m_pPalette; //元のパレット配列[3*256]
for (int i=0;i<256;++i)
{
new_red = *p + (int)((red - *p)*ratio);
p++;
new_green = *p + (int)((green - *p)*ratio);
p++;
new_blue = *p + (int)((blue - *p)*ratio);
SetPaletteSoftImage(m_nSoftHandle,i,new_red,new_green,new_blue,0);
}
}
という感じで指定の色(red,green,blue)にratioの比(0〜1.0)で近づくエフェクトを考えているんですが、
これと同じ機能をブレンドモードを変更することで代用可です?
上手い演算具合が見つからない。

805 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 05:17:44 ID:Y5ijcxK4]
あ、一個p++抜けてた。
でも、伝えたいことは伝わったはず。

806 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 05:52:02 ID:6T+yw6I/]
フェードイン?

807 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 06:29:38 ID:Y5ijcxK4]
そうですね、指定色へのフェードイン・フェードアウトという感じです。
SetDrawBright()では黒フェードが出来ますが、それの多色化&抜き色対応版です。

808 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 09:58:02 ID:1/mzBUbU]
2パターンだけ作って重ねてアルファを変えていくのが効率いいんじゃないかな



809 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 11:39:59 ID:xhsEfov4]
>>793
ゲームパッドがX-BOX専用コントローラーしか使えないとか論外すぎる。

810 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 15:29:37 ID:AMym+srg]
>>809 
 つ www.4gamer.net/games/027/G002741/20090227065/

811 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 16:10:09 ID:qoncgAvF]
使う側ならともかく、作って配布する側ならそれは解決にならんでしょ。
まあ自分で対応のパッド追加できると思うけどな。

812 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 16:12:21 ID:xhsEfov4]
>>810
いや、そういう問題では・・

813 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 21:25:09 ID:LXtgug0h]
>>809
やっぱり白黒2値のパターンが別途居るようですよね……。
PNG使ってるのに、わざわざマスク画像が必要なのがめんどくさいと敬遠しているんですよ。

814 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 00:49:09 ID:SDHRypL0]
あれGraphLockって関数がいつのまにか消えたのか、と思って検索したら出た

hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1044
>GraphLock は現在のPC環境に適していないので非公開関数にすることにしました

これってどういう意味なの?非対応な環境が多いの?詳しい人教えて

一応コピペ
宣言       int GraphLock( int GrHandle , int *PitchBuf , void **DataPointBuf ) ;
概略      グラフィックメモリ領域のロック
引数       GrHandle   : ロックするグラフィックのハンドル(または画面の識別子)
PitchBuf   : ロックするグラフィックの1ライン辺りのバイト数を保存する変数へのポインタ
DataPointBuf :グラフィックデータのあるメモリへのアドレスを保存するポインタへのポインタ
戻り値     0:成功  −1:エラー発生

宣言    int GraphUnLock( int GrHandle ) ;
概略    グラフィックメモリ領域のロック解除
引数    GrHandle : ロックしたグラフィックのハンドル(または画面の識別子)
戻り値   0:成功  −1:エラー発生

815 名前:名前は開発中のものです。 [2009/03/11(水) 12:48:22 ID:4qWzS982]
>>814
対応してないとかじゃなくて、単に古くて多用されない技術だからじゃないかと無責任に予想

816 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 23:25:34 ID:tpGaQ5tp]
使えたら部分的なぼかしとか波紋とか屈折描画とかできて表現の幅ひろがりまくりんぐなのに・・・

817 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 23:28:32 ID:jT1zwAC2]
シェーダサポートフラグですね。わかります。

818 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 00:06:32 ID:5lgaab4l]
>>816
いいなぁそういうの使ってみたい。



819 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 14:35:44 ID:hH9qj7K7]
歪みはテクスチャに背景を描画→2Dポリゴンで挑戦中

820 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 23:20:03 ID:TV/Jr7F7]
>>814からの流れに関連してるかわからないけど、
ちょっと前に気になった事があるので質問させてください
LoadGraph系統以外で作成したグラフィックハンドルから
グラフィックデータのメモリを参照し、編集する事ってできないんしょうか?
SoftImage系の関数で同じような事はできるみたいだけど、
これは画像ファイルから取得したもののみですよね。。



821 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 00:27:53 ID:CMJVUsQ6]
>>820
MakeXXXColorSoftImageじゃあかんの?


822 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 00:43:55 ID:GbqqCgmR]
Easy3D正式版きてるな

823 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 01:09:59 ID:H+Qfngp2]
>>820
ありがとう、今気付いたんだけど先に用途を書くべきでした。
例えば>>816の波紋を実現しようと考えた時、
「このエフェクトをかける前までに描画された画面から
 エフェクトをかけたい矩形のグラフィックを取得して、
 これを元にピクセルを書き換える」
という処理を考えてみたんですが、GetPixelは重いようなので、
なら直接メモリを参照できないかと思った次第です。

MakeXXXColorSoftImageで作成するのはソフトグラフィックハンドルなので、
ここを描画先にしたりはできませんよね。。?

824 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 01:19:10 ID:H+Qfngp2]
>>823
訂正:ソフトグラフィックハンドル->ソフトイメージハンドル
あと「描画先」と書いたのは、「DrawGraph等で描画できる描画先」という意味です。
直接グラフィックハンドルをソフトイメージハンドルに変換できる方法があればよいのですが。
そもそもこの考え方自体がアホなんでしょうか。。。

825 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 03:43:56 ID:CMJVUsQ6]
>>824
画面全体にエフェクトを掛けたりするのに有ると便利だが、ちょっと調べてみたが出来ないっぽいね。

そもそもLoadGraphやMakeGraphはVRAMに転送した時点でPC環境に依った画像フォーマットに変換されちゃうから、
そこからソフトイメージハンドルを生成するとなると、コンバーター(デコーダ相当)が必要になる。
DXライブラリの作者としては手間が掛かるから、要望が無い限り実装を見送っていると予想している。
優しい作者さんなんで、要望送ってみてはどうかな?

現状で対応するとなると、どうしても遅くなるが、
画面サイズと同じ大きさにMakeGraphした裏画面領域をSetDrawScreenして、
一連の画像を転送し、GetPixcelとDrawPixcelするのがベストな選択かねぇ。

SaveDrawScreenを使ってbmp保存して、そこからSoftImageを作るという最終手段もある。(とても遅い)

826 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 03:50:25 ID:CMJVUsQ6]
>>823
ああ。書いてておもったが、SaveDrawScreenがあるから、デコーダ処理は既に内部には出来てるのか。
作者に要望だすと、すぐに実装してくれると思うよ。

827 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 04:00:17 ID:HX55tf54]
解説 グラフィックデータのあるメモリ領域には『ロック』をしなくては アクセスする事が出来ません。
細かい事は抜きにしてとにかくWindows 環境ではメモリの管理が厳重なので malloc関数 などで確保したメモリ 領域のように簡単にはアクセスは出来ないようになっています。だから 『ロック』という作業を行い直接アクセスできるようにします。
 グフィック領域に直接アクセスする利点はDrawPixel や GetPixel 関数を使用するよりも処理が速い、等があります。
 ロックの説明をはじめる前に注意なのですが、ロックを行った場合は 直接アクセスが終り次第直ちにロックを解除してください。
ロックを している最中にデバッグモードなどのブレークポイントを使ってプロ グラムを止めるとハングアップするので注意してください。
ロックを すると 『GraphUnLock』関数を使用してロックを解除しない限り DrawLineをはじめすべての描画関数が使用不可能になるので注意してください。
 では話を元に戻します。
 ロックをするにはまずロックをしたいグラフィックハンドル、または DX_SCREEN_FRONT , DX_SCREEN_BACK 識別子を使って画面をロックする 事も出来ます。
 ロックが完了すると関数は PitchBuf に指定したポインタにロック したグラフィック領域の1ライン辺りのバイト数と、DataPointBuf で 指定したポインタにロックしたグラフィックへのアドレスが代入されます。
 こうしてロックしたグラフィック領域にはめでたく直接アクセスが 出来るようになります。まず希望の座標(点)にアクセスするには 以下の式を用います

  (グラフィック領域の先頭アドレス) +
  (X座標値 × (グラフィックのカラービット数 ÷ 8)) +
  (Y座標値 × 1ライン辺りのバイト数)

  = 希望の座標のポインタ

828 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 04:02:17 ID:HX55tf54]
 この中の『グラフィック領域の先頭アドレス』と言うのは DataPointBuf から取得できる値、『1ライン辺りのバイト数』は PitchBuf から取得できる値
『グラフィックのカラービット数は』SetGraphMode関数 の 引数 ColorBitNum の値(デフォルトでは16です)となります。

 次に1ドット辺りのビット数はカラービット数と比例します、以下に カラービット数と一般のデータ型との比例関係を示します。
  8bitカラー     char 型と同サイズ
  16bitカラー    short 型と同サイズ
  32bitカラー    int 型と同サイズ
 もし16ビットカラーのグラフィックに1ドット分データのアクセスを するつもりで int 型変数で値を代入した場合は2ドット分描画してしまう ので注意してください。(アドレスの算出のときも同じです)
注 … グラフィックをロックする場合は SetUse3DFlag 関数で3D機能を使わない設定にしてからLoadGraph,MakeGraph等で作られたグラフィックでないとロックは失敗します。
例  128×128のグラフィックデータを作成し、座標( 24 , 11 )
  の点に色コード0を代入します。(16ビットカラー)
char *GraphData ;
short *DrawPoint ;
int Pitch , GHandle ;
// グラフィックの作成
GHandle = MakeGraph( 128 , 128 ) ;
// グラフィックのロック
GraphLock( GHandle , &Pitch , &GraphData ) ;
// 座標( 24 , 11 )のデータのアドレスを算出
DrawPoint = ( short * )( GraphData +
24 * ( 16 / 8 ) +
11 * Pitch ) ;
// 色コード0を代入します
*DrawPoint = 0 ;
// ロックを解除します
GraphUnLock( GHandle ) ;



829 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 04:05:06 ID:HX55tf54]
サンプル 表画面をロックして直接アクセスで画面にグラデーションを描きます
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){
int i , j , k ;
int Pitch ;
short *DrawPoint , Cr ;
char *GraphData ;
if( DxLib_Init() == -1 ){return -1;}
// 表画面をロックします
GraphLock( DX_SCREEN_FRONT , &Pitch , ( void ** )&GraphData ) ;
// 画面にグラデーションを描きます
for( i = 0 ; i < 480 ; i ++ )
{
for( j = 0 ; j < 640 ; j ++ )
{
// 色の値を取得
k = 255 * i / 480 ;
Cr = ( short )GetColor( k , k , k ) ;
// 描画する座標のポインタを計算
DrawPoint = ( short * )( GraphData + j * ( 16 / 8 ) + i * Pitch ) ;
// グラフィックデータへの直接アクセスで点を描画
*DrawPoint = Cr ;
}
}
// 表画面のロックを解除(『GraphUnLock』使用)
GraphUnLock( DX_SCREEN_FRONT ) ;
// キーの入力待ち
WaitKey() ;
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}

830 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 04:17:46 ID:CMJVUsQ6]
>>827
ありがとう。
GraphLock/Unlockなかなか便利だねぇ
ちょっと使ってみます
作者から非公開関数になった理由が知りたいとこだね

831 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 10:15:03 ID:H+Qfngp2]
>>825-829
なるほど、そのためのGraphLock/UnLockだったのか。
あと非公開関数になっただけで使う事はできるんですね。
てっきり使用すらできなくなったものだとばかり思ってました。。。
とりあえずはこれで出来そうなので、デコード処理の要望の方は見送ろうかと思います。
お二方とも、ありがとうございました。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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