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


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

DXライブラリ 総合スレッド その17



1 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 12:40:45.76 ID:qXzfRGmE]
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
homepage2.nifty.com/natupaji/DxLib/

【関連スレ】
C/C++ゲーム製作総合スレッド Part4
toro.2ch.net/test/read.cgi/gamedev/1376262450/
ゲームプログラムなら俺に聞け29(プログラム技術板)
toro.2ch.net/test/read.cgi/tech/1381578085/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
toro.2ch.net/test/read.cgi/tech/1370015791/

424 名前:名前は開発中のものです。 [2013/12/12(木) 20:49:22.35 ID:LHOSBTMF]
解像度が異常に高い画像をアップロードしようとしたら
動作遅くなりまくりますか?
横100万画素
縦80万画素
どうなる?

425 名前:名前は開発中のものです。 mailto:sage [2013/12/12(木) 21:03:01.30 ID:E6McHG3D]
>>382
ガチPCの1時間放置ALT7桁でもFPS59.8以上安定してる

426 名前:名前は開発中のものです。 mailto:sage [2013/12/12(木) 21:03:33.97 ID:cj/iHaaF]
こいつってわざとバカを装ってるかまってちゃんかね

427 名前:名前は開発中のものです。 mailto:sage [2013/12/12(木) 21:05:08.34 ID:jPdshx4A]
kazuki君に似てるな。
毎度毎度、お前らやさしいな。

428 名前:名前は開発中のものです。 mailto:sage [2013/12/12(木) 22:05:03.39 ID:8KqFEAbV]
>>424
3Gバイト近くある画像とか、現在のコンピュータ環境では厳しいそうだな

>>427
成長するとああなるのかもしれんが、流石に別人じゃろw

429 名前:名前は開発中のものです。 mailto:sage [2013/12/12(木) 22:34:57.31 ID:ggJV+65h]
画用紙に背景の絵を描きますよね? それに人物の絵を描き加えるとしますよね?
次にその人物を違うポーズに変更しようとしますよね?
でももう背景に上書きしちゃってるので、背景から描き直さなくてはいけませんよね?
コンピューターの描画はこれの繰り返しです。

ファミコンとかのゲーム専用機には「スプライト」という、アニメでいうセル画がみたいなのがあって
描画負荷を軽くする工夫がされてましたが、今どきのPCの性能ならそんなのなくても充分なのです。
(重ねあわせる画像をスプライトと呼ぶのはその名残)

430 名前:名前は開発中のものです。 mailto:sage [2013/12/12(木) 22:37:44.67 ID:ggJV+65h]
んで、同じ絵を何度も何度も描き直すのに、
毎回画像データを読み込んでたらとんでもない負荷になりますよね?

だから予め画像データをメモリ上に読み込んでおいて、
「描く」だけを何度も繰り返すのです。

431 名前:名前は開発中のものです。 mailto:sage [2013/12/12(木) 22:50:21.06 ID:OWkqxLZc]
一人で作ってると一番の問題はモチベーションの気がするんだ・・・。

432 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 00:12:21.14 ID:6ySiQFYU]
なんでこんなクズに教えちゃうの?バカかお前ら



433 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 01:05:27.08 ID:xT5S28jk]
>>382です
シングルスレッドでcpu1コアでやってるのですが、
結局の所、3dゲームとしては妥当な負荷量なのでしょうか?

あとソースコードはvs2010です、すいません。
レビューしてくれるといってくれたひとが数人だったのでダウンロード制限5回までにしてました
亀になりますが、詳しくレビューしてくれる方がいらっしゃるならまた上げます

434 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 09:14:50.31 ID:xKAhw+iZ]
>>419
そもそもOSはそうやって必要な部分だけ消して上書きしたりしてるんだよ。
msdn.microsoft.com/ja-jp/library/cc410421.aspx

>>403 のリンク先にも登場する基本。

そしてそれはそれとして、アプリ側の都合でそれじゃ問題ある場合に、自分のクライアント領域をダブルバッファリングで上書き繰り返しするんだよ。

435 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 09:25:50.16 ID:35O7WwTq]
もうさわんなよ爆釣じゃねーか

436 名前:名前は開発中のものです。 [2013/12/13(金) 10:43:24.72 ID:xT5S28jk]
ソース
www1.axfc.net/u/3113582.zip?key=dxlib

