DXライブラリ 総合スレッド その16
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2013/06/30(日) 23:57:05.06ID:j62MvD3e「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【関連スレ】
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
ゲームプログラムなら俺に聞け(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1366526476/
●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0078名前は開発中のものです。
2013/07/14(日) NY:AN:NY.ANID:83nWya900079名前は開発中のものです。
2013/07/14(日) NY:AN:NY.ANID:XaubjkQU俺は何気なくだけど前者使ってるわ
大体0とかで初期化するだけだけど
0080名前は開発中のものです。
2013/07/14(日) NY:AN:NY.ANID:+UK5RTjgべつにそれならそれでいいんです。
自分には聞いたことも見たことも無い書き方
だったんで戸惑いました。
0081名前は開発中のものです。
2013/07/14(日) NY:AN:NY.ANID:+UK5RTjgありがとうございました。
0082名前は開発中のものです。
2013/07/14(日) NY:AN:NY.ANID:/QtoVkR/本当かはしらない
0083名前は開発中のものです。
2013/07/14(日) NY:AN:NY.ANID:tBW3km87前者は初期化で後者は代入
わざわざそんなやり方、というよりも前者の方がC++本来のクラス変数の初期化の文法
後者でも単純な変数なら同じ結果が得られるだけ
0084名前は開発中のものです。
2013/07/14(日) NY:AN:NY.ANID:5JkpjM3e前者は初期化だけど、後者はどう見てもコピーで別物に見えるけど
0085名前は開発中のものです。
2013/07/15(月) NY:AN:NY.ANID:Un3rMRLz初期化リストでないと代入できないんじゃなかったっけ
0086名前は開発中のものです。
2013/07/15(月) NY:AN:NY.ANID:ikbmv1v3そらそうだ
0087名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:416SfEwnVar x=n;と同じ
後者は代入
Var x;
x=n;
tと同じ
Varが参照だったりconstだったり引数なしコンストラクタを持っていない場合は前者を使わざる負えない
あと、例えばstd::stringなんかだと引数なしコンストラクタの場合適当に15ぐらいの領域を勝手に確保するって噂を聞いたことがあるから
初期化のほうが適当じゃない分いい
0088名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:DavWjYNX0089名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:ayl4cQjp初期化リストにしろ、代入(コピー)にしろ、それらとコピーコンストラクタやオペレータオーバロードの関係とか
0090名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:Hqm1WmEMファイアーボールみたいな動きする計算が出来ません。
参考になるような解説されたサイトやブログもまったくないです。
やはり、物理演算も入ってるでしょうし
その辺のプログラマには再現出来ない難しい軌道なのでしょうか?
それとも簡単すぎて、誰も解説をしていない状態なのでしょうか?
0091名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:7blhp/X00092名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:ayl4cQjpその辺のプログラマって括りがおかしいが、
まず先にテストで、画面の任意の位置をクリックしたら玉が現れて、下に向かって落ちていき、
一番下についたら跳ね返る、その移動量が段々減衰していくってだけのテストプログラム作ってみ
数学的にも大した計算いらない。
てかこれ、DXライブラリって言うより単純なアルゴリズムの話。
うちの新卒一年目でも昼休みにさらっと書くレベルの話。
0093名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:GmMQZD9J0094名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:+XM2aF/e0095名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:Hqm1WmEMいや、実はまさにそれくらいを再現するプログラムは見よう見まねで作ったんですが
たったそれだけの動きを再現するのにえらい長いプログラムになってまして、、
上手い人はもっと短いのだろうと。参考にしたいな、と。なのにどこにも無い、と。
そういう流れす。
さらっと書くレベルの話、とは言えませんね、これは。
、、、たとえば、あなたなら何行使いますか?(常識的なインデントで)
0096名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:+XM2aF/e曖昧にする意味がわからん
0097名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:kK2L2xohなんとかしてソース引き出そうとしてるし浅ましい
0098名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:7blhp/X00099名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:nroTpBI+0100名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:ayl4cQjp> さらっと書くレベルの話、とは言えませんね、これは。
なんでわからなくて質問してるお前の基準で「違いますね、これは」とか言えちゃうのよ。
いやさらっと書くレベルの話だよ
0101名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:hzTbXOyu年齢書いとくと知ってるであろう知識で教えられるとかあるかもしれんな
DXライブラリは利用者の幅が広いからなあ
0102名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:QAiAMGmgたぶんね!
0103名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:1hVtm7c/いや無理とは言わんが、スーマリ程度のゲームでそんなのやらんだろ。
0104名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:+XM2aF/eあとはめり込み判定ができてれば、2Dゲームとしては物理シミュと呼べる
プリミティブな要件を満たすと思うけど?
というか「物理演算」という言葉のスコープが大きすぎ。2D力学か運動表現と言おう
0105名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:27OHMvBcy += vy; vy += gravity; // 重力加速
物理っちゃ物理
0106名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:8KAYlLb2・ググれない
・質問してるのに上から目線
例の小学6年生だろうからもうスルーしとけ
0107名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:K551o1n+0108名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:Hqm1WmEMえ、それほんとですか?
てきとーに言ってるのなら
明らかに当時のプログラマへの侮辱ですよ?
ファイヤーボールは明らかに地面で跳ねながら飛んでいきます。
いわば、トランポリン状態です。
あれを物理演算使わないであそこまで違和感なしに出来ますか?
出来もしないのに言うな
>>105
そういうことですよね?
やっぱそれらを使ってますよね?
あのファイヤーボールは
0109名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:oQmF0F+y0110名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:UEWWNyYt主人公ハルクが高いところから飛び降りた時に
高さに応じて落下速度を上げる物体落下のプログラミングを
DXライブラリを使って構築する場合
何を重点に式を組めばいいでしょうか?
重力計算の問題です
1.落下時間に応じて速度を増していく
2.地面までの距離(y軸)に応じて速度を増していく
3.物体の重さに応じて速度を増す
あと、落下速度に応じて地面に着地した時に
地面がひび割れたり揺らしたりもしてみたい
0111名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:cTJjZDRJ0112名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:mLye0j0hあの場合は演算も糞も無く等速でx方向に進んで上下に振動するだけだったけどなあ
そんなもんでも良かったら物理の知識も要らないんじゃないの
0113名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:y2xAflWs0114名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:d5+33Qmvテーブルで変化量を持ってるだけだと思う
最近の3DSのマリオとかだったらdoubleの計算とか三角関数やベクトル辺りもガンガン使ってるだろうけど
0115110
2013/07/16(火) NY:AN:NY.ANID:UEWWNyYt重力計算には空気抵抗とかも必要だと思う
y軸に面する面積が広ければ広いほど落下速度が減速する
面積が狭いと落下速度が加速
スカイダイビングをイメージすれば
両手両足を広げれば落下速度が減速
両手両足を閉じれば落下速度が加速
さらに体を斜めに傾けると、さらに落下速度が加速する
0116名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:UEWWNyYtそれは正しい物理計算とは言わない
玉が地面に面する体積と重力と風力と重さで
落下速度や上昇速度や上昇距離を計算していないと思う
落下物を別の大きさの玉に変えたり
別の形状の物体に変えても同じバウンドの実行結果になってしまう
そんなものなら数学的な計算を使わないのは当然
0117名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:Hqm1WmEM>>112>>114
>上下に振動するだけ
>テーブルで変化量を持ってるだけだと思う
そこまで単純じゃないんですよ
忘れてるんでしょうから、目で確認してみてくださいよ
http://www.youtube.com/watch?v=2QfkfFyURf8#t=0m24s
0118名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:xomIDF4Eなら凄く単純な話じゃないか?入射角とか求める必要すらないんじゃないの?
なんか常に一定っぽいんだが
0119名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:d5+33Qmv0120名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:QAiAMGmg∧_∧
ガラガラ( ^^ ) <これからも僕を応援して下さいね(^^
=〔~∪ ̄ ̄〕
= □――◇ Kazuki
0121名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:A+V7NwsU0122名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:8KAYlLb2正解は>>114
これゲーム開発者の間では常識中の常識
もうこの話はもう終わりね
二度と小学6年生に触れるなよ
0123名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:C/+zvXFU8bitCPUは掛け算や割り算なんかないよ。
0124名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:d5+33Qmv0125名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:C/+zvXFU昔、マリオを逆アセンブルしてC++で実装した奴を公開していた奴はいたな。
0126名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:C/+zvXFUまだ、あったわ。
ソースも付いてるから勉強すればいいよ。
0127名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:TkKjOA5G空中で左右に動けることとジャンプボタン押す長さでジャンプの高さが変わる事だと思う。
まぁ、それでもちょっと難しい程度だけど。
0128名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:d5+33Qmv0129名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:5Xnek7aO言われてみたらこれって何気にすごいんだなと思った
ジャンプした瞬間の初速(最低の高さ)があるとして
ジャンプしてから数十フレームくらいの間だけ、上への加速度をプラスするって感じなのかな?
30フレくらいかと思ったけど、びみょ〜に落下までの速度も制御できる気がするから60フレくらい?
0130名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:5Xnek7aO>>129
言われたらそっちのほうがすごかったわw
斜面はFCマリオ3からだったかな?
しっかり歩行速度にも影響あって、滑ったりできるのは確かにすごい
0131名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:TkKjOA5Gジャンプして上の床を叩いたとき、床がぐにゃりって曲がるのも凄いと思ってるw
あれマップチップだよな……? いや一時的にスプライトに変えてるって手法もありか……?
0132名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:5Xnek7aOうわ、そういやそれもすげぇな・・・
確かあれは、バグった状態(FC独特の半刺し状態とか)では
まったく別の絵柄が見えるから、特定のチップを表示してるのかな
というかあのバグった状態のままで動くFCそのもののほうがすごいかw
0133名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:y2xAflWsくぃっという動作だと思う
0134名前は開発中のものです。
2013/07/16(火) NY:AN:NY.ANID:nroTpBI+スーパーマリオのジャンプとファイヤボールを打つのを実装した
オブジェクトのソース貼り付ける天才はいないのか?
0135名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:poq3qMkuもうちょっとましな煽り入れろよ
0136名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:3HiHJAFhHaskellで書いたソースでも良ければ。
そのままじゃ使えないと思うけど。
0137名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:Udo1cKyLJ言語とでも言っておけ
0138名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:OzdlVej3BGとスプライトの併用じゃなかったかなあ、あれ
0139名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:+vpWyki7ソース見てるんだが、
これ、ファイヤーボールの弾の軌道書いてんのどこ?
0140名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:4ylv1rI40141名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:+vpWyki7じゃあ質問変えるね。
DXライブラリの描画可能領域セットメソッドあるじゃない?
SetDrawArea();
これって、領域外にある画像は描画しないってものだけど、
それはまさに「描画処理が無効化されている」、
つまり領域外に出た画像の描画分のメモリは食わなくなる、ということで良いのかな?
だとしたら、これはそうとう便利なメソッドだと思うんだけど。
0142名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:4ylv1rI4描画しないだけで、メモリには書いてんじゃねーの?
0143名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:4ylv1rI4CBullet::Adjust
0144名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:+vpWyki7じゃあ、
見えないだけで描画処理はされてるってこと?
じゃあ見えなくても沢山表示命令を出してたら重くなるんだ?
、、、ってか、知らんのか
あんたまで知らないならただの推測による水掛け論になるやん、、、
0145名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:+vpWyki7>CBullet::Adjust
なによ、それ。
0146名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:3HiHJAFh0147名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:+vpWyki7ああ、、すまん、、、探してくれたんだな
ありがとう。
でも、CBullet::Adjustて、それなりに長いソースだけど、
これ全部がファイヤーボールのプログラムなん??
0148名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:4ylv1rI4data\BulletInit.txt に玉のパラメータが書かれている。
読みこんでるのはApp2.cppの
// ファイアーボールデータ読み込み。
void CApp::PlayerBulletInit(char *filename, char *imagename, BulletData *bullet, CBullet *ball)
こいつ
0149名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:kpZcJ0Sqdxlibのソース読んで見ないとわからないなぁ。
俺も推測でのレスで申し訳ないが、確かDirectXには
ラスタライズ対象範囲を限定する機能があったはず。
もしdxlibがそれを使っていたなら
ラスタライズ範囲が狭くなる分、処理は軽くなるけど
メモリ使用量は変化しない。
結局画像は全体がVRAMに転送されるし、バックバッファのサイズも変化しないので。
0150名前は開発中のものです。
2013/07/17(水) NY:AN:NY.ANID:v0GAbqsXやっぱり重くなるんだと思うよ
0151名前は開発中のものです。
2013/07/19(金) NY:AN:NY.ANID:hMnI35Wdお前飽きっぽいなぁ何も作らんうちにコロコロやる事変えてたんじゃ何も出来ないままでしょ
ttp://blog.livedoor.jp/winpg/
0152名前は開発中のものです。
2013/07/19(金) NY:AN:NY.ANID:s1Ws3Cie0153名前は開発中のものです。
2013/07/19(金) NY:AN:NY.ANID:BHHQFBlfまた直ぐに投げ出すんだろうな。w
0154名前は開発中のものです。
2013/07/19(金) NY:AN:NY.ANID:04yaioY90155名前は開発中のものです。
2013/07/19(金) NY:AN:NY.ANID:o3u0GTiW思わず別人の小学生が増えたかと思ったわ
こいつ素材だけは速いと思ったらいつもパクってるのかよ
ファイアボールなんて速度減衰も跳ね返り減衰も無いし平気でバウンドしながら階段登っちゃうし
Vy += Ay(等加速)
if(Vy>=Vmax)
{Vy=Vmax}
elseif(Vy<=-Vmax)
{Vy=-Vmax}
if(y方向接触)
{Vy=Vmax}(上向き)
if(x方向接触)
{消滅}
座標更新
x += Vx(等速)
y += Vy
Vxの正負はキャラの向きで大きさVx、Vyは-Vmaxで初期化、Ayは常に負(下向き)
VxとVmaxとAyのパラメータだけ調整
5分しか考えてない適当なのだけどこんなのでいいだろどうせ
あとはボールの楕円画像を自転でもさせるぐらいか
自分で考える楽しみ()とか言っちゃうならこんなとこに来ずにこれぐらい自分でやれよ
まあ円形弾幕で一つ一つ座標を三角関数も使わずに手打ち指定しちゃう奴に言っても無駄かもしれんが
0156名前は開発中のものです。
2013/07/19(金) NY:AN:NY.ANID:s1Ws3Cieゲームを崇拝してる所がそのまんまKazuki
KazukiAAが出たら妄想解いて疑おう
騙される人間は推理した事が無いから騙されるわけで、それを知ってるからKazukiは湧き続ける
0157名前は開発中のものです。
2013/07/19(金) NY:AN:NY.ANID:o3u0GTiW単芝であそこまでされたら釣りか別の真性かと思った
0158名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:nmMQpud5素材があれば1週間もかからない気がする
0159名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:FVW2K7jj0160名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:GpeLB3bo0161名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:+SSEepdcマリオのステージは1/3くらいデータの使い回しされてたり(似たような別面)
敵の配置はクリボー×3とかでグループ化してあったりして容量削減がんばってる
「ここから先の床の高さ」とかそういうデータを埋め込んだりして実際のマップそのものは実行時に生成してる
すごいね
0162名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:Ob+Zn2mg0163名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:3y5EbjLj0164名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:eUWUT4lX0165名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:ExCGSRAn0166名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:Ob+Zn2mg0167名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:3bPsLAoCスーパーマリオの話だったのか。
そりゃ確かに面倒だな。
0168名前は開発中のものです。
2013/07/20(土) NY:AN:NY.ANID:0AjeLszX0169名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:LdkNNEKh例えば?
0170名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:IM02LFGgOgre3Dと比べると描画の機能は全然ないぞ
シーングラフとかは3Dゲームで必須だし
参照カウンターによるリソース管理
パーティクル
拡張したマテリアル(テクスチャスクロールとか)
まあDXライブラリはDitrctXの薄いラッパでしかないからいいんじゃない?
必要だと思えば自分で実装してもいいんだし
0171名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:BrTtyz7d0172名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:KkhWYzJ6レイキャスト
コリジョン検出
アニメーション
リソースマネージャー
最低これぐらいは欲しいな。
こんなの個人で再実装する価値はないので
共通基板として使いやすいライブラリを整備して欲しいわ
0173名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:Mz7t6BiK> こんなの個人で再実装する価値はないので
ん。ライブラリにあったら便利なのは同意だが、こういう言い方で切って捨てようとする人って、
大抵自分で具体的なロジックが書けず、実装出来ないまま開き直ってる人だ。
書けない自分は何も悪くない、くれない奴が悪い、みたいに。
0174名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:BBBPUbUN0175名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:IM02LFGg素直にゲームエンジンや他のライブラリ使えよ
0176名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:Mz7t6BiK「汎用性の前提があった上で、どこまでを処理単位の属性にすべきで、どこを決め打ちの固定仕様にするべきか」
って言う設計レベルでジレンマがやってきて、
それはそのライブラリ使って作れる物の制限を生むので、自分が作りたい物によっては使いにくいライブラリになり得るから、
結局アプリケーションの要件次第では別に実装する事になるので、「個人で作る価値はない」なんて台詞は出るわけ無いんだよ。経験があるならば。
その辺がテキトーに見えるので、彼では書けない。
あと、自分の代わりに実装してくれる別の個人がいるって事も頭から抜け落ちてる時点で、ただの「言葉だけ知ってる失礼な人間」だ。
0177名前は開発中のものです。
2013/07/22(月) NY:AN:NY.ANID:KkhWYzJ6ワンダと虚像と塊魂が作れるライブラリならともかく、
ゲームなんて決まり切った処理の繰り返し
■ このスレッドは過去ログ倉庫に格納されています