1 名前:名前は開発中のものです。 mailto:sage [2013/06/30(日) 23:57:05.06 ID:j62MvD3e] Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、 「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 homepage2.nifty.com/natupaji/DxLib/ 【関連スレ】 C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/ ゲームプログラムなら俺に聞け(プログラム技術板) toro.2ch.net/test/read.cgi/tech/1366526476/ ●DXライブラリではなくDirectXの質問ならこっちへ 【C++】DirectX初心者質問スレ【C】(プログラム技術板) toro.2ch.net/test/read.cgi/tech/1370015791/
2 名前:名前は開発中のものです。 mailto:sage [2013/06/30(日) 23:57:43.41 ID:j62MvD3e] 【前スレ】 DXライブラリ 総合スレッド その15 toro.2ch.net/test/read.cgi/gamedev/1364900066/ 【過去スレ】 01 pc11.2ch.net/test/read.cgi/gamedev/1197468399/ 02 pc11.2ch.net/test/read.cgi/gamedev/1224923873/ 03 pc11.2ch.net/test/read.cgi/gamedev/1238429676/ 04 pc11.2ch.net/test/read.cgi/gamedev/1249822550/ 05 pc11.2ch.net/test/read.cgi/gamedev/1259912953/ 06 hibari.2ch.net/test/read.cgi/gamedev/1267108154/ 07 hibari.2ch.net/test/read.cgi/gamedev/1286180687/ 08 hibari.2ch.net/test/read.cgi/gamedev/1301818631/ 09 hibari.2ch.net/test/read.cgi/gamedev/1310904069/ 10 hibari.2ch.net/test/read.cgi/gamedev/1313655495/ 11 toro.2ch.net/test/read.cgi/gamedev/1322844235/ 12 toro.2ch.net/test/read.cgi/gamedev/1330000532/ 13 toro.2ch.net/test/read.cgi/gamedev/1339368894/ 14 toro.2ch.net/test/read.cgi/gamedev/1350618178/
3 名前:名前は開発中のものです。 mailto:sage [2013/07/01(月) 00:02:55.23 ID:+3YeETHh] >>1 乙 すまないけどもう一度 モデルの手足とかのフレーム位置ってどうやって設定するんですか? MV1SetMatrixで設定しても足元の位置を取得してるみたいです モデルが悪いのかモーションが悪いのか… デフォルトで付いてるモデルを見るとちゃんと手とかのフレームごとに座標がセットされてるなぁ
4 名前:名前は開発中のものです。 mailto:sage [2013/07/01(月) 00:06:42.89 ID:j62MvD3e] C/C++ゲーム製作総合スレッド Part3 toro.2ch.net/test/read.cgi/gamedev/1337516528/ ごめん、ここだけ更新確認するの忘れてた… あと、改行おおすぎって怒られたから分けてみた
5 名前:名前は開発中のものです。 mailto:sage [2013/07/01(月) 12:11:30.81 ID:uf9a8men] 前スレの984だけど >>985 1を避けるのが無理となったら毎フレームVertexやIndexに代入して渡す以上、 それはただのDrawPolygonIndexed3Dと変わらないしボトルネックになってる代入処理も負荷軽減すら出来ない 1が出来ないなら実装は諦めるしか無いんだよね せめて前フレームまでに生成されたパーティクルは触らず、今フレームで生成されたパーティクルのデータだけを追加することでも出来れば大きな力になるんだけど 2は別のセマンティクスを無理やり利用するとしても 管理人さん曰くfloat3がpos、norm、tan、binorm、float4がsposらしいからとても理想通りには足りない これが実現できないなら単純な動きの数稼ぎのパーティクルを個別に新しく作るって方法もあるけど出来れば理想通り実装できるように試行錯誤したい 頂点数を6つから描画に使わない頂点を増やして、シェーダ中で別の頂点から参照するみたいなことってできないよね 以前に2年ほど市販のゲームのバイナリをひたすら弄ってた事があるんだけど そのゲームのパーティクルがこれぐらいは拡張性に富んでたんだよね ちゃんと内部メモリ書き換えたら思い通りにエフェクトも書き換えれたし先に挙げたパラのどれを書き換えてもフリーズとかは起こらなかった 当時はハードが非力で思い通りの事はできなかったけど今時のPCならやりたい放題だから思う存分パーティクル使ったエフェクトを作りたいんだ
6 名前:名前は開発中のものです。 [2013/07/03(水) 15:30:44.47 ID:UI8e9E/d] 久しぶりに新しいバージョン出てたんだな
7 名前:名前は開発中のものです。 mailto:sage [2013/07/04(木) 12:25:29.97 ID:VvE/Zlks] なんか過疎過ぎない? >>3 亀だけど手足とかのフレーム位置を取得したいのか それとも回転とか並進移動してフレームの位置を設定したいのか どっちにしてもMV1SetMatrixは関係なくね? 前者ならMV1GetFramePositionとか後者ならアニメーション関数かMV1SetFrameUserLocalMatrixあたりが出てきそうなもんだけど とか言って初心者が話題作りに口出ししてみる
8 名前:名前は開発中のものです。 mailto:sage [2013/07/04(木) 13:30:40.85 ID:crrvNibG] BGM流す処理で悩んでいるんだけど 現状専用の関数に(bgmname,loop)でtitleからパス渡して都度読み込ませてるんだけど 起動時なりにあらかじめ全部読み込ませて番号で指定したほうがスマートなのかな? 使用数は20曲程度を想定してるけど、メモリの占有とか考えるとどうなのかなーと 使用頻度の高いものだけ読み込ませるとか色々考えたけどなかなかどうするのが一番いいのか思いつかない
9 名前:名前は開発中のものです。 mailto:sage [2013/07/04(木) 13:54:26.25 ID:i01s1Y7Z] >>8 作っている物の設計次第じゃね つまり、ロードして再生でいいものと、オンメモリで即時切り替えしたい物って用途によってあるのがわかってると思うので、 この曲はこっち、これはこっちと分けて考える感じ 割りとノープランで作ってるときは全部同じ方法で統一したくなるけど、 実際に作るものが見えてる状態で設計するなら、自然と一次切り分けとしてそうなるかと
10 名前:名前は開発中のものです。 mailto:sage [2013/07/04(木) 16:16:29.34 ID:crrvNibG] >>9 やっぱりそうかぁ メモリどのくらい食うかとか調べてから決めることにするわさんくす
11 名前:名前は開発中のものです。 mailto:sage [2013/07/04(木) 21:18:29.78 ID:eMzLzLvI] でもストリーミングでディスクアクセスだけは絶対やりたくないな・・・ 圧縮済み曲データなら数MBですむし最低そこだけでもメモリには置いておきたい
12 名前:名前は開発中のものです。 mailto:sage [2013/07/04(木) 23:02:35.80 ID:bYjH9N0m] 俺は「NOW LOADING....」をやりたくなかったからストリーミングやったなぁ。 まぁそれでも一瞬止まるんだけど。
13 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 11:59:46.71 ID:NK+qilQ+] DXライブラリが原因で作ったゲームがPCによって起動するしないということってあるんですか? 現在作っているゲームを、 Windows 7 Home Premium 64bit *3台 Windows 7 Home Premium 32bit *2台 Windows 7 Home Professional 32bit *1台 Windows 8 64bit *1台 で動作確認をしたところ、Windows 7 Home Premium 64bit のうち1台だけがexe起動後のリソースのロード中に応答なしとなり、 タスクマネージャから強制終了させる必要が出てしまいます。windows updateも全て実行してあります。 同じプログラム環境(つまり同じDXライブラリのバージョン)でテストで作った同じ画像を読み込み、動かすプログラムは正常に動作します。 原因が何にあるのかがわからず、DXライブラリの可能性もあるので質問させていただきます。 どなたか心当たりがありましたら返答お願いします。
14 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 12:15:58.99 ID:E7AFsXVC] ログうpって貼るくらいはしようよ エスパーじゃないんだからさ
15 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 13:01:23.26 ID:sQV+cUjn] Windows Updateやってても DirectXが最新だとは限らない アプリ起動時にいきなりダメなんだったら DirectXとかグラボのドライバでも疑え
16 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 13:21:58.23 ID:Y41MaDA7] まず真っ先にそこだよな
17 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 13:30:11.30 ID:o07ozPmm] 質問させてください。フレーム制御についてなんですが、 五枚の画像をじゅんぐりに表示する(アニメさせる)のに自分はこう考えてます。 if(this->count % 5 == 0){画像1の描画処理} if(this->count % 5 == 1){画像2の描画処理} if(this->count % 5 == 2){画像3の描画処理} if(this->count % 5 == 3){画像4の描画処理} if(this->count % 5 == 4){画像5の描画処理} しかし、これではものすごいスピードのアニメになってしまいますよね? 一枚一枚の表示時間を長くしたいわけです。 で、自分はそうしたい場合、countを細分化してわざわざ同じ画像を振り分けています 例↓ if(this->count % 10 == 0){画像1の描画処理} if(this->count % 10 == 1){画像1の描画処理} if(this->count % 10 == 3){画像2の描画処理} if(this->count % 10 == 4){画像2の描画処理} …以下同じ要領で書き連ねる 賢い方ならわかると思いますが非常に非効率ですよね、、 どうやればスマートな命令になりますか? 知恵をお貸しください。
18 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 13:38:10.90 ID:k966eNGC] images[(this->count/2)%10-1].draw();
19 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 13:41:30.65 ID:nBoOA7vy] 画像[i]の描画処理; if ( frame_count %= 2 ) { //0:そのまま表示 1:画像更新 2:そのまま表示… i++; i %= 画像枚数; }
20 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 13:50:32.22 ID:o07ozPmm] >>18 え、すごくシンプルですね、、、ちょっと意味がわかりません countを2で割ったものを10で割った余りから1を引く、ということですか? その場合、表示時間は"/2"のところで考えるんですか? >>19 すみません、ちょっとわかりません フレームカウントを2で割った余りが0になるたびに、 iがインクリメントされて、、どういうことでしょうか? 画像枚数が5枚として、i%=5でどういう意味になるのでしょうか
21 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 13:54:11.68 ID:nBoOA7vy] >>20 え、まさかそういう返しが来るとは思ってなかったんだけど… 配列って知ってる?
22 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 13:57:34.13 ID:o07ozPmm] >>21 もちろん知ってます 配列の添え字を動かしてるんですよね? ただ、そこの値の変化が見えません
23 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 14:01:44.15 ID:o07ozPmm] 多分算数が弱いんです、(count/2)%10-1←これは値が 0、1,2,3、、、と変化するんですよね? −1は0からの添え字に合わすために引いてる。 そういうのはわかるんですよ。 でも、それではものすごいスピードなのは自分が書いたものと 変わりがないような気がするんで、、、、 値の変化をもう少し解説して頂けませんか?
24 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 14:06:03.95 ID:o07ozPmm] >>21 あ、人を違えました、すみません。 (でも言いたいことは同じなんですけど、、) 値の動きがわかりません。 if ( frame_count %= 2 ) { i++; i %= 画像枚数; } if文の中は、「countを2で割って、余りが2になる場合」でよろしいですよね? で、そのたびに、iをインクリメントする。 そのiを画像枚数で割って、その余りをiに加える?? 意図、値の変化、が見えません。。。
25 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 14:24:38.61 ID:6PcLzQCR] 単純に均等割りで頭に戻るループなら (count / コマウェイト) % アニメ枚数 だけでいいんじゃね
26 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 14:45:30.33 ID:Jwek2QMZ] ( this->count / a ) % 5 aは1以上の整数 でいいんじゃないのかな。配列はお好きに。
27 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 14:46:14.45 ID:Jwek2QMZ] ああ25さんがすでに言ってた。
28 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 15:56:38.99 ID:Y41MaDA7] もうちょっと真面目にやるとステップの進行に使う係数(/2の部分)を、実際のフレーム当たりの実経過時間から計算するよな
29 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 16:46:35.46 ID:6pY90Lwl] それ最近流行ってるってだけで別に「真面目に」とかつけなくていいからね
30 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 17:28:36.19 ID:Y41MaDA7] 最近流行ってるって何が
31 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 22:49:00.97 ID:VRSiUV+Z] 固定か可変かの違いでしか無くない?
32 名前:名前は開発中のものです。 mailto:sage [2013/07/05(金) 23:03:54.51 ID:Jwek2QMZ] ゲーム自体が可変(である事が普通)だから〜って事だろうか。
33 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 11:51:31.41 ID:TvHXVORu] >>17 では、こういうのを提案します。 ------------------------------- int i = 0; int a = 0; // Img.pngを6分割で読み込む LoadDivGraph("img\\Img.png", 6 , 2 , 3 , 100 , 100 , Img); while(ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0){ // 画像表示 DrawGraph( 100 , 120 , Img[a] , TRUE ); // アニメーションプログラム if (i<60){;} else if(i<62){a=1;} else if(i<64){a=2;} else if(i<66){a=3;} else if(i<68){a=4;} else if(i<70){a=5;} else if(i==70){i=0 , a=0;} i++; }
34 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 11:58:32.32 ID:TvHXVORu] この案は、画像1〜5の内容を1つのPNG形式のファイルに収めて それを配列で表示させることが大前提なのですが、 // アニメーションプログラム if (i<60){;} else if(i<62){a=1;} else if(i<64){a=2;} else if(i<66){a=3;} else if(i<68){a=4;} else if(i<70){a=5;} else if(i==70){i=0 , a=0;} アニメーションさせる速度は、この部分で調整しています。 i変数が60以下の時は何もしない 最初は配列の0を指定し、1つ目の配列には何も描かないでおく そしてi変数が60〜61(2フレーム)までの間 a変数に1を代入し続け2フレーム間、2つ目の配列画像を表示し続ける つまり、このプログラムは2フレーム間隔でアニメーションし続けることになります。
35 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 12:04:48.20 ID:TvHXVORu] // アニメーションプログラム if (i<60){;} else if(i<70){a=1;} else if(i<80){a=2;} else if(i<90){a=3;} else if(i<100){a=4;} else if(i<110){a=5;} else if(i==110){i=0 , a=0;} つまり、例えば、このようにすれば10フレーム間隔のアニメーションになります アニメーション速度の調節は どこで制御しているのか、大体、想像つくでしょうか? // アニメーションプログラム if (i<60){;} else if(i<160){a=1;} else if(i<260){a=2;} else if(i<360){a=3;} else if(i<460){a=4;} else if(i<560){a=5;} else if(i==560){i=0 , a=0;} こうすれば100フレーム間隔の遅いアニメーションになります
36 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 12:10:52.33 ID:TvHXVORu] ああ、Img変数の宣言をしておくことをお忘れなく ---------------------------- int Img; // Img変数の宣言 int i = 0; int a = 0; // Img.pngを6分割で読み込む LoadDivGraph("img\\Img.png", 6 , 2 , 3 , 100 , 100 , Img); while(ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0){ // 画像表示 DrawGraph( 100 , 120 , Img[a] , TRUE ); // アニメーションプログラム if (i<60){;} else if(i<62){a=1;} else if(i<64){a=2;} else if(i<66){a=3;} else if(i<68){a=4;} else if(i<70){a=5;} else if(i==70){i=0 , a=0;} i++; }
37 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 12:19:33.38 ID:AeXNZZqZ] 1回分の画像表示ごとにScreenFlipの前後にカウント挟めばいいだけでは? カウント5になったら表示させるようにすれば 単純に5倍の表示時間増大になるはず 初期値にi=0;してから if(i==0){ //iは適当 表示ルーチン } ScreenFlip(); i++; if(i>5)i=0;
38 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 12:29:38.99 ID:6iFG2U1A] まーたJet++じゃないだろうな
39 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 12:34:37.27 ID:K/eQcKgB] かずきくんには触れないでおいて
40 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 12:57:38.29 ID:6iFG2U1A] >>37 これがシンプルでいいかなとは思ったけど これって1種類の画像表示ごとに表画面に反映させるの? それじゃ裏画面に描画してる意味合いが薄れないだろうか 的外れならスマン
41 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 12:58:59.53 ID:1xgoa0KH] if( Time % IntervalTime == IntervalTime - 1 ){ ImageFlame++; if( ImageFlame >= MAX_FLAME ){ ImageFlame = 0; } }
42 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 13:01:44.66 ID:1xgoa0KH] ミスって途中で書き込みしてしまったすまん。 if( Time % IntervalTime == IntervalTime - 1 ){ ImageFlame++; if( ImageFlame >= MAX_FLAME ){ ImageFlame = 0; } } Image[ImageFlame].draw(); Time++;
43 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 13:11:42.44 ID:AeXNZZqZ] >>17 で1枚ごとの表示時間を長くしたいってあったから 37のように書いてみただけなので、 それより効率の(もしくは目的に合った)いいソースがあれば それを使ってもらえればいいです (ScreenFlipならマイクロ秒じゃなく約60分の1秒単位での表示処理なので 見た目的にも効果があると判断しました)
44 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 13:54:46.97 ID:IzFaHD6I] ちょっと複雑なパターンにするなら ・画像ハンドル ・画像を表示する時間 ・次のパターンへのポインタ(NULLなら停止なり消去なり) をクラス/構造体に突っ込んでおいて、 条件ごとに起点となるパターンを呼び出す……とかどうかな? まあ、最終的には外部ファイル最強なんだろうけども。
45 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 15:49:24.03 ID:vfXXCUJm] スクリプト言語最強!!
46 名前:名前は開発中のものです。 mailto:sage [2013/07/06(土) 15:55:40.22 ID:+/CoJmSY] スクリプト言語を動かすためのインターフェースなり土台なり作ろうとすれば これと同じような(下手するともっと複雑な)ものを作る必要がある件
47 名前:名前は開発中のものです。 mailto:sage [2013/07/10(水) 22:10:01.72 ID:hFi49aB+] 相対パスから絶対パス取得したいんですけどどなたか分かる方いませんか?
48 名前:名前は開発中のものです。 mailto:sage [2013/07/10(水) 22:17:55.02 ID:qhalMkf2] >>47 OSから渡される起動時引数からカレントディレクトリ取得してそこから相対とか、 そういう基礎的な話か
49 名前:名前は開発中のものです。 mailto:sage [2013/07/10(水) 22:29:24.40 ID:hFi49aB+] >>48 すみません、strcatの存在すっかり忘れてました… ありがとうございます
50 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 16:13:46.33 ID:hTzpp10w] おい…誰だよノベルゲーは簡単とか言ったやつは… 商用エロゲ作ってるが、3ヶ月毎日フルタイムでコーディングしても、まだ終わりが見えないんだが…
51 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 16:17:29.40 ID:nVvWJgzk] 誰が言ったそんなんw
52 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 17:35:14.71 ID:1boaEOr8] DXライブラリでノベルゲエンジン作ってるのか。奇特な事でw フリーの使えばいいのに。
53 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 17:40:00.91 ID:zRBu2bed] 3ヶ月フルタイムで終わりが見えないとかどう考えても頭悪いだけだろ そもそもNScripterとか吉里吉里使わない時点で頭悪い
54 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 18:45:47.08 ID:hTzpp10w] 奇特なことやってるのは分かってるが、いくつもミニゲーム組み込んだりしてると DXライブラリ使って作ったほうがやりやすいんだよ… 吉里吉里のライブラリ流用してるし、このやり方が悪いとは思わんのだがな…
55 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 18:47:07.52 ID:p2DfNmFs] その書き込みこそ頭悪そう。 商業ならフリー使わない理由はいろいろあるだろう。
56 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 18:47:46.00 ID:p2DfNmFs] 54じゃなくて53宛ね
57 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 19:37:11.86 ID:TWfYB7Vz] 作ったことがない奴はノベルゲーと馬鹿にするが 0から自分で作ると結構難しいぞ ミニゲームもあるならなおさらキリキリとか使えないし
58 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 19:47:16.12 ID:yD2puQqu] 単純に画像表示してテキスト表示して、 選択肢によって場面移動、それを繰り返す、ってだけなら 飯食いながらサンプルとして書ける程度の内容だけど、 もしも難しいと言ってる奴が、暗黙の内に独自の内蔵スクリプトとそのインタプリタ含めた汎用ゲームエンジンみたいな物前提で話してたら、 確かに大変かも試練
59 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 19:53:41.20 ID:zRBu2bed] ・ノベルゲー作るの大変すぎ ・ノベルゲー+その他ゲーム集作るの大変すぎ この二つじゃまったく話が違ってくるだろ
60 名前:57 mailto:sage [2013/07/13(土) 21:19:54.00 ID:TWfYB7Vz] 少なくとも (1) 汎用パーサーを利用して俺スクリプトの解析 (2) アニメーション システム (3) シーン(レベル)の保存とロード (4) 統一されたキー入力を伝達する仕組み (5) 装飾をつけたテキストの表示 (6) データの暗号化と永続的なファイルへの保存 (7) デバッグの為の変数表示機能 (8) コリジョンの検出および距離の計算 (9) 物理エンジンとの連携 いくらでもあるわ。経験者でないなら三ヶ月でできる量ではない
61 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 21:26:08.22 ID:wd3Q/jHw] だれもそこは否定してないのになんでそんなに必死なの? 53 もスクリプトツール使えって言ってるだけで 否定してるわけじゃないでしょうに。
62 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 22:16:10.65 ID:LUqGCTWw] 作った事も無い人間が知ったかぶったあげくに他人を頭悪い呼ばわりしてればそりゃバカにされるよ。
63 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 22:32:51.37 ID:wd3Q/jHw] 馬鹿にしてるヤツも居ないようだが。
64 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 22:48:55.17 ID:Wh+py0kB] 文字列だけのローグライクもなかなか難しいんだぜ
65 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 23:21:43.11 ID:yD2puQqu] >>60 ノベルゲーを作る場合の話じゃなくなってる気がするが
66 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 23:26:32.64 ID:ywADsX8N] ホントお前らって下を見つけて叩く事しかできないんだな 技術的な事言ってる訳じゃないし、がんばれとかチラシの裏にでも書いてろで終わる話じゃん
67 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 23:30:07.12 ID:H9N77kIs] プログラムやってるやつってすぐ「頭悪い」って言ってくる印象あるけどなw
68 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 23:34:19.07 ID:yD2puQqu] 会話上でも仕掛け上でも、そこに問題があった時整理や切り分けして話を絞っていく、 みたいな頭の働かせ方するのが慣れたプログラマの本能だったりするけど、 その辺で意志疎通出来にくい相手とか見ると、思わず頭悪いなぁとか言っちゃう人いるかも試練
69 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 23:40:31.10 ID:KqbQiyOs] パソコンを使いこなすことに優越感を感じやすいタイプの人間が IT業界にやってくるわけだからな 使いこなせない奴を見て嬉しくなるタイプの人間しかいないよ
70 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 23:54:03.78 ID:LilF81Tl] いいから吉里吉里使えよ
71 名前:名前は開発中のものです。 [2013/07/14(日) 14:45:20.38 ID:+UK5RTjg] 説明しにくいんですが、継承クラス作るときの書き方みたいに クラスの宣言内のコンストラクタに クラス名(int,int):クラス内のメンバ変数名(引数),クラス内のメンバ変数名(引数) みたいに書いてるのをたまに見かけます。 トレースしたいんだけど、コンストラクタに:をつけて変数ならべるのは どういう意味ですか?
72 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 15:07:47.10 ID:/QtoVkR/] メンバ変数の初期化 ああいう記法なのはまったく理解できんけどな
73 名前:名前は開発中のものです。 [2013/07/14(日) 15:16:53.31 ID:+UK5RTjg] 、、初期化ですか? クラスのコンストラクタの定義の中で済ませば良いのに、、 コンストラクタの宣言の横で初期化してるってことですか? 処理はまったく同じですよね? 本人の好みの問題なだけですかね?
74 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 15:21:33.15 ID:83nWya90] const ついてるメンバ変数だとその記法でしか初期化できなかったような あと基底クラスの引数付コンストラクタ呼ぶときとか
75 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 15:28:34.54 ID:JsjE2TLy] 参照変数(&)もそうかな
76 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 16:19:52.90 ID:tBW3km87] デフォルトコンストラクタ持ってないクラスがメンバな時とか初期化構文でないと駄目な場合は割とある あとふつうの変数でも代入と初期化は本来別物だから 処理が全く同じになるかというとコンパイラ次第なんじゃないか
77 名前:名前は開発中のものです。 [2013/07/14(日) 16:45:35.38 ID:+UK5RTjg] そのコンストラクタの横に羅列したメンバ変数にはconstはついて無いです。 気になるのは、そこに羅列したメンバ変数には メンバ関数のごとく引数がついてるってこと。 まあその引数の値で初期化されると想像出来ますが、、 なぜ、わざわざそんなやり方を?? 単刀直入に言いますと コンストラクタ(int x,int y):変数A(y),変数B(x){} と コンストラクタ(int x,int y){変数A=y;変数B=x;} の違いってなんですか? ということです。 ちなみに、前者のソースみたく書いてるは プロフェッショナルな方なんですよ。
78 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 16:56:34.29 ID:83nWya90] それは作者の好みじゃね・・・
79 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 16:56:55.88 ID:XaubjkQU] 初期化リストだっけ? 俺は何気なくだけど前者使ってるわ 大体0とかで初期化するだけだけど
80 名前:名前は開発中のものです。 [2013/07/14(日) 17:04:38.47 ID:+UK5RTjg] やっぱただの好み、というか作者の癖、なんですかね べつにそれならそれでいいんです。 自分には聞いたことも見たことも無い書き方 だったんで戸惑いました。
81 名前:名前は開発中のものです。 [2013/07/14(日) 17:05:53.41 ID:+UK5RTjg] レス下さった皆さま ありがとうございました。
82 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 17:33:35.13 ID:/QtoVkR/] ちょっとその変な書き方のほうが高速とかいう噂を聞いたことがあるな 本当かはしらない
83 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 20:05:50.67 ID:tBW3km87] >>77 前者は初期化で後者は代入 わざわざそんなやり方、というよりも前者の方がC++本来のクラス変数の初期化の文法 後者でも単純な変数なら同じ結果が得られるだけ
84 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 22:34:26.03 ID:5JkpjM3e] >>77 前者は初期化だけど、後者はどう見てもコピーで別物に見えるけど
85 名前:名前は開発中のものです。 mailto:sage [2013/07/15(月) 17:36:41.91 ID:Un3rMRLz] 参照をメンバに持つ場合とか 初期化リストでないと代入できないんじゃなかったっけ
86 名前:名前は開発中のものです。 mailto:sage [2013/07/15(月) 17:45:51.63 ID:ikbmv1v3] >>85 そらそうだ
87 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 01:21:51.44 ID:416SfEwn] 前者は初期化 Var x=n;と同じ 後者は代入 Var x; x=n; tと同じ Varが参照だったりconstだったり引数なしコンストラクタを持っていない場合は前者を使わざる負えない あと、例えばstd::stringなんかだと引数なしコンストラクタの場合適当に15ぐらいの領域を勝手に確保するって噂を聞いたことがあるから 初期化のほうが適当じゃない分いい
88 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 08:44:28.14 ID:DavWjYNX] ”使わざるを得ない”な。
89 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 11:11:54.85 ID:ayl4cQjp] JavaとかC#しか基本的に知らず、C++をぼやっとしか知らない人だと混同するよな 初期化リストにしろ、代入(コピー)にしろ、それらとコピーコンストラクタやオペレータオーバロードの関係とか
90 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 13:29:52.51 ID:Hqm1WmEM] マリオみたいなゲーム作ってるんですが ファイアーボールみたいな動きする計算が出来ません。 参考になるような解説されたサイトやブログもまったくないです。 やはり、物理演算も入ってるでしょうし その辺のプログラマには再現出来ない難しい軌道なのでしょうか? それとも簡単すぎて、誰も解説をしていない状態なのでしょうか?
91 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 13:37:53.02 ID:7blhp/X0] 慣性と重力と地面とのバウンドだけでファイアーボールになるよ
92 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 13:39:22.47 ID:ayl4cQjp] >>90 その辺のプログラマって括りがおかしいが、 まず先にテストで、画面の任意の位置をクリックしたら玉が現れて、下に向かって落ちていき、 一番下についたら跳ね返る、その移動量が段々減衰していくってだけのテストプログラム作ってみ 数学的にも大した計算いらない。 てかこれ、DXライブラリって言うより単純なアルゴリズムの話。 うちの新卒一年目でも昼休みにさらっと書くレベルの話。
93 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 13:42:19.83 ID:GmMQZD9J] 数学っていうか。算数でできるレベル
94 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 13:43:03.62 ID:+XM2aF/e] プログラミングには直接役に立たないけど高校物理やり直したほうがいいと思う
95 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 13:54:18.03 ID:Hqm1WmEM] >>92 いや、実はまさにそれくらいを再現するプログラムは見よう見まねで作ったんですが たったそれだけの動きを再現するのにえらい長いプログラムになってまして、、 上手い人はもっと短いのだろうと。参考にしたいな、と。なのにどこにも無い、と。 そういう流れす。 さらっと書くレベルの話、とは言えませんね、これは。 、、、たとえば、あなたなら何行使いますか?(常識的なインデントで)
96 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 13:57:37.53 ID:+XM2aF/e] やった処理と行数を要約して伝えようよ 曖昧にする意味がわからん
97 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 14:01:18.27 ID:kK2L2xoh] >>92 がわかりやすく書いてるのにソースがないとわからないって奴は全部コピペで作るつもりか なんとかしてソース引き出そうとしてるし浅ましい
98 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 14:08:33.16 ID:7blhp/X0] 慣性に1〜2行 重力に1行 当たり判定に5〜7行くらい?がんばれよ
99 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 14:44:08.43 ID:nroTpBI+] 10行とか嘘こけよ
100 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 15:22:08.46 ID:ayl4cQjp] >>95 > さらっと書くレベルの話、とは言えませんね、これは。 なんでわからなくて質問してるお前の基準で「違いますね、これは」とか言えちゃうのよ。 いやさらっと書くレベルの話だよ
101 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 15:30:51.56 ID:hzTbXOyu] 大学生がやってるのか小学生がやってるのかで使うべき言葉も変わってくるよね 年齢書いとくと知ってるであろう知識で教えられるとかあるかもしれんな DXライブラリは利用者の幅が広いからなあ
102 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 15:38:48.40 ID:QAiAMGmg] ぶっちゃけ、元祖スーパーマリオは足し算と引き算ぐらいしか使ってないし、わりとどうでもいいし、それで誰も文句言ったりしない。 たぶんね!
103 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 16:27:00.37 ID:1hVtm7c/] ファミコンで物理演算とか、ないだろ……。 いや無理とは言わんが、スーマリ程度のゲームでそんなのやらんだろ。
104 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 16:45:11.64 ID:+XM2aF/e] 位置を表すのに速度と加速度の考え方が用いられていて あとはめり込み判定ができてれば、2Dゲームとしては物理シミュと呼べる プリミティブな要件を満たすと思うけど? というか「物理演算」という言葉のスコープが大きすぎ。2D力学か運動表現と言おう
105 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 16:59:32.44 ID:27OHMvBc] x += vx; // 等加速 y += vy; vy += gravity; // 重力加速 物理っちゃ物理
106 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 17:22:58.91 ID:8KAYlLb2] ・算数がわからない ・ググれない ・質問してるのに上から目線 例の小学6年生だろうからもうスルーしとけ
107 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 18:03:38.08 ID:K551o1n+] 35歳の小6か!!
108 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 18:30:10.00 ID:Hqm1WmEM] >>102 え、それほんとですか? てきとーに言ってるのなら 明らかに当時のプログラマへの侮辱ですよ? ファイヤーボールは明らかに地面で跳ねながら飛んでいきます。 いわば、トランポリン状態です。 あれを物理演算使わないであそこまで違和感なしに出来ますか? 出来もしないのに言うな >>105 そういうことですよね? やっぱそれらを使ってますよね? あのファイヤーボールは
109 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 18:37:39.32 ID:oQmF0F+y] 105は、102の言うところの加減算のみで表現した例に見えるのだが…
110 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 19:23:17.16 ID:UEWWNyYt] ハルクのような超無敵主人公のアクション3Dゲームを開発するとします 主人公ハルクが高いところから飛び降りた時に 高さに応じて落下速度を上げる物体落下のプログラミングを DXライブラリを使って構築する場合 何を重点に式を組めばいいでしょうか? 重力計算の問題です 1.落下時間に応じて速度を増していく 2.地面までの距離(y軸)に応じて速度を増していく 3.物体の重さに応じて速度を増す あと、落下速度に応じて地面に着地した時に 地面がひび割れたり揺らしたりもしてみたい
111 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 19:28:07.70 ID:cTJjZDRJ] オイラー法
112 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 19:28:29.21 ID:mLye0j0h] 古いマリオのゲームなんてスーパーマリオランドしか知らんが あの場合は演算も糞も無く等速でx方向に進んで上下に振動するだけだったけどなあ そんなもんでも良かったら物理の知識も要らないんじゃないの
113 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 19:59:56.47 ID:y2xAflWs] 言っておくがお前らが思ってるよりスーパーマリオを作るのは難しいぞw
114 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 20:02:52.90 ID:d5+33Qmv] 実際のマリオのプログラムでは演算なんかしてなくて テーブルで変化量を持ってるだけだと思う 最近の3DSのマリオとかだったらdoubleの計算とか三角関数やベクトル辺りもガンガン使ってるだろうけど
115 名前:110 mailto:sage [2013/07/16(火) 20:07:00.71 ID:UEWWNyYt] 質問してから気付いたのですが 重力計算には空気抵抗とかも必要だと思う y軸に面する面積が広ければ広いほど落下速度が減速する 面積が狭いと落下速度が加速 スカイダイビングをイメージすれば 両手両足を広げれば落下速度が減速 両手両足を閉じれば落下速度が加速 さらに体を斜めに傾けると、さらに落下速度が加速する
116 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 20:32:15.53 ID:UEWWNyYt] >>92 それは正しい物理計算とは言わない 玉が地面に面する体積と重力と風力と重さで 落下速度や上昇速度や上昇距離を計算していないと思う 落下物を別の大きさの玉に変えたり 別の形状の物体に変えても同じバウンドの実行結果になってしまう そんなものなら数学的な計算を使わないのは当然
117 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 20:32:54.92 ID:Hqm1WmEM] >>113 の言う通りなんですよ。 >>112 >>114 >上下に振動するだけ >テーブルで変化量を持ってるだけだと思う そこまで単純じゃないんですよ 忘れてるんでしょうから、目で確認してみてくださいよ www.youtube.com/watch?v=2QfkfFyURf8#t=0m24s
118 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 20:41:12.17 ID:xomIDF4E] あら、減衰とかなかったか なら凄く単純な話じゃないか?入射角とか求める必要すらないんじゃないの? なんか常に一定っぽいんだが
119 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 20:44:15.86 ID:d5+33Qmv] テーブルでやってるから計算で再現しようとすると難しいんだと思うな
120 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 20:48:47.99 ID:QAiAMGmg] ああ・・・これはw一応貼っとく ∧_∧ ガラガラ( ^^ ) <これからも僕を応援して下さいね(^^ =〔~∪ ̄ ̄〕 = □――◇ Kazuki
121 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 20:49:36.71 ID:A+V7NwsU] スーパーマリオもどきはJAVAの実装がソース付きでなかったけ?
122 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 20:57:33.75 ID:8KAYlLb2] だらだらと憶測で物言ってるやつらは無知すぎ 正解は>>114 これゲーム開発者の間では常識中の常識 もうこの話はもう終わりね 二度と小学6年生に触れるなよ
123 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:01:07.63 ID:C/+zvXFU] >>117 8bitCPUは掛け算や割り算なんかないよ。
124 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:13:06.73 ID:d5+33Qmv] 分かったらGNESでマリオを1フレームずつ動作させて座標の変化量を調べるんだ
125 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:16:39.28 ID:C/+zvXFU] >>121 昔、マリオを逆アセンブルしてC++で実装した奴を公開していた奴はいたな。
126 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:20:42.42 ID:C/+zvXFU] www.vector.co.jp/soft/winnt/game/se347402.html まだ、あったわ。 ソースも付いてるから勉強すればいいよ。
127 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:36:58.53 ID:TkKjOA5G] ファイアーボールじゃないけど、スーマリのジャンプで難しいのは 空中で左右に動けることとジャンプボタン押す長さでジャンプの高さが変わる事だと思う。 まぁ、それでもちょっと難しい程度だけど。
128 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 22:08:32.10 ID:d5+33Qmv] 難しいのは斜面
129 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 22:13:54.06 ID:5Xnek7aO] >ジャンプボタン押す長さでジャンプの高さが変わる 言われてみたらこれって何気にすごいんだなと思った ジャンプした瞬間の初速(最低の高さ)があるとして ジャンプしてから数十フレームくらいの間だけ、上への加速度をプラスするって感じなのかな? 30フレくらいかと思ったけど、びみょ〜に落下までの速度も制御できる気がするから60フレくらい?
130 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 22:19:27.46 ID:5Xnek7aO] 上への加速度をプラスする → 重力加速度を弱める って意味ね >>129 言われたらそっちのほうがすごかったわw 斜面はFCマリオ3からだったかな? しっかり歩行速度にも影響あって、滑ったりできるのは確かにすごい
131 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 22:56:42.97 ID:TkKjOA5G] ちなみに、俺はスーパーじゃなくて初代マリオブラザーズの ジャンプして上の床を叩いたとき、床がぐにゃりって曲がるのも凄いと思ってるw あれマップチップだよな……? いや一時的にスプライトに変えてるって手法もありか……?
132 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 23:03:03.85 ID:5Xnek7aO] >>131 うわ、そういやそれもすげぇな・・・ 確かあれは、バグった状態(FC独特の半刺し状態とか)では まったく別の絵柄が見えるから、特定のチップを表示してるのかな というかあのバグった状態のままで動くFCそのもののほうがすごいかw
133 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 23:41:23.33 ID:y2xAflWs] マリオで一番難しいのはジャンプしてブロックに1/3ぐらい当たったときの くぃっという動作だと思う
134 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 23:48:49.62 ID:nroTpBI+] ほれ、これで実行してみろって簡単に作った スーパーマリオのジャンプとファイヤボールを打つのを実装した オブジェクトのソース貼り付ける天才はいないのか?
135 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 00:05:32.61 ID:poq3qMku] >>134 もうちょっとましな煽り入れろよ
136 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 01:03:45.46 ID:3HiHJAFh] >>134 Haskellで書いたソースでも良ければ。 そのままじゃ使えないと思うけど。
137 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 01:49:07.95 ID:Udo1cKyL] 今時Haskellは脅しにならんなw J言語とでも言っておけ
138 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 07:12:53.82 ID:OzdlVej3] >>131 BGとスプライトの併用じゃなかったかなあ、あれ
139 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 09:32:33.05 ID:+vpWyki7] >>126 ソース見てるんだが、 これ、ファイヤーボールの弾の軌道書いてんのどこ?
140 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 10:33:17.00 ID:4ylv1rI4] 玉のソースでしょ
141 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 10:33:40.74 ID:+vpWyki7] まあ、そんなの探してくれる親切な人はいないか。 じゃあ質問変えるね。 DXライブラリの描画可能領域セットメソッドあるじゃない? SetDrawArea(); これって、領域外にある画像は描画しないってものだけど、 それはまさに「描画処理が無効化されている」、 つまり領域外に出た画像の描画分のメモリは食わなくなる、ということで良いのかな? だとしたら、これはそうとう便利なメソッドだと思うんだけど。
142 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 10:37:35.58 ID:4ylv1rI4] しらんけど。 描画しないだけで、メモリには書いてんじゃねーの?
143 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 10:46:12.74 ID:4ylv1rI4] 書き忘れた CBullet::Adjust
144 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 10:46:35.21 ID:+vpWyki7] >>142 じゃあ、 見えないだけで描画処理はされてるってこと? じゃあ見えなくても沢山表示命令を出してたら重くなるんだ? 、、、ってか、知らんのか あんたまで知らないならただの推測による水掛け論になるやん、、、
145 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 10:47:55.01 ID:+vpWyki7] >>143 >CBullet::Adjust なによ、それ。
146 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 11:01:30.83 ID:3HiHJAFh] ソース見てないけど、そのクラスとメンバがいるって話じゃないの?
147 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 11:07:39.87 ID:+vpWyki7] >>143 ああ、、すまん、、、探してくれたんだな ありがとう。 でも、CBullet::Adjustて、それなりに長いソースだけど、 これ全部がファイヤーボールのプログラムなん??
148 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 11:16:44.10 ID:4ylv1rI4] ここで説明できるほど単純でもないからあとはソースを読んでくれとしかいえん data\BulletInit.txt に玉のパラメータが書かれている。 読みこんでるのはApp2.cppの // ファイアーボールデータ読み込み。 void CApp::PlayerBulletInit(char *filename, char *imagename, BulletData *bullet, CBullet *ball) こいつ
149 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 12:25:50.92 ID:kpZcJ0Sq] >>141 dxlibのソース読んで見ないとわからないなぁ。 俺も推測でのレスで申し訳ないが、確かDirectXには ラスタライズ対象範囲を限定する機能があったはず。 もしdxlibがそれを使っていたなら ラスタライズ範囲が狭くなる分、処理は軽くなるけど メモリ使用量は変化しない。 結局画像は全体がVRAMに転送されるし、バックバッファのサイズも変化しないので。
150 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 19:02:27.21 ID:v0GAbqsX] 超巨大で超ぶっとい線を描画したら重くなるから やっぱり重くなるんだと思うよ
151 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 03:34:23.98 ID:hMnI35Wd] >>+vpWyki7 お前飽きっぽいなぁ何も作らんうちにコロコロやる事変えてたんじゃ何も出来ないままでしょ ttp://blog.livedoor.jp/winpg/
152 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 04:02:26.55 ID:s1Ws3Cie] 今度は何処の素材パクったんだろう
153 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 04:42:27.70 ID:BHHQFBlf] >>151 また直ぐに投げ出すんだろうな。w
154 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 12:11:33.79 ID:04yaioY9] 例のヤツについての話は専スレでやれ
155 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 13:18:50.84 ID: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分しか考えてない適当なのだけどこんなのでいいだろどうせ あとはボールの楕円画像を自転でもさせるぐらいか 自分で考える楽しみ()とか言っちゃうならこんなとこに来ずにこれぐらい自分でやれよ まあ円形弾幕で一つ一つ座標を三角関数も使わずに手打ち指定しちゃう奴に言っても無駄かもしれんが
156 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 16:45:23.87 ID:s1Ws3Cie] 口調変わってないよ ゲームを崇拝してる所がそのまんまKazuki KazukiAAが出たら妄想解いて疑おう 騙される人間は推理した事が無いから騙されるわけで、それを知ってるからKazukiは湧き続ける
157 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 18:23:57.50 ID:o3u0GTiW] まあバレバレの自演と連投で察しはついてたけど 単芝であそこまでされたら釣りか別の真性かと思った
158 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 10:31:25.78 ID:nmMQpud5] FCマリオ1程度ならサクッと作れそうだが、こういうのは素材がなぁ 素材があれば1週間もかからない気がする
159 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 13:49:15.48 ID:FVW2K7jj] FCマリオ1程度の素材ならそれほど時間はかからんと思うが。
160 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 17:20:26.19 ID:GpeLB3bo] 32ステージ分のマップと敵の配置のデータを作るだけで1週間じゃ無理だと思うが
161 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 17:25:55.10 ID:+SSEepdc] どうでもいいことだとは思うけど、 マリオのステージは1/3くらいデータの使い回しされてたり(似たような別面) 敵の配置はクリボー×3とかでグループ化してあったりして容量削減がんばってる 「ここから先の床の高さ」とかそういうデータを埋め込んだりして実際のマップそのものは実行時に生成してる すごいね
162 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 17:48:52.56 ID:Ob+Zn2mg] 誰から聞いたのw
163 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 17:50:30.75 ID:3y5EbjLj] 雲と草が一緒の画像とかはよく聞く
164 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 18:14:58.64 ID:eUWUT4lX] DXライブラリ 総合スレッド その16
165 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 18:59:08.80 ID:ExCGSRAn] DXライブラリってゲーム作るには機能足りなすぎじゃね
166 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 19:02:59.81 ID:Ob+Zn2mg] C++版誰か作ってくれよ
167 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 20:17:03.69 ID:3bPsLAoC] >>160 スーパーマリオの話だったのか。 そりゃ確かに面倒だな。
168 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 20:25:40.03 ID:0AjeLszX] 機能そのものはdirectxSDKの時点で足りてるよ!
169 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 09:07:53.74 ID:LdkNNEKh] >>165 例えば?
170 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 09:24:52.77 ID:IM02LFGg] >>169 Ogre3Dと比べると描画の機能は全然ないぞ シーングラフとかは3Dゲームで必須だし 参照カウンターによるリソース管理 パーティクル 拡張したマテリアル(テクスチャスクロールとか) まあDXライブラリはDitrctXの薄いラッパでしかないからいいんじゃない? 必要だと思えば自分で実装してもいいんだし
171 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 09:53:57.63 ID:BrTtyz7d] DXlibはゲームライブラリじゃなくてマルチメディアライブラリだから(震え声)
172 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 10:30:54.42 ID:KkhWYzJ6] シーングラフ レイキャスト コリジョン検出 アニメーション リソースマネージャー 最低これぐらいは欲しいな。 こんなの個人で再実装する価値はないので 共通基板として使いやすいライブラリを整備して欲しいわ
173 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 10:38:25.74 ID:Mz7t6BiK] >>172 > こんなの個人で再実装する価値はないので ん。ライブラリにあったら便利なのは同意だが、こういう言い方で切って捨てようとする人って、 大抵自分で具体的なロジックが書けず、実装出来ないまま開き直ってる人だ。 書けない自分は何も悪くない、くれない奴が悪い、みたいに。
174 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 10:47:42.53 ID:BBBPUbUN] というかむしろ詳しそうだし補助ライブラリ作って公開してほしいな
175 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 10:53:11.64 ID:IM02LFGg] >>174 素直にゲームエンジンや他のライブラリ使えよ
176 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 10:59:46.13 ID:Mz7t6BiK] 多分無理だと思うぜ。何故なら普通は実際に書くと 「汎用性の前提があった上で、どこまでを処理単位の属性にすべきで、どこを決め打ちの固定仕様にするべきか」 って言う設計レベルでジレンマがやってきて、 それはそのライブラリ使って作れる物の制限を生むので、自分が作りたい物によっては使いにくいライブラリになり得るから、 結局アプリケーションの要件次第では別に実装する事になるので、「個人で作る価値はない」なんて台詞は出るわけ無いんだよ。経験があるならば。 その辺がテキトーに見えるので、彼では書けない。 あと、自分の代わりに実装してくれる別の個人がいるって事も頭から抜け落ちてる時点で、ただの「言葉だけ知ってる失礼な人間」だ。
177 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 11:55:52.54 ID:KkhWYzJ6] 今さらドラクエレベルのゲームに要件次第とかないわー ワンダと虚像と塊魂が作れるライブラリならともかく、 ゲームなんて決まり切った処理の繰り返し
178 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 12:11:57.46 ID:STMPs5oo] >>177 > ワンダと虚像と塊魂が作れるライブラリならともかく えっ、DXライブラリだと作れないの?
179 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 12:12:31.82 ID:Mz7t6BiK] どこからドラクエレベルとかワンダとなんとかの話が出てきたんだよ知ったかぶり野郎
180 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 12:15:03.54 ID:4PGrqMWj] 上級者ヅラしてエラソーに他力本願でトンチンカンな批判をして、 その後に、じゃあお前が作って晒してみろって煽る流れとか、なんかKazuki臭い。
181 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 12:17:03.57 ID:8xMc8T1J] 117の書き込みはなんというか「口だけ達者な人間のセリフ」のお手本のようだ。
182 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 18:08:37.75 ID:FyWL1YGe] 3D接触処理って軽量化どうしてる? 球体の判定だけでも結構負荷かかりそうで 想定してるオブジェクト数は最大で24*32(768)個ぐらい 実際は半分ぐらいだと思う
183 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 19:33:54.64 ID:BBBPUbUN] 本当にそれだけだったらタダで間に合うよ
184 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 20:09:23.63 ID:nNVuwDHt] >>182 絶対に当たらない組み合わせを、あらかじめ弾いておくのが とりあえずのセオリーかしら?
185 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 20:42:51.29 ID:ckpg4k2+] KkhWYzJ6とMz7t6BiKが同一人物の自演さんか くっせぇスレになったもんだな
186 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 21:24:59.16 ID:ckzbXG2O] >>182 8分木空間分割でググるといい 俺はBulletPhysics使ってる
187 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 00:49:45.09 ID:mcze7PQd] >>186 めんどくさそうだけどビットで判断するあたり、早そう 円だけなら一次判定で、xyz座標それぞれの半径分近くなってないかとかで弾けそうかとおもえてきた
188 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 04:22:00.48 ID:F/7eBvxu] よくわからんけど >>177 は知ったかぶりさんということか そういうのはすごく恥ずかしいと思う まだ知らないなら知らないで押し通した方がいいと思う 知らないのにカッコ付けたいだけで わざわざ醜態を晒すとか恥ずかし過ぎる
189 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 12:53:50.91 ID:yj0nWf/n] >>185 Mz7t6BiK の方は俺だけど、どう見たら自演になるんだよ 「価値は無い」って言い切ってるのが、わかってる人間なら思わない不自然な台詞だから突っ込んだんだよ ちゃんと読み返せ
190 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 13:36:06.41 ID:xbeEJt/R] 傍で見てれば解るから気にするな。
191 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 21:09:33.70 ID:RawsS/YU] 自演祭りの会場と聞いて
192 名前:名前は開発中のものです。 mailto:sage [2013/07/24(水) 01:04:18.51 ID:9hIPTzbI] しょーもないな、お前ら…