実行ファイルだけ
www1.axfc.net/u/3113591.zip?key=dxlib

今FF14プレイするようなデスクトップPCだからそんなに重いと感じなかったけど、
corei3のノートパソコンでやったらFPSが下がるわ下がるわで・・・

プロジェクトのファイル構成は
main.cppにエントリポイントがあり、そこでAdminクラスを継承したシーンクラスが、それぞれ画面を管理してます
問題になる部分はPlayAdminクラスで、PlayAdmin::Play()がゲーム本体のメインループを担当しています

最初は設計しっかりやったのですが、シングルトンとか使ってる上に
最近ちょっと急いで機能実装したのでスパゲッティになってると思います

437 名前:名前は開発中のものです。 [2013/12/13(金) 10:44:57.60 ID:xT5S28jk]
すいません!ブラウザの進むボタン押してしまいましたすいません

438 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 11:16:36.72 ID:YLoJHcec]
8ビット時代の高三かよw

439 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 11:20:34.64 ID:E0ngYd2p]
なんてこったい

440 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 15:41:14.11 ID:+hkdtW8O]
結局の所重いとかどうとか、どうなったんだ

441 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 15:50:38.09 ID:brnqlIDg]
平日なのに他人のソースなんてそんなに簡単に追えんわ
ハイスペPCだからか負荷全く感じないし
無駄に描画とか計算とかしてるかライブラリの仕様かどっちか
Dxlibの3Dのコストがどんなもんなのかも知らんし

442 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 17:10:13.51 ID:1/aq5Qrb]
>>436
起動して自機を見ただけだけど、
オンボード(グラボなしのノートPC)で余裕で動いたぞ

敵の大群とか弾があったらどうなるかしらん。
重くなったら解像度と奥行きを抑えればどうにかなるだろ。



443 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 17:14:24.97 ID:1/aq5Qrb]
ソースはダウンロードできなかった。

444 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 18:32:09.08 ID:2p8CNYEs]
描画距離って処理速度に影響してくるの?
描画する要素が多くなるから
ってことなら、描画してるのは天球とか機体だけだからそんなに負荷変わらないような

445 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 23:24:33.39 ID:QRPVBqXN]
奥行きを設定してあまりに遠すぎるものの描画を省くってことじゃないんか?

446 名前:名前は開発中のものです。 mailto:sage [2013/12/14(土) 00:37:13.03 ID:++viSzPI]
442だけど445さんの意味だよ。
アプリの内容は知らないけど、シューティングだと思うので書いた。

水平線の遥か彼方に飛んでいったミサイルとかは描画しない、
あるいはそうならないように弾丸は5秒で消えるとかアプリの仕様を工夫するのは
基本でしょ。

もちろん全て今後の追加内容次第の話だけどね。

447 名前:名前は開発中のものです。 mailto:sage [2013/12/15(日) 12:19:47.40 ID:9ljCa3Kz]
ソース落としたやつの返信がまるでないようだが。

448 名前:名前は開発中のものです。 mailto:sage [2013/12/15(日) 13:45:09.93 ID:Hz+1xI4L]
プログラムスレって偉そうなこと言っておきながら具体的なソース書けない奴ばっかだもの

449 名前:名前は開発中のものです。 mailto:sage [2013/12/15(日) 14:05:34.02 ID:1GmHMFtI]
DLできた人何人いるのよ?

450 名前:名前は開発中のものです。 mailto:sage [2013/12/15(日) 16:02:10.70 ID:9ljCa3Kz]
5人だろ?
>レビューしてくれるといってくれたひとが数人だったのでダウンロード制限5回までにしてました

同じ奴が5回落としてたら違うだろうけどw

451 名前:名前は開発中のものです。 mailto:sage [2013/12/16(月) 18:33:42.92 ID:K1sB0mkG]
うpされてたぐらいの自作ゲームって
corei3 380/4GBじゃきつい?

452 名前:名前は開発中のものです。 mailto:sage [2013/12/16(月) 20:59:35.21 ID:bve3ecQv]
CPU : Celeron 1.8GHz
システムメモリ : 4GB

余裕だったぞ



453 名前:名前は開発中のものです。 mailto:sage [2013/12/17(火) 08:27:14.77 ID:l+XOoEU8]
今のご時世、CPUメモリよりもグラフィックボードやVRAMの方が重要な気がする

