DXライブラリ 総合スレッド その8
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2011/04/03(日) 17:17:11.99ID:liTmPO3jGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
0633名前は開発中のものです。
2011/07/11(月) 19:17:30.12ID:qEjXc3p40634名前は開発中のものです。
2011/07/12(火) 00:15:30.48ID:w3WiNDnu0635名前は開発中のものです。
2011/07/12(火) 00:55:18.36ID:rtJ8dpy0その時どのツール使ってる?
0636名前は開発中のものです。
2011/07/12(火) 00:58:21.43ID:KosuFjoS0637名前は開発中のものです。
2011/07/12(火) 00:59:05.23ID:rtJ8dpy00638名前は開発中のものです。
2011/07/12(火) 01:01:21.07ID:kIzdHU0V0639名前は開発中のものです。
2011/07/12(火) 01:14:46.66ID:KosuFjoSAMVコーデックはシェアウェアだが
AmaRecCoで利用する分にはタダだ
でも、登録しないと左下の方に「AMV」ってロゴ出てくるから注意な
ニコ動とかでAMVのロゴ出たまんまの人結構いる所を見ると
知らない人割といる予感
0640名前は開発中のものです。
2011/07/12(火) 02:14:45.74ID:rtJ8dpy00641名前は開発中のものです。
2011/07/12(火) 03:14:02.49ID:+9/n3xVb画面に余計な宣伝入らないし
ただ10分以上録りたいなら有料だけど
0642名前は開発中のものです。
2011/07/12(火) 03:28:38.43ID:htruIJwu0643名前は開発中のものです。
2011/07/12(火) 08:57:05.26ID:JpBOHZUc0644名前は開発中のものです。
2011/07/12(火) 10:30:53.50ID:KZrC4U/Jこっちの方が手軽に操作できるし、ヘボPCでも多少はマシだと思えるくらい軽かった。
もちろんタダで使える。
0645名前は開発中のものです。
2011/07/12(火) 20:10:23.53ID:KosuFjoSあ〜、昔そういうゲームがあったのか
ぐぐってやっとわかった
やってみたいけど、X68000とかPC98用みたいだから無理か・・・
残念
0646名前は開発中のものです。
2011/07/12(火) 23:56:55.19ID:sQNLrYyx何度か試してると上手くいくから、そこまで問題にはならないんだけど。
0647名前は開発中のものです。
2011/07/13(水) 01:43:00.30ID:9PnxXa1eは厳しい闘いだな
とりあえず
スタート画面 → メニュー画面(ストーリー、武器選択、武器開発、部隊編成etc)→ 戦闘
という流れは作ったものの、細かなところまで作り込んでいくのは到底無理な気がしてきた
という形は
0648名前は開発中のものです。
2011/07/13(水) 02:01:53.43ID:xeGw/hZvそういうのは一度作ったら使いまわしができるから、かなり楽になるんじゃないの
0649名前は開発中のものです。
2011/07/13(水) 03:42:31.21ID:ccqTyWvKそこまでできたら大したもんだろ。
0650名前は開発中のものです。
2011/07/13(水) 08:41:35.39ID:Uop3Gb9C画像サイズを大きくしていくと突然強制終了するようになる
たぶんビデオメモリの容量でデータ量が決まってるぽい
俺が間違ってるのかDXlibが間違ってるのか何も分からないし
DXlibの実装を見てやっと分かったわ。
それからはスクリーンショットをとるときは自分でfopenとかfwriteとか使って
やるようにしたわ
たかがスクリーンショットとるのに何でビデオメモリ使うんだよ
0651名前は開発中のものです。
2011/07/13(水) 09:30:37.24ID:pKTefd4gゲームが作れるということを売りにしてるけど、実際は単なるDirectXのライブラリでゲームライブラリっぽくない。
スクリーンショットを撮ってメモリ上でいろいろやったりできるだろう。
ただとって保存するならDirectXのライブラリを使う必要ないし。
0652名前は開発中のものです。
2011/07/13(水) 09:34:39.60ID:28OJnPDT例えば普通のスクショだと、スクショにだけ写り込ませたくないものを除外して撮影とかできない
……たぶん
0653名前は開発中のものです。
2011/07/13(水) 12:50:56.55ID:9PnxXa1e違うんだ
確かに頑張ったつもりではいるんだけど、インターフェースとかAIとかかなり
ウンコレベルなんだわ
細かなエフェクトとか全くないし、AIが糞みたいな動きだし、不完全すぎるのが問題だ
0654名前は開発中のものです。
2011/07/13(水) 13:04:45.60ID:GPUrlUjB0655名前は開発中のものです。
2011/07/13(水) 13:24:27.01ID:aDHa5O440656とんちゃもん
2011/07/13(水) 14:59:47.06ID:jc99v67Wスクリーショットを作る方法はDirect3Dのバックバッファテクスチャを
画像に変換するのが一般的で、テクスチャを作れるサイズが
実行環境のビデオカード次第だからそれを超えてはならんのですよ。
0657名前は開発中のものです。
2011/07/13(水) 20:20:58.62ID:XK9c4p7f0658名前は開発中のものです。
2011/07/14(木) 01:51:01.54ID:+qxB3wjgこれだから・・・
0659名前は開発中のものです。
2011/07/14(木) 04:34:48.71ID:gQedyap0C言語初心者は関係ないじゃん。
発想とセンスとノウハウの問題だ。
市販のゲームプレイしまくって、自分でもゲーム作りまくるしかない。
0660名前は開発中のものです。
2011/07/14(木) 10:29:49.40ID:wU5xZKC8アクション系ならいくらでも誤魔化せるんだが、テーブルゲームやシミュレーションだと永久に止まったり弱かったり・・・
0661名前は開発中のものです。
2011/07/14(木) 14:18:43.73ID:su1yYC9L音楽聞きまくれば、良い音楽が作れる理論に同じw
0662名前は開発中のものです。
2011/07/14(木) 15:17:12.60ID:akF8P1+K0663名前は開発中のものです。
2011/07/14(木) 15:20:47.74ID:WgGhgNQaなかなか難しいと思う。
そういうこと考えずに触ってるだけとか、単に画一的になるだけ
になる恐れはあるけれども。
0664名前は開発中のものです。
2011/07/14(木) 15:38:34.84ID:CyI75f3H0665名前は開発中のものです。
2011/07/14(木) 16:48:53.03ID:GILVrUQC0666名前は開発中のものです。
2011/07/14(木) 17:32:59.60ID:v1e8oMdn意識した行動をとらずに普通に遊んでしまったら駄目だと思う
0667名前は開発中のものです。
2011/07/14(木) 17:44:18.48ID:0xB3ByY30668名前は開発中のものです。
2011/07/14(木) 18:43:45.30ID:s3fZ4xZT0669名前は開発中のものです。
2011/07/14(木) 18:52:07.28ID:ECMS+lVrあれのUI版みたいなのが欲しくなるね。
0670名前は開発中のものです。
2011/07/14(木) 18:53:05.31ID:0nBB6892個人的に気を付けてるのは、ウィンドウやメニューを表示する際に2〜8フレーム位のアニメーションで出すこと
これをやると、ただパっと出てくるのに比べて自然と目線がそちらへ向かうのでスムーズにプレイできる
8フレームまでならウェイトうぜー、って心配もないし
0671名前は開発中のものです。
2011/07/14(木) 20:54:20.38ID:gQedyap0音楽聞かずに音楽作ってるやつの曲なんて、耳障りなだけだろ。
ゲームをプレイしない奴、ゲームを好きじゃない奴、
そういうのが作ったゲームはストレス溜まりすぎてプレイできねえぞ。
面白くもなんともない製作者自己満足ゲームにしかならねえ。
0672名前は開発中のものです。
2011/07/14(木) 20:59:22.04ID:CjWsHglX661は音楽聴かないほうがいいなんて一言も言ってないだろう。
読解力が無いのなら、もっとたくさん本を読んで、身につけた方がいいぞ。
0673名前は開発中のものです。
2011/07/14(木) 21:13:35.42ID:gQedyap0むしろお前が>>659と合わせて見直せよ。
ゲームを沢山遊べばプログラムをほとんど書かなくても面白いゲームができあがる、
それこそ何も考えずにゲームをひたすらプレイすれば面白いゲームができあがる、
その考えは間違ってますよ。なんてくだらないこと言ってるわけじゃないだろうに。
0674名前は開発中のものです。
2011/07/14(木) 21:16:43.49ID:s3fZ4xZT0675名前は開発中のものです。
2011/07/14(木) 21:17:31.60ID:Cp8vQO2+0676名前は開発中のものです。
2011/07/14(木) 21:18:20.17ID:CjWsHglXちゃんと主語を明確にしてくれ。何が言いたいのか、結論もきちんと述べてくれ。
0677名前は開発中のものです。
2011/07/14(木) 21:48:19.79ID:vXsRk9MC0678名前は開発中のものです。
2011/07/14(木) 23:37:01.61ID:+qxB3wjgでもそれが面白いんだろ
で一人で詰め込んでると気が滅入るから、そうならないようにゲームをプレイする
って感じだな
0679名前は開発中のものです。
2011/07/15(金) 02:18:46.62ID:iCOW3+aWどうしても思ったようなUI作れないんだったらどっかから自分のイメージに出来るだけ合うようなのパチってくりゃいーだけ
どうせどこぞやに出品する程のもんなんて作るわけじゃねえんだろ
最悪四角書いてりゃ実用的には事足りるわけだし
0680名前は開発中のものです。
2011/07/15(金) 02:27:39.91ID:8cxggSBUソース見てみたけど、ビデオメモリ使ってなくね?
0681名前は開発中のものです。
2011/07/15(金) 02:54:27.76ID:sINpyDal0682名前は開発中のものです。
2011/07/15(金) 03:38:02.54ID:QuMEcN1Y何本くらい完成させたことがある?
0683名前は開発中のものです。
2011/07/15(金) 12:08:10.06ID:sINpyDalまだ0本、ガチ初心者だし
LoadGraphが宣言の時にできないって仕様がなんとも使いにくいんだが
なんかいい方法ないかな
画像ロードするためだけに初期化関数つくらなくても使えるようになりたいわ
0684名前は開発中のものです。
2011/07/15(金) 12:30:37.73ID:3cvFnUbZ0685名前は開発中のものです。
2011/07/15(金) 12:41:54.64ID:sINpyDalソースファイルの配列宣言するときに書きたいんだけど
Enemy_t Enemy[5][10]={
/*鋼鉄軍 */
/*Ctrl, hp, en,EnAtk,FiAtk,EnDef,FiDef,speed, rotate, saku, Egen,jspd, gear, maai, rad,haichi, jimg,image*/
{/*No1*/{ 0, 100, 100, 0, 0, 0, 0, 0.5, PI/120, 300, 0.3, 1, 2, 100, 5, 0, jet1, ship3},//LoadGraph("jet1.png"), LoadGraph("ship3.png") },
/*No2*/{ 0, 200, 200, 0, 0, 0, 0, 0.5, PI/120, 300, 0.3, 1, 2, 100, 5, 0, jet1, ship3a},//LoadGraph("jet1.png"), LoadGraph("ship3a.png") },
},
/*焔軍*/
・・・
って感じなんだけど、宣言と同時に初期化してもLoadGraphはできなかった
すげー不便だと感じた
0686名前は開発中のものです。
2011/07/15(金) 12:53:46.25ID:ooyFUgwSなんにしてもDXライブラリの仕様に文句つける前に言語仕様を理解できていないことだけは確実
初心者はサンプル参考に定石どおり組んだ方がいいよ
0687名前は開発中のものです。
2011/07/15(金) 12:58:39.60ID:3cvFnUbZclass作って動的に生成したほうが楽だわ。
C言語だけならデータ更新関数作ってライブラリ初期化後に呼ぶか
グローバル変数をあきらめる。
0688名前は開発中のものです。
2011/07/15(金) 13:14:16.44ID:oDrPnm7Fそんな書き方は普通はありえない
0689とんちゃもん
2011/07/15(金) 13:20:05.46ID:UPz+2Wt3/*鋼鉄軍 *//*焔軍*/ だと・・・?中二心がくすぐられるぜ
>LoadGraphがライブラリ初期化前に呼べない
簡単に言えばDirect3DのテクスチャはDirect3Dによって作られた
ウィンドウから生成されなければならないから、
とにかく最初に初期化によってウィンドウを作る必要がある。
初期化前に行った場合に遅延処理という実装方法もできると思うけど
画面(シーン)の切り替えが起きるようなゲームだと結局クラス化
するから同じ事よ
0690名前は開発中のものです。
2011/07/15(金) 13:44:56.71ID:sINpyDalどうやらクラスは必須なんだな
まずはCって思って作ってたけど、c++にも手を出す日が来が来てしまった
ちょっと勉強してきますわ
>>689
最初に作るものなんだから内容は定番でいいんだ
0691名前は開発中のものです。
2011/07/15(金) 13:48:50.77ID:JNUfYENHゲーム制作においてCはあくまでC++学習用の言語だと思ったほうがいい
それだって、理由は文法の教本がみんなCで書かれてるからって理由だし、
webを資料にするとかならいきなりC++から触ったほうが効率いいよ
0692名前は開発中のものです。
2011/07/15(金) 13:59:14.18ID:Ofk7Vi12oopが必要なら所だけcでソレやりゃいいし、
stlが便利とか言うけど、cでライブラリ拾ってくりゃリストとかすぐ使えるし。
0693名前は開発中のものです。
2011/07/15(金) 14:23:30.64ID:oDrPnm7F0694685
2011/07/15(金) 14:42:58.10ID:sINpyDal今回の問題がどうやってクラスで解決するのか考えてみたけど、よくわからなかったわ
とりあえず今回のゲームはCのみでそれなりに進んじゃってるから
途中からC++混ざるよりは、今回はCだけでやりとげる方がいいような気がした
で次に作るのはC++を最初から使って作るよ
0695名前は開発中のものです。
2011/07/15(金) 14:45:31.31ID:Ofk7Vi12そもそもEnemyの配列は固定サイズでいいのん?
0696名前は開発中のものです。
2011/07/15(金) 14:51:37.21ID:EU1MnOaM「龍神録プログラミングの館」は読んでみた?
全くの初心者ならとりあえず読んでみることを勧める
0697名前は開発中のものです。
2011/07/15(金) 15:40:13.82ID:oDrPnm7Fクラスなんて関係ないよ
問題はDXライブラリ初期化以前にLoadGraphを呼び出していることであって、
それはクラスで書き直したとこで、グローバル変数にしてたら解決しない
素直に初期化関数を書いたほうがいい
0698名前は開発中のものです。
2011/07/15(金) 15:40:47.67ID:sINpyDal50体作れれば十分かなと思った
これ以上は増えないと思う
>>696
クラスってそんなもんなの?
呼んだのは旧新プログラミングの館
龍神録はextern使ってて、それはよくないことって書いてあったからあまり読んでないな
ノウハウで必要なところは読んだりしてるかも
0699名前は開発中のものです。
2011/07/15(金) 15:58:19.66ID:3cvFnUbZclassのが楽なのはこの場合は
LoadGraphするのをハンドルが必要なときまで遅延させるのを
隠蔽しつつ楽に書けるからだけどな。
グローバル変数で値設定しても問題なくなる。
0700名前は開発中のものです。
2011/07/15(金) 16:22:52.22ID:oDrPnm7Fどういうこと?それって値設定の時点でLoadGraphしないってことでしょ?
そしたら結局、画像のための初期化の手続きを踏むことになるんじゃないの?
0701名前は開発中のものです。
2011/07/15(金) 16:47:35.95ID:q/kzQ263/* ヘッダー */
extern Enemy_t *Enemy(int a, int b);
/* ソース */
Enemy_t *Enemy(int a, int b) {
static Enemy_t array[5][10] = { /* 初期化 */ };
return &array[a][b];
}
使うときはEnemy(n, n)って感じになるけど(ポインタなので注意)
0702名前は開発中のものです。
2011/07/15(金) 17:07:44.80ID:s1h5mZwt使ってるうちに慣れるし、逆にある程度使ってみないと利点なんて見えてこない
合間合間に独習C++あたりでも読むと思わぬ発見があったりして面白い
0703名前は開発中のものです。
2011/07/15(金) 17:18:26.28ID:4xFHp3HVそんな俺でもすでに二本ゲームを完成させたし、三本目も半分くらいに達している。
これも全てDXライブラリのおかげ。
0704名前は開発中のものです。
2011/07/15(金) 17:19:18.12ID:s1h5mZwt0705名前は開発中のものです。
2011/07/15(金) 17:35:43.97ID:Gd+QIkJJ入門者がなんとなく始めてもあれこれ悩む時間が増えるだけでいい結果にはならないと思う
0706名前は開発中のものです。
2011/07/15(金) 17:40:29.86ID:s1h5mZwtあとで仕様変更したくなったときに大変なことになる
例えばDrawGraphにしたって、捻りの無いネーミングだとmyDrawGraphみたいにして一枚噛ませることだけはしておいた方がいいね
仕様変えたくなったら後でオーバーロードして好きにパラメタ追加できる
0707名前は開発中のものです。
2011/07/15(金) 17:46:34.30ID:sINpyDalいや、まじでありがとう
さくっとできた
すげーな、returnするならintかdoubleくらいしかないと思ってたわ
まさか構造体そのものを返す関数なんて考えたこともなかったや
本当に感謝です
0708名前は開発中のものです。
2011/07/15(金) 18:41:00.10ID:EU1MnOaMそんなもんだよ>クラス
関数と構造体がくっついたものって考えでもさほど的外れじゃ無いと思うぜ
externが良くないっていうけど、その情報はどこから拾ってきたのよ?
初心者が個人で開発する規模で
何か都合が悪いことが起こるとはおもえないぜ
0709名前は開発中のものです。
2011/07/15(金) 18:52:33.54ID:s1h5mZwt自分が開発しやすいようにやればいいのさ
グローバル変数イクナイ!とか半分宗教的に書いてるところとかあるけど、
初心者はそんなもの気にしちゃいけませんと個人的に思う。そこら辺>>705と似たようなことを思ってる
グローバル変数とかexternが何で良くないかとか、実際に使ってみて不都合が起きてから考えればいいんだよ
ただ、C++で作るならバッファオーバーランとメモリリークにだけは気をつけておいた方が良いとは思う
初心者の頃にここでハマると原因が特定できないまま延々悩むことになるw
0710名前は開発中のものです。
2011/07/15(金) 19:02:38.86ID:s1h5mZwtそっちの方がコードが綺麗に書けるんだったらわざわざ封印するのも馬鹿らしい
0711名前は開発中のものです。
2011/07/15(金) 20:20:05.42ID:EU1MnOaMエラー処理ならthrow-catch使うのが筋だし
0712名前は開発中のものです。
2011/07/15(金) 20:25:14.90ID:aUeB0D0P0713名前は開発中のものです。
2011/07/15(金) 20:25:50.22ID:s1h5mZwt自分が見通し分かってるんだったら何の問題もないんじゃないかなあ
俺は場合によって丸々飛ばしたい処理があるときなんかに使うかな
フラグ立ててifで無視させる方が何か綺麗じゃない気がする。ネストも深くなるし
戻る方向ではループで囲めばいいから使わないけど
基本は関数に分割して無視させたりするけど、分割した方が見通し悪くなることもあるし
0714名前は開発中のものです。
2011/07/15(金) 20:26:34.92ID:aSm4jIvP0715名前は開発中のものです。
2011/07/15(金) 20:27:32.68ID:s1h5mZwt悩める子羊がいるから、それは悩むことではないのです、って言いたいだけなんだけどw
0716名前は開発中のものです。
2011/07/15(金) 20:32:09.07ID:hUzZdann0717名前は開発中のものです。
2011/07/15(金) 20:34:58.08ID:Uik7LxmY高級言語というとFORTRANとかBASICが主流の時代で
この頃は構造化プログラミングというところまで、まだ進歩してなかったので
確かに多くのプログラマがGOTOを乱用してスパゲッティなコードを書いていた。
でもその後、構造化プログラミングの考え方を取り入れた CやPascal が出て
構造化プログラミングは基本中の基本になったし gotoは上手く使えば有用なので
確かに危ないといえば危ないんだけど、無闇に毛嫌いすることもない気がするんだけどね…。
0718名前は開発中のものです。
2011/07/15(金) 20:35:56.12ID:ZOIGFe6Zそもそもお前は説教されてねーだろw
何だその被害妄想はw
0719名前は開発中のものです。
2011/07/15(金) 20:39:04.54ID:aUeB0D0Pで?完成したゲームはどこにあるの?
某スレからコピペ同じことがこのスレにも言えるな。
てか、この板全体だが
0720名前は開発中のものです。
2011/07/15(金) 20:59:03.64ID:sINpyDalどっかにアップされてないの?
0721名前は開発中のものです。
2011/07/15(金) 21:10:48.16ID:BoGt4h1Aドヤ顔で2chに自作ゲーム晒されても何も言えねーだろw
0722名前は開発中のものです。
2011/07/15(金) 21:13:09.10ID:aUeB0D0Pwwwwwwwwww
確かにそうだなw
0723名前は開発中のものです。
2011/07/15(金) 21:14:32.88ID:s1h5mZwt0724名前は開発中のものです。
2011/07/15(金) 21:53:14.65ID:fwAZzod0バッファオーバーラン、メモリリークなんて言われてもどれだけの人が理解できるだろうな?
ここの住人はへっぽこ三流プログラマー多いもんな、C++でメモリ管理やオブジェクト指向がわからないとか恥意識無く平気で口にするし
メモリアクセスのバグについても存在すらわからんって言ってる奴も居る
変数のスコープは出来る限り短くする、グローバル変数を多用しないというのはC++の常識なんだけどね
結局はきちんとした作法と正しいプログラミング知識を身に着けようと努力しない奴らが多すぎて困ったもんだ
0725名前は開発中のものです。
2011/07/15(金) 22:00:03.53ID:PBItPhvXそれ多分全部俺。
0726名前は開発中のものです。
2011/07/15(金) 22:11:06.89ID:q/kzQ263その常識や知識を最低限叩き込めるサイトがテンプレにあればいいんじゃない、コード規約にならん程度で。
そういうのがあれば、初心者のDXライブラリの使用率が高そうだから公式でも紹介してくれればいいね
0727名前は開発中のものです。
2011/07/15(金) 22:13:58.72ID:s1h5mZwtまあメモリアクセスのバグが見つけられないようだと後で悲惨なことになるから、
そんぐらいは理解できる力を身につけてから本格的にゲーム作りを始めた方がいい気はするな
0728名前は開発中のものです。
2011/07/15(金) 22:14:58.07ID:oDrPnm7Fそもそもここの住人は職業プログラマじゃないもの
良くも悪くも作法や規則には縛られないんだよ
0729名前は開発中のものです。
2011/07/15(金) 22:51:01.16ID:gfKG6ymPそういう口だけの奴ほどゲームを完成できないという事が
この板全体&ブログでプログラミングについてあれこれ語っている奴をみてきて良くわかった
なんというか無知だけど情熱だけで突っ走っているタイプの方が
ゴール目前まで言っている事が多いww
0730名前は開発中のものです。
2011/07/15(金) 22:54:50.89ID:IXhuf8tY0731名前は開発中のものです。
2011/07/15(金) 23:02:27.32ID:IXhuf8tYゲームの仕様から、キャラ設定に至るまで
「本当にこれでいいのか?もっといい方法があるんじゃないのか?」
って考え始めると、そこから中々進めなくなる
0732名前は開発中のものです。
2011/07/15(金) 23:04:19.60ID:EU1MnOaM■ このスレッドは過去ログ倉庫に格納されています