454 名前:名前は開発中のものです。 mailto:sage [2013/12/21(土) 23:08:36.29 ID:Yi4v4ieN]
BMPだと無圧縮だから展開処理が不要で処理が早いと書いてありました
圧縮不要なくらい色数が少ない画像ならBMPを使う方が断然良いってことでしょうか?

ちなみに16色以下の4ビットBMPで保存した場合で比較してみたところ
画像によってはPNGよりもファイルサイズが小さくなることもありました

455 名前:名前は開発中のものです。 mailto:sage [2013/12/21(土) 23:12:07.18 ID:Z2trQXsX]
お前は何にも分かってないな

456 名前:名前は開発中のものです。 mailto:sage [2013/12/21(土) 23:22:11.86 ID:JXrxEU1J]
一行目と二行目の関係が解らん……。

457 名前:名前は開発中のものです。 mailto:sage [2013/12/21(土) 23:38:55.19 ID:Yi4v4ieN]
ゲームで使う画像ファイルにはpngを使っていたんですが
キチッと色を調整して16色以下に抑えれば
bmpでもpngの時とさほどファイルサイズは変わらないようです

ということは配布する時の「ファイルサイズを小さくできる」といったpngのメリットは消えて
ゲーム実行時の「展開処理を必要とする分だけ処理が遅くなる」というデメリットだけになるのでは?ってことです
実のところどうなんでしょうか?

458 名前:名前は開発中のものです。 mailto:sage [2013/12/21(土) 23:52:38.60 ID:JXrxEU1J]
質問の答えじゃなくて申し訳ないが
そんなに容量きりつめなくてはいけないほど大量の画像使ってるの?

いやぁ俺の場合音楽データばっか大きくて、画像データなんてそれに比べれば微々たるものだからさ……。

459 名前:名前は開発中のものです。 mailto:sage [2013/12/22(日) 00:36:46.08 ID:VxmegpWF]
画像ファイルで良く使われるのが.pngです。良いです。
.jpgもありますが、画質劣化するので使いません。透明もありません。

DirectXでは、.DDSが一番良い。 画質劣化、透明、速度に関して

460 名前:名前は開発中のものです。 mailto:sage [2013/12/22(日) 11:48:10.15 ID:aPRmSWB9]
>>454
・ファイルフォーマットってのはHDDやなんかのストレージに収めておくときのファイル形式で、
展開が云々ってのは、それをロードする時の話。
・ロードする処理と、描画する処理はプログラム的に全く別物。

この辺の入門レベルの切り分けを踏まえた上で考え直して。

461 名前:名前は開発中のものです。 mailto:sage [2013/12/22(日) 11:51:24.34 ID:aPRmSWB9]
>>457
基本pngでいい。bmpでも構わない時だけbmpでも、いい。
20数年前の16bitマシンでも使ってるなら悩んだ方がいいが。

462 名前:名前は開発中のものです。 mailto:sage [2013/12/22(日) 22:11:32.46 ID:CXw2CLht]
VRAMサイズ抑えれるんじゃないの?



463 名前:名前は開発中のものです。 mailto:sage [2013/12/22(日) 22:16:20.61 ID:h1ulpp9F]
PC-9801みたいに1ドットに3ビット使って8色だしてるところを
2ビットに減らして4色にしたとかいうならVRAMの節約にもなるだろうけど……

464 名前:名前は開発中のものです。 mailto:sage [2013/12/22(日) 22:21:00.64 ID:bhg3zs8j]
基本的に32bitカラーに展開しないと使えないから同じだろ
シェーダー内で使うならパレット形式でも使えるだろうけど処理が無駄すぎる

配布サイズなら7zでbmpのが圧縮される可能性あるけど
展開後のサイズのが気になるからpngのほうが良いかと

465 名前:名前は開発中のものです。 mailto:sage [2013/12/23(月) 02:10:02.27 ID:UXb3wWt0]
>>462
それはpngやbmpみたいなファイル形式の話じゃなくて、こっち↓の話。
msdn.microsoft.com/ja-jp/library/ee415202(v=vs.85).aspx
ごっちゃにしちゃいかんよ

466 名前:名前は開発中のものです。 mailto:sage [2013/12/24(火) 17:47:14.48 ID:Akz3xHfB]
凹やレンズ凸レンズを通して見たような感じに画像を変形させる関数ってある?

467 名前:名前は開発中のものです。 mailto:sage [2013/12/25(水) 10:48:52.64 ID:CUbWJvC8]
なんでそんな固有用件の処理が汎用関数として用意されてると思ったの?

468 名前:名前は開発中のものです。 mailto:sage [2013/12/25(水) 10:54:53.86 ID:itMCNQc1]
SetupCamera_Perspective( float Fov ) ;

これでFOVをセットできます。視野角です。
参考までに、35mmカメラ換算として

14mm 114度 魚眼
28mm 75度 広角
50mm 47度 標準レンズ
300mm 8度 望遠

469 名前:名前は開発中のものです。 mailto:sage [2013/12/25(水) 11:18:20.73 ID:Z3xFHWMl]
>>467
ペイントソフトで出来るような変化をさせる関数GraphFilterがあるから
レンズ越しの変形っぽくする関数があっても不思議じゃないなーと思って

470 名前:名前は開発中のものです。 [2013/12/26(木) 00:22:20.27 ID:xyR7W7tq]
confファイルとかiniファイル作ってみたいんですけど
DXライブラリでゲーム作るときこれらのファイルは不要ですか?
かっこつけたいから作ってみたいっていう単純な理由ですけど
あえて作る必要ないですか?exeファイルとjpgファイルだけじゃ
簡素だなーって思われるのが嫌なんですよ。

471 名前:名前は開発中のものです。 [2013/12/26(木) 00:31:48.63 ID:xyR7W7tq]
作るゲームはhelloworldと入力したら「よく入力できました」っていう
文字を出力し、hellowolrdと打ち間違えたら「2文字間違えました!」って
指摘するゲームです。このゲームでconfファイルを作りたいです。
技術者のみなさん知恵を貸してください。

472 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 00:32:21.87 ID:PC8hDA8a]
iniファイルっていうのはユーザーが自由に書き換えていいって意味のファイル
だから変更されていい内容なら使えばいい



473 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 00:33:09.14 ID:PC8hDA8a]
あともう一つ

技術もないのに小手先でカッコつけようとすんな

474 名前:名前は開発中のものです。 [2013/12/26(木) 00:42:30.01 ID:xyR7W7tq]
>>473
フォルダにconfという拡張子があれば俺はそれで構わない、何も望まない

475 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 00:43:38.47 ID:PC8hDA8a]
だったらファイルをアーカイバで固めて拡張子をconfにすりゃいいじゃん

476 名前:名前は開発中のものです。 [2013/12/26(木) 00:46:20.79 ID:xyR7W7tq]
>>475
そのconfファイルってexeファイルとどう関連してるんですか?

477 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 00:50:03.01 ID:PC8hDA8a]
dxaファイルの名前がconfになっただけだからなにも変わらないが

478 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 00:50:32.38 ID:M1U0vCCJ]
ここで聞くなボケ

479 名前:名前は開発中のものです。 [2013/12/26(木) 00:56:51.32 ID:xyR7W7tq]
>>477
無くても大丈夫なのは何故ですか?

480 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 00:58:31.60 ID:PC8hDA8a]
何を言いたいのかわからん

DXライブラリに関した質問じゃないのはわかるんで、C++の質問スレにでも行って来い

481 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 08:43:17.90 ID:o1nZNR82]
>>470
DXライブラリ関係なく、普通にC/C++でファイルReadして好きに利用する処理書いたらいいだけなのに、何を質問する事があるの?

ちなみにiniに関しては知ってて当然レベルだけど、win32のレイヤーにAPIあるから利用してもいい。
wisdom.sakura.ne.jp/system/winapi/win32/win156.html

482 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 08:43:51.75 ID:w6BxfUND]
質問に至るまでの流れがどう考えてもおかしいし、ただの釣りだろ



483 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 08:54:27.11 ID:o1nZNR82]
釣りなら釣りでいいけどな。
ただDXライブラリ利用者の中には、それ以前の当たり前レベル、前提レベルの知識や考え方なんかを
色々とすっ飛ばして利用しようとしてるちぐはぐな初心者を時々見かけるので、なんだかなぁと思った。

あとファイル操作関連のド基礎も含めてこれも貼っとく。
www.cppll.jp/cppreference/

484 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 09:23:53.15 ID:ee84aAfK]
仮に釣りでもマジレスしてくれれば他の人の参考になるしな

485 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 10:01:45.62 ID:o1nZNR82]
と言うか、上のリンクにあるような物は、DXライブラリみたいな応用編ではないもっとうんと手前にあるド基礎の話なので、
せめてテストコード継続して書くとか、なんか簡単なツール作るとかして具体的に理解深めた後で色々話して欲しいと思った。

どうせゲームなりなんなり作る段階では当たり前に使う物だし。キリが無いし。

486 名前:名前は開発中のものです。 [2013/12/26(木) 12:22:23.48 ID:hUAF7K9V]
confファイルはconfigファイルとは違うの?
後inifファイルとconfファイルは同じ?
この二つだけ答えて欲しい。
答えてくれたらゲーム制作に戻ります。

487 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 12:28:10.04 ID:8itBnJa5]
DXライブラリの水の作り方が分からないんだけど
ググっても出ないし、みんなどうやってるの?

488 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 12:37:27.45 ID:6Dv7eyM4]
>>486
そのファイルの意味する所が不明ですけど、
一般的に、設定ファイルや記録ファイルとしてテキストファイルを使う。
例えば、画面の大きさ設定などをファイルに記録しておき
次に起動した時にそれを使うように。
また、ゲームの最高得点を記録として残して一覧表として
表示されるように、ファイルに記録して残したりする。
このファイルの操作は、C言語のファイルの取扱で解説してある
ので、C言語の教科書を読んでみてください。

489 名前:名前は開発中のものです。 [2013/12/26(木) 14:47:36.42 ID:hUAF7K9V]
コンフィグファイルがconfファイルなの?
それだけが知りたいです。

490 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 15:23:27.36 ID:YzzOhDal]
流れ知らないけどconfファイルとか個人的に気持ち悪いからcfgにするわな

491 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 16:24:18.30 ID:ZMschiXc]
なぜ構ってしまうのか

492 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 16:40:43.47 ID:o1nZNR82]
>>489
お前が決めたんならそうだよ。
つまり製品によって違うってだけ。好きにしろよ。マジで。



493 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 17:54:42.12 ID:NW8oapoe]
>>489
バカだろお前

494 名前:名前は開発中のものです。 [2013/12/26(木) 18:11:59.76 ID:2u/e5+2P]
学校の課題で「リサージュ図形プログラム」てでたんだけどナニコレ

495 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 19:25:10.38 ID:w6BxfUND]
>>494
何故この板のこのスレで質問しようと思った?

496 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 20:28:26.67 ID:lVR90Y11]
そういう髪型があるんだよ

497 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 23:05:28.06 ID:HxPOzWOf]
キャラクターのパラメータデータってプログラム内の定数として直書きする?
それとも外部ファイルから読み込む?
その場合はどんな拡張子にする?

498 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 23:22:07.48 ID:PC8hDA8a]
どうせ最終的にアーカイブするんだから拡張子とか関係ないだろ?

499 名前:名前は開発中のものです。 mailto:sage [2013/12/26(木) 23:42:20.52 ID:fCfxjEwL]
>>497
キャラクターのAIを外部ファイル(dll)にするのは手間が掛かるから
簡単な数値設定も含めて基本的に直に書いてる。

500 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 09:41:40.37 ID:othLuvJF]
外部ファイル。バランス調整でコンパイルするのめんどい。
拡張子はdatとか適当。

501 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 11:13:51.69 ID:n1oY/10v]
俺も外部ファイルにしてる。自分仕様のアーカイブに固めてるけど。

502 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 11:30:05.53 ID:NnhvuRa/]
プログラム内の定数でいいよ
その必要性がわかるようになった時に外部ファイルに出せばいい

外部ファイルを使うってのは
自分でフォーマットを決めて格納して
プログラム外で編集とか自力でやるという前提だよ



503 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 12:04:03.70 ID:7chRzBy0]
直でいいよね
ツール作ってて、それで編集するときだけだな外部は

504 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 12:50:15.11 ID:n1oY/10v]
簡単な内容とか小さい内容とか、あるいは初心者で意味がわからないとかなら、コード上に直接並べてもいいと思う。
いずれにしても理由あって手段を決めるだけなので。

505 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 12:52:38.55 ID:7chRzBy0]
ところで髪を半透明テクスチャで表現したいんだけど、メッシュ透明度をMV1SetMeshOpacityRateで上げればテクスチャ残したまま板ポリ消えるかな?

506 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 17:04:48.94 ID:KNd0z8Kk]
自分も外部ファイル作って、大量のデータをそこから読んで
好きな形で表示できるようにしてる

独自形式でもファイル読み込みさえ出来れば
データ追加が楽になる

507 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 19:19:56.75 ID:RI0IXlJk]
ステージクリア型のミニゲームで、
最初からゲームに含まれているステージは内部データ(配列として直書き)、
エディットモードで作成されたステージや、追加ステージ配信なんかは外部ファイルにしたことがある。

なんでそんな面倒な作りにしちゃったのか10年前の俺…

508 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 21:05:50.26 ID:qR2PkovD]
別に面倒そうな作りとは思えんが……。

俺は直書きだな。
外部ファイルにする技術と根性がなかったのが主な要因だけど
ステージ切り替えなどのたびにいちいち読み込んでテンポ壊さずに済んだのはむしろ良かった。

509 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 22:51:31.10 ID:VZhm7cNP]
キャラクター固有のアクションとか持たせ用とした時、じゃあキャラクターごとにクラス作るか
って話になってそうするとこの外部ファイルはこのクラス、っていう分岐処理が必要になって
そもそもなんで外部ファイルに値を書いておくのがわからなくなる

510 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 23:03:43.17 ID:RcX+Zbl3]
かなり安定するまで直のほうがいい。
トップダウンで最初からファイルフォーマットとか決めても
あとで変更する手間が増える。

511 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 23:13:15.24 ID:x+/UZ836]
DXアーカイブのパスワードについてなんだけどみんなどんな風にコーディングしてる?
俺のはぶっちゃけ隠すようなもんじゃないしガチガチじゃなくてもいいんだけど、
プレイヤーのモチベのための最低限のブロックは必要かなぁって思ってるんだよね。

・キーワード(文字列@)→ハッシュ化(文字列A)
 文字列Aで暗号化、文字列Aをコーディング

これくらいでいいのかな?それとも

・キーワード(文字列@)→ハッシュ化(文字列A)→ハッシュ化(文字列B)
 文字列Bで暗号化、文字列Aとハッシュ関数をコーディング

これくらいやるのかな?

512 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 23:19:10.45 ID:7chRzBy0]
だーれも答えてくれねぇ…



513 名前:名前は開発中のものです。 mailto:sage [2013/12/27(金) 23:19:34.53 ID:VZhm7cNP]
スレチかもしれないけどゲームの設計で
1.キャラクター共通のデータを持つ定数クラス(最大HPとか経験値テーブルとか)
↓基礎パラメータに固有パラメータを加減算する(ポケモンでいう努力値)
2.そのキャラクター固有のパラメータを持つクラス(Lvとかフィジカルボーナスとか)

3.実際に動くキャラクタークラス(当たり判定とかダメージ処理がある)

って感じで分けてるんだけど、合ってる(問題ない)?

3を作成する時に、if文連打でインスタンス作るクラスを線形探索する必要があるから・・・

class one_character_record{
const int CHARACTER_ID;
const int HP,MP,SP;
//レベルが上がるに連れてHPMPSPをかけてく
const float HP_RATE,MP_RATE,SP_RATE;

//コンストラクタで初期化
};
class one_character_datebase{
vector<one_character_record> character_list;
};

class two_character_info{
int character_id;
int level;

three_character_entity create_character(){
ここでif連打してクラスを線形探索してしまう
}
};

514 名前:名前は開発中のものです。 mailto:sage [2013/12/28(土) 01:01:40.20 ID:uGS4rdij]
>>513
横だけど、線形探索が嫌なの?それともif連打が嫌なの?

線形探索はListをSetかMapにすればOK。
その場合、キャラID外出しのMapの方がラクそう。Setはめんどいと思う。

if連打の方はその例だとよくわからないんだけど、
「あるステージに登場する敵一覧」みたいなのは、
コーディングでも外部ファイルでも、どっかに作っておかない無理なんじゃない?
そうは言っても、struct Tuple{int id, lv;}みたいな構造体のリストが
あれば十分でif文は使わないと思うよ?

515 名前:名前は開発中のものです。 mailto:sage [2013/12/28(土) 01:35:07.42 ID:os0Do0OO]
struct Data { int hp, atk, def; };

class ActorType {
Data type; // 種族の初期値
Data lv; // レベル上がったら
};

class Yusya : ActorType {}
class Mahotukai : ActorType {}
class ZakoSlime : ActorType {}
class BossGoblin : ActorType {}

class Actor {
ActorType* pType;
Data max; // 最大( const にできないけど )
Data now; // 現在
}

後はActorのインスタンスに値を渡すなり、Actorを更に継承するとかで。

516 名前:515 mailto:sage [2013/12/28(土) 01:59:56.67 ID:os0Do0OO]
>>513
説明不足かもしれんから補足

Data が 1。ActorTypeが 2。Actorが 3。
if文連打ってたぶん自分がどの種族かって話だと思うけど
ActorにActorTypeを継承した勇者とかゴブリンのポインタを渡しておけばOK

517 名前:名前は開発中のものです。 mailto:sage [2013/12/28(土) 02:05:22.92 ID:os0Do0OO]
>>511
複数回暗号化したらゲーム側で復号できるの?
DXライブラリのFile Read APIだとキーワードひとつしか使えないと思うけど。

518 名前:名前は開発中のものです。 mailto:sage [2013/12/28(土) 08:15:51.01 ID:w2FghHnt]
サブクラスのコンストラクタの関数ポインタって、スーパークラスのコンストラクタポインタ変数に代入できる?

if文使うより綺麗にはなりそう

enum e_kind{yusya,mahou,size};

class yusya:unit{
public yusya();
}

class mahou:unit{
public mahou();
}

//あとユニットクラスのコンストラクタの関数ポインタ配列にyusya,mahouをいれて
配列のインデックスに列挙体の定数入れて呼び出す
戻り値はunit


って感じのできたらいいんだけど、
結局配列に関数ポインタいれるのてが気になるんだよなぁesp

519 名前:名前は開発中のものです。 mailto:sage [2013/12/28(土) 10:14:16.10 ID:nxegrboe]
>>518
とりあえずコンストラクタの関数ポインタはC++の言語仕様上捕れない。
なので、配列に関数ポインタ入れてコンストラクタを動的に切り替えたい場合は、
オブジェクトを生成するのstaticメンバ関数を定義するのが定石。

codepad.org/AG21ETE1

520 名前:名前は開発中のものです。 mailto:sage [2013/12/28(土) 11:57:17.21 ID:os0Do0OO]
相変わらず質問の日本語がひどいな。
const変数の初期化をしたいのかな?
仮想関数の継承はどうだ?

class Unit {
const int HP, ATK, DEF;

Unit(){
HP = getHP();
ATK = getAttack();
DEF = getDefence();
}

// 純粋仮想関数
virtual int getHP() = 0;
virtual int getAttack() = 0;
virtual int getDefence() = 0;

};

class Yusya : Unit {
virtual int getHP(){ return 100; }
virtual int getAttack(){ return 20; }
virtual int getDefence() { return 40; }
};

521 名前:名前は開発中のものです。 mailto:sage [2013/12/29(日) 01:29:49.14 ID:BhN6KG/p]
>>511
パスを暗号化なんてナンセンス
パス文字列を数字にして、プログラム側では数字を文字列に変換する文字列を通して渡すだけでいい
実行ファイルからパス文字列を特定するのは簡単でも、たった数バイトの数値データを特定するのは難しいからな

522 名前:名前は開発中のものです。 mailto:sage [2013/12/29(日) 11:59:45.32 ID:d2x6Ostz]
>>513は礼も言わずに去ったか



523 名前:名前は開発中のものです。 mailto:sage [2013/12/29(日) 17:46:51.79 ID:wzfWyjoW]
コミケ勢かもしれないしこの時期は気長に待てよ

524 名前:名前は開発中のものです。 mailto:sage [2013/12/29(日) 18:23:59.02 ID:4BNWk9QG]
>>521
おおなるほどね、たしかにint_64なら8バイトだが
それをそのまま文字列化すれば18文字くらいになるのか






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

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

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