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

このエントリーをはてなブックマークに追加
1名前は開発中のものです。
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

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

【前スレ】
DXライブラリ 総合スレッド その13
http://toro.2ch.net/test/read.cgi/gamedev/1339368894/

【過去スレ】
01 http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
02 http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
03 http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
04 http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
05 http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
06 http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
07 http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
08 http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
09 http://hibari.2ch.net/test/read.cgi/gamedev/1310904069/
10 http://hibari.2ch.net/test/read.cgi/gamedev/1313655495/
11 http://toro.2ch.net/test/read.cgi/gamedev/1322844235/
12http://toro.2ch.net/test/read.cgi/gamedev/1330000532/

【関連スレ】
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
2名前は開発中のものです。:2012/10/20(土) 19:44:54.41 ID:wuoFipa7
>>1
スレ立て乙
3名前は開発中のものです。:2012/10/20(土) 20:19:07.31 ID:TgudGYNB
>>1
4名前は開発中のものです。:2012/10/20(土) 22:28:26.49 ID:f89lgu4y
DrawGraphとかにある引数のTransFlagってデフォルトでTRUEに設定しておいて欲しいよね
自分でヘッダ書き換えろって話なんだけど
5名前は開発中のものです。:2012/10/21(日) 01:20:13.06 ID:5xGx82jq
デフォルト引数設定するだけやん
6名前は開発中のものです。:2012/10/21(日) 10:53:09.54 ID:VgVyyYQT
ラップ関数作ればいいやん
7名前は開発中のものです。:2012/10/21(日) 17:41:03.21 ID:fR9B1EWl
おまえら天才だな
8名前は開発中のものです。:2012/10/28(日) 13:29:03.41 ID:fbxEwpRy
C#でDxLib使ってるんだけど

親ファイル

├Main.cs
├Game.cs
└graph
  └graph.bmp

class Main{
    static void Main() {
        DX.ChangeWindowMode(DX.TRUE);
        DX.DxLib_Init();

        Game gm = new Game();
        gm.Main();


        DX.WaitKey();
        DX.DxLib_End();
        return;
}}

class Game{
    public void Main(){
        int graph = DX.LoadGraph("graph/graph.bmp");
        DX.DrawGraph(0,0,graph,DX.TRUE);
}}

graph:bmpが表示されないorz
パスの指定が間違ってんのかな……
9名前は開発中のものです。:2012/10/28(日) 13:35:34.83 ID:be+XbcKw
graphフォルダはexeファイルが作成されるフォルダ(dxlib.dllを入れるフォルダ)にないとだめ
10名前は開発中のものです。:2012/10/28(日) 15:32:51.66 ID:fbxEwpRy
>>9
できた!
dクス
11名前は開発中のものです。:2012/10/28(日) 19:03:57.82 ID:BMan9z/1
エラーチェックしないから…
12名前は開発中のものです。:2012/10/30(火) 10:24:42.65 ID:l5sKnitG
エラーで例外投げないC#とか意味ないな。
13名前は開発中のものです。:2012/10/30(火) 18:39:01.26 ID:6PlZvoHG
イミフ

拾えるぞ?
14名前は開発中のものです。:2012/11/03(土) 20:15:04.25 ID:MPi99ujn
マップ3Dの2Dアクションだけど、段差にくっ付きながらジャンプすると引っかかってジャンプしない
これ判定の仕方が悪いよね…
移動→本体座標ずらす→埋まってたら戻す、って当たり判定してるんだけど
仮の座標伸ばして本体座標を動かさないようにした方がいいかな
15名前は開発中のものです。:2012/11/04(日) 00:29:39.08 ID:tGjg6t73
>>14
真上、あるいは段差から離れる方向へのジャンプなら問題ない?
16名前は開発中のものです。:2012/11/04(日) 01:51:30.27 ID:X8B1kDix
真上とかは問題ないですね
キャラは2Dでマップ3Dだから当たり判定に線引いてみたら左右に移動してる時は当たり判定ずれてる…
17名前は開発中のものです。:2012/11/06(火) 00:26:39.72 ID:33aP3UWk
SetChangeScreenModeGraphicsSystemResetFlag()なんて関数があったのね…
わざわざグラフィックハンドルを自前で管理して
ウィンドウモード切替時にロードし直すように実装した後に知ったぜ…
つか関数名なげーよw
18名前は開発中のものです。:2012/11/07(水) 01:05:46.09 ID:WpkERH/p
バグ見つけたぜ
対応してもらえるかな?
19名前は開発中のものです。:2012/11/07(水) 01:08:57.42 ID:qWOOTSqW
バグかどうか怪しい、あるいは環境依存かもしれないと思った場合は
一度ここに最小コードを晒してみても良いのよ。
20名前は開発中のものです。:2012/11/07(水) 11:35:40.40 ID:WpkERH/p
よく考えてみたら正しい動きっぽい
21名前は開発中のものです。:2012/11/08(木) 14:11:47.68 ID:ZRu+0OPY
受け取った文字列(FileName)+数字(i)のpngファイルの画像ハンドルを
可能な限りvector配列に突っ込むって処理なんですが、
もっと綺麗に書ける気がするんですけど、どうしたらいいですか?

int tmpHandle = LoadGraph((FileName+"0"+".png").c_str(),0);
for(int i=1;-1==tmpHandle;i++){
HandleFrame.push_back(tmpHandle);

ostringstream oss;
oss << FileName << i << ".png";
tmpHandle=LoadGraph(oss.str().c_str(),0);
}
22名前は開発中のものです。:2012/11/08(木) 15:57:53.29 ID:zekuNjSm
>>17
リピートアフタミー!

セットチェンジスクリーンモデルグラフィックスリセットフラグ!!!
23名前は開発中のものです。:2012/11/08(木) 16:35:21.45 ID:7mLtHdGO
モデルちゃう、モードや
24名前は開発中のものです。:2012/11/09(金) 01:32:49.15 ID:n63NaICX
3Dアクションで大量のパーティクルをステータス与えて演算してDrawPolygonIndexed3Dで描画してるんだけど
ずっと1万エフェクトぐらいでfpsが5以下になるレベルまで落ちてたからいよいよグラボ載せようかと思ってたんだが
ふと描画無しで演算だけさせたら、それでも10ぐらいまで落ちるんだけどなにか仕様上の問題ってあったかな
CPUは4つのコアが均等に20%ぐらいの負荷がかかってる状態だから問題無いと思うんだけど
25名前は開発中のものです。:2012/11/09(金) 01:47:07.21 ID:o9281V2N
2コアユーザー切り捨てですか?
26名前は開発中のものです。:2012/11/09(金) 14:31:44.30 ID:4xNJHqjF
記憶を頼りに書いたけど実際ちゃんと測ったら2つ目のコアが50〜90%ぐらいで他は10〜30%ぐらいの負荷だった
演算の最適化と評判悪いけどマルチスレッドしか無いかな
あとグラボ載せたら描画関係の演算はGPUに行くからCPUの方は余裕できたりってするかな
27名前は開発中のものです。:2012/11/10(土) 00:03:11.03 ID:TKwz0d4m
>>21
書式
28名前は開発中のものです。:2012/11/10(土) 11:25:46.48 ID:kh6O9RiO
DXライブラリ初期化の前に設定ファイル(ユーザが前回のプレイで設定したコンフィグ)を読み込んで
指定された画面サイズで起動するのと、まずは320×240(デフォルト)で起動しておいて「起動中...」とか
メッセージを表示しつつ設定ファイルを読み込んでから画面サイズを自動で変更するのだと後者の方が
安全なのかな?自分がプレイヤーだった場合の視点だと起動時にまどろっこしいのは苦手だから悩む
29名前は開発中のものです。:2012/11/10(土) 12:23:35.06 ID:ovwu58bw
前者だろ。後者の目的が分からん。そんなゲームは見たことない。
30名前は開発中のものです。:2012/11/10(土) 12:37:47.24 ID:kh6O9RiO
>>29
Windowsみたいな起動ロゴ表示されたりプロンプトで起動準備するPCゲーは珍しくないでしょ?
DXライブラリなら特殊な知識を必要とせずにこれが擬似的に表現できると思ったんだけど
31名前は開発中のものです。:2012/11/10(土) 17:16:34.01 ID:ovwu58bw
>>30
珍しくないって例えば何てタイトル?
そんなゲームは少なくとも商業ゲームでは記憶にない。
そもそもそれをする理由がないし。

スプラッシュスクリーンはロードに時間のかかる重量級ソフトが
ユーザーに対して、フリーズとロードを区別できるようにするためのもの。
例えばPhotoshopやEclipseがそう。Windowsがこれら以上に重量級なのは言わずもがな。
32名前は開発中のものです。:2012/11/10(土) 20:38:55.50 ID:MaNESqv5
自分の知ってる洋ゲーだと、

起動ランチャーからPlayとOptionが選べて
Optionからウィンドウ・フルスクリーンまたは解像度の選択をすることで
Play時の画面が変わるタイプと、
とりあえずフルorウィンドウモードで起動させておいてゲーム内オプションから
画面モード、解像度が切り替わるタイプがあるね。

スプラッシュロゴを先に表示させてーって言うのはなくもない気がする。
確かあれは…アリスソフト
33名前は開発中のものです。:2012/11/11(日) 00:01:50.31 ID:ftt+7YV1
アリスソフトはスプラッシュスクリーンじゃなくねと思ったら古いのは一見そうだったな
でもあれはオプションでスキップできるからやっぱりスプラッシュスクリーンじゃないんじゃね
34名前は開発中のものです。:2012/11/11(日) 00:07:54.36 ID:FJ/BuQzh
そんな面倒なことするなら、さっさと起動してサークルロゴでも表示して、その隙に読み込むほうがマシ
35名前は開発中のものです。:2012/11/11(日) 00:25:39.48 ID:briCeBRn
つーか、あんなくだらない質問する人がスプラッシュスクリーンが必要になるほどのゲーム作ってるとは思えんw
36名前は開発中のものです。:2012/11/11(日) 00:44:26.75 ID:FJ/BuQzh
初心者だからこそ大量のデータを非効率的に読み込んで時間がかかるんだろ
データ量が多いゲーム=いいゲームってどこの小学生だよ
37名前は開発中のものです。:2012/11/11(日) 05:43:02.75 ID:Hm1wlo6/
>>32
ランチャーでオプションの設定、MODの切替とかできるゲームは腐るほどあるね
開発ブログのフィード表示したりとか

でも>>28が言ってるような、設定読むためにスプラッシュスクリーン表示するゲームってのは聞いたことないな
38名前は開発中のものです。:2012/11/11(日) 06:55:56.42 ID:Fz8S8jkx
初心者が初心者なりに試行錯誤しながら
ゲーム作っちゃいかんのか?
39名前は開発中のものです。:2012/11/11(日) 07:03:25.92 ID:WRJMXXw0
前に自分がやったときは、
別途にGUIアプリを作っておき、そこからゲーム本体を起動する形にしてた。

GUIアプリはルートディレクトリに、ゲーム本体の方は下位ディレクトリに置くようにして、
ユーザには基本的に前者を起動させるようにする。

解像度とかの設定は、起動時に引数で渡すなり、iniファイルを経由するなり。
40名前は開発中のものです。:2012/11/11(日) 08:39:59.76 ID:FJ/BuQzh
わざわざ別アプリにしなくても、Windowsアプリケーションならゲームのexeに組み込めるけどね
ゲームのメインループに行く前にそのダイアログのプロシージャだけwhileで回しておけばいい
41名前は開発中のものです。:2012/11/11(日) 08:42:20.83 ID:L5JKQqt7
俺もDLLの数がかさんだ時やってるなあ
42名前は開発中のものです。:2012/11/11(日) 10:44:08.51 ID:uoIXRWNI
DXライブラリなら、ini読んで最初の描画するまで1秒とかからないよね
前者も後者も時間は変わらないと思うんだけど

最初の描画の前に、巨大なファイル読み込みをしてしまって時間かかってるなら、
それをやめて、最初の描画のあとで巨大なファイル読み込みすればいいと思う
43名前は開発中のものです。:2012/11/12(月) 21:21:49.93 ID:YFdCFH9b
3Dゲーム作ってるんだけど、キャラモデルの影が強すぎる…
みんな調整とかしてるの?マップの方はなんともないのに
44名前は開発中のものです。:2012/11/13(火) 14:04:57.88 ID:NSnEvyoH
アクティビジョンのトニーホークシリーズで、画面解像度とか、Fogのオンオフとか選べるランチャー経由で起動してたな。
exe直だと前回と同じオプションのままで起動だったと思う
45名前は開発中のものです。:2012/11/13(火) 17:18:55.36 ID:54EeWz/8
>>24
均等に負荷かかってるならマルチスレッド処理してるってことだよね?
処理の粒度が細かすぎるとかじゃないかな。粒度が細かすぎると、同期APIでカーネルスケジュラーが
頻繁に起されて、CPUの負荷が上がらなくなるように見えたはず。
4643:2012/11/13(火) 22:35:47.91 ID:kWBnqj8x
俺だけみたいだな、モデルの問題か
XファイルなのがDXライブラリと相性が悪いとかじゃないならいいや
47名前は開発中のものです。:2012/11/15(木) 20:46:12.19 ID:fgdtbuMx
CSSスプライト見たいな手法って画像のロード時間だけで
描画とかゲームの速度自体に影響するのかな?
48名前は開発中のものです。:2012/11/15(木) 22:18:24.14 ID:n5nkf/Ds
一応テクスチャ切り替えの手間が省けるからちゃんと軽くなる

そこが結構重いとか重くないとかいう噂は聞いたことあるけどそういえば調べたことはないな・・
49名前は開発中のものです。:2012/11/15(木) 22:31:02.33 ID:V2Q8QmNk
速度よりは、全く同じように使えるようにする工夫が気になる
50名前は開発中のものです。:2012/11/15(木) 22:48:07.83 ID:JeS5pTB2
めっちゃ影響するぞ
最悪の状態と最高の状態を比べると数倍から数十倍もの速度差がでる

最悪の場合をテストするには、画像Aと画像Bそれぞれの画像からグラフィックハンドルを作って交互に描画

最高の状態をテストするには、画像Aと画像Bを結合した一枚の画像を作って、LoadDivGraphで読み込むか、
もしくは画像Aと画像Bを結合した一枚の画像を読み込んでグラフィックハンドルを作り、DerivationGraphでそれぞれのハンドルを作って、
交互に描画


最悪のパターンなんて、実際には弾幕シューティングでわざわざ別画像の弾を交互にばら撒きまくとか、
別テクスチャのマップチップを交互に敷き詰めるとか、奇妙な状況でしか起こり得ないけど
51名前は開発中のものです。:2012/11/15(木) 22:54:50.95 ID:fgdtbuMx
へぇ、メモリに入ったら同じかと思ってた
52名前は開発中のものです。:2012/11/15(木) 22:58:50.04 ID:JeS5pTB2
書いてて思ったけど、テクスチャ切り替えの発生回数をカウントする関数が欲しいな
最適化プログラム作る際の参考になりそう
53名前は開発中のものです。:2012/11/15(木) 23:22:09.30 ID:j9gB1nc1
実際どのぐらい違うんだろうね
3Dだとモデルを描画する度にテクスチャが切り替わってると思うんだけど
54名前は開発中のものです。:2012/11/16(金) 00:18:40.62 ID:oomGOn6x
>>45
まさか今更相手してくれるとは思わんかったありがとう
えっとID変わってるけど>>26の通り、改めて計測してみると
大体計測の単位時間あたり2〜3単位時間に1回ぐらい100%になるコアがある
でも他のコアは20〜30%ぐらいだし2〜3単位時間に1〜2回は60〜80%ぐらいしか稼働してない
fpsは常時3〜5程度

ソースコードは公式の3Dサンプルプログラムをひたすら改変したものだけどマルチスレッド処理は書き加えてない
描画関数をコメントアウトしても同じぐらいの負荷とfps
でもパーティクルの運動とかの記述はそのままに描画関係の行列計算とかを大量に含む部分を切ったら1万パーティクルでもfps59.6〜59.9で安定
今のところテストでグラフィックハンドルは1つしか使ってないので>>50で言う最悪の状態にはなってないはず

将来的にはもっと大量のエフェクトを描きたいので出来れば10万〜100万ぐらい扱いたい
最適化は一切してないので描画関係の行列計算がかなり多いように感じる
でもCPUの計算能力や描画関数の呼び出しとかとの相対的な負荷が想像がつかないのでどの程度影響与えてるかわからない
1万〜10万ともなると普通の四則計算や行列計算の負荷もバカにならないのかな
55名前は開発中のものです。:2012/11/16(金) 00:22:29.41 ID:oomGOn6x
連投スマン
仮にマルチスレッド処理をさせるようになって>>45の状況になったしたら
CPUの負荷が上がらなくなるように「見える」だけで実際は限界まで負荷かかってるの?
56名前は開発中のものです。:2012/11/16(金) 01:43:36.27 ID:O/FEtKHj
>>54
あれーじゃあなんで均等に負荷がかかってるんだっていう疑問がわいてくる・・・
前段の部分は、行列計算が重いのかなぁ・・・。でもその場合はそのスレッドが全力で走るはずだよね。

後段の方は、実際にも限界まではかかってないよ。
粒度が細かすぎの場合カーネルオブジェクトで同期すると(最悪時には同じ
オブジェクトをそれぞれのスレッドでロックをとりにいくから)1/スレッド数 ぐらいしか
はたらかなくなっちゃう、で、ただただカーネルスケジュラーが走る分だけ重くなる。
(スピンロックの時は全力でスピンし続けるからすべてのスレッドが上限に張り付くのが見える。)
57名前は開発中のものです。:2012/11/16(金) 02:52:18.52 ID:oomGOn6x
>>56
紛らわしいことしてごめん
>>24の均等に負荷ってのは間違いで>>26>>54の通りどれか1つのコアは高負荷状態になってる
他の3つは確かに割と均等だけど……
でも確かに自分でも処理落ちしてるんだからどれかのコアは常時100%負荷じゃないとおかしいとは思ってる
一応CPUはi5 2500Kでそこまで古いわけじゃないからちゃんとしてやれば別に毎フレーム数万回の運動計算ぐらいなら大丈夫だと思うんだけど
さすがに100万エフェクトに上限設定したらアイドル時?の毎フレームのループ処理だけでfps40ぐらいまで落ちるけど

もう少しして描画関係の関数が落ち着いたらマルチスレッド処理するようにしてみようかな
そのときにもうちょっと勉強して参考にさせてもらうよ
でもまあなんとなくのイメージは分かったありがとう

あとつい勢いでグラボも積んでみたんだけど、ソフトウェアレンダリングじゃなくてハードウェアレンダリングにするのは
SetUseSoftwareRenderModeFlag でFALSE返せばいいんだろうか
これを入れる前後でGPUの負荷も変わったように見えない……
0〜40%ぐらいまでしか上がったこと無いんだけど
58名前は開発中のものです。:2012/11/16(金) 03:14:19.95 ID:N1OcN+jA
行列計算は用意された関数を使ってるわけじゃなく自前?
だとしたら普通にその計算が重いだけだと思う

昔自前で座標変換してたコードを発掘してみたら三角関数たっぷりの糞重そうなコードだった

1万パーティクルというと頂点数はその数倍あるだろうし、その上ソートとかもあるとしたらかなりの重さになると思う
弾幕STGの弾の計算処理との比較での想像だけど
59名前は開発中のものです。:2012/11/16(金) 14:41:04.47 ID:nI21i1kq
>>58
行列計算は主にDXlibのMGetRotAxisがほとんどかな
自前で用意したのは使ってない
1パーティクルあたり6頂点(4インデックス)の長方形の板ポリを
時間経過に合わせて自由に変形できるようにしたりしてる

あともう一つ心配な要素としてパーティクル構造体のメンバがかなり多いことがある
個人的な話だけど今まですごく不自由な環境で真似事みたいなことを長いことしてたから
パーティクル一つ一つの運動や展開にとにかく自由度をもたせた結果、
数えてみると一つのパーティクルごとに(unsigned)charが42、intが26、floatが23 程あった
計算がここからの引用の演算が9割なんだけどこれって影響あるかな
60名前は開発中のものです。:2012/11/16(金) 14:55:28.38 ID:N1OcN+jA
MGetRotAxisでも頂点を個別に処理してると重そうだな
何をやろうとしてるのはかよくわからないが、頂点数が多い場合はカメラの側を動かすとかの工夫が要ると思う
頂点一つの変換だけで三角関数が数十回使われるからね

構造体の重さだけど、それが問題になるのはメモリコピーや再配置が行われる場合
つまり、構造体の配列をソートしたり、構造体を関数などに直接渡すときだけ
ソートが含まれる場合は、その配列は構造体のポインタにしておくと早くなる
関数の場合は参照渡しかポインタで
61名前は開発中のものです。:2012/11/17(土) 03:20:24.81 ID:lLy9v9bv
3D空間に文字を表示する方法ってある?
リファレンスみたけどそれっぽい関数が見当たらなくて
内容変化するからテクチャーに貼って表示する方法は使えない
62名前は開発中のものです。:2012/11/17(土) 03:45:07.67 ID:qyuu2tNE
内容変化するなら毎フレーム描画し直せばいいじゃん?

まぁヘッダ読むと多分見つかると思うよ
未確認だけど
63名前は開発中のものです。:2012/11/26(月) 06:43:45.17 ID:UmrBg6OG
更新来てるね
毎度お疲れ様です
64名前は開発中のものです。:2012/11/26(月) 11:34:46.37 ID:3FNv2Sko
自分で制作中のプログラムを 3.09 に載せ替えただけで、60 FPS に届くようになった。
65名前は開発中のものです。:2012/11/26(月) 17:41:20.96 ID:ABDeEVSH
更新しようと思ったらVisualStudioも2012とかなってるのかよ知らなかったわ
66名前は開発中のものです。:2012/11/26(月) 18:00:36.41 ID:fShAradv
VC++11はconstexpr以下もろもろサポート無しで萎えたんだけど使ってる人いるの
http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx

だいたいXP対応するっつってもツールで対応するみたいだしもうなんか覚えるの面倒くさいしいいや(バカ
http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx
67名前は開発中のものです。:2012/11/26(月) 18:38:13.09 ID:1/gWMvah
ライブラリの更新ってまだ軽量化の可能性とか残ってるもんなの?
68名前は開発中のものです。:2012/11/27(火) 02:04:26.00 ID:JayK2jV6
少なくともDXライブラリはソース見る限りエラーチェックが一番の重くなる原因だと思うから、まだまだ軽量化はできると思うよ
数年前にはライブラリ作者自身がDirectX生で使うより10倍以上遅いって言ってたし
69名前は開発中のものです。:2012/11/27(火) 11:28:23.82 ID:f5qtpDPQ
>@1万枚が1つのテクスチャを使用していて、且つ全く動かず、1画像辺り16x16サイズであり、それを1万枚毎フレーム描画する、
という条件でしたらDirectXを直接扱う場合はビデオカードの性能が良ければDXライブラリの10倍以上高速に描画できると思います
>A動かない、という条件のみ変えて1万枚の画像がランダムに画面上を等速直線運動している(画面端にぶつかったら跳ね返る)という場合ですと
差はいきなり縮まってDXライブラリのDrawGraphを使う場合より1.5倍ほど高速に描画できると思います、ただ、DXライブラリの
DrawPrimitive2Dを上手く使用した場合は恐らく速度差は殆ど無いと思います

これだべ?
10倍遅いは誤解を招くべ
70名前は開発中のものです。:2012/11/27(火) 11:38:25.25 ID:JayK2jV6
それだ
うろ覚えだったわ
でも関数によってはまだまだ数倍高速化できるのは事実
描画関係じゃなくね
71名前は開発中のものです。:2012/11/27(火) 11:49:37.42 ID:f5qtpDPQ
描画関係以外で速度求めるって一体どんな関数使ってんだよ…
72名前は開発中のものです。:2012/11/27(火) 11:58:08.94 ID:JayK2jV6
1フレームに数千回呼び出す関数なんかはエラーチェックでかなり処理食われたりするよ
多数のオブジェクトに別々の動作をさせるようなプログラムだとたまに起こる
73名前は開発中のものです。:2012/11/27(火) 12:06:38.69 ID:f5qtpDPQ
いや…自分で定義した関数ならともかく、DXライブラリの関数で数千回とか何やっとるん…?
74名前は開発中のものです。:2012/11/27(火) 12:25:04.10 ID:JayK2jV6
想像できないなら想像できないでいいと思うよ
75名前は開発中のものです。:2012/11/27(火) 12:56:42.07 ID:ByhNS8r3
性格悪っ!
76名前は開発中のものです。:2012/11/27(火) 13:02:12.23 ID:JayK2jV6
だってめんどくさそうな人だから相手したくないんだもん
77名前は開発中のものです。:2012/11/27(火) 13:16:49.74 ID:ByhNS8r3
だったら無視すればいいだけ!
78名前は開発中のものです。:2012/11/27(火) 13:17:22.16 ID:6Mv2IZhC
アホす
79名前は開発中のものです。:2012/11/27(火) 13:32:11.78 ID:LIfIJ6xQ
自演まるわかり
80名前は開発中のものです。:2012/11/27(火) 18:06:28.14 ID:SSSMeP/t
プログラマブルシェーダー2.0を使用できる環境では通常の描画処理にも
ピクセルシェーダーを使用するように処理を変更。
81名前は開発中のものです。:2012/11/27(火) 18:27:43.01 ID:n5lQqkP/
DXlibがソースそのままでWindowsStore用のアプリ生成出来ればええな
昔作った奴いつくかそんなに日本語部分多くないから英語でリリースして
外人さんの感想聞きたい
82名前は開発中のものです。:2012/11/27(火) 18:59:23.43 ID:Y6tGCz/D
まず海外のフリゲ公開サイトにでも登録してみたら
83名前は開発中のものです。:2012/11/27(火) 22:32:16.92 ID:TGtbuLIb
>>81
すぐには無理でしょ。
.DxlibがNETベースのC++/CLIかC#あたりに移植されれば別だが。
当然、自分のゲームソースも同じようにC++/CLIかC#に移植になるけど。
84名前は開発中のものです。:2012/11/28(水) 00:14:38.58 ID:9BuN3YHL
更新されてたんで久々に更新したら
SetCreateDrawValidGraphChannelNumでチャンネル数2で良かったものが3必要になってた
85名前は開発中のものです。:2012/11/28(水) 14:16:31.64 ID:YnS7DAU9
DXライブラリのソース追っていくのすげーきついな
86名前は開発中のものです。:2012/11/29(木) 20:45:23.29 ID:cXkL+nrF
ちょっとお前らの経験則から助言いただきたいんだけど、筋力から物理攻撃力を求める時みたいに
元の数値さえあれば格納しておかなくても計算で導き出せるような項目をわざわざ格納しようかなと
思ってしまう 計算の複雑さ×使用頻度 の目安ってどんなもん?

そういう数値は格納したら格納したで整合性を保つための更新タイミングも考えなくちゃいけないけど
そういう手間も加味して評価するよね、こっちは管理者が更新するようにして解決しようと思うけど
87名前は開発中のものです。:2012/11/29(木) 21:03:47.74 ID:GNB73dnr
何を言ってるかよく良く解らんが、
全てを最新状態に更新する処理を作っておいて、
装備を変えるときとかにそれを呼び出せばいいんちゃう?
(デバフ喰らったりしたときとかはまた別になるのかもしれんけど)

新しい項目を追加したりした時その方が変更楽じゃない?

でもDXライブラリと関係ないよね。
88名前は開発中のものです。:2012/11/29(木) 22:52:50.84 ID:fLuPtmdH
>>86
外部ファイルやらDBやらを使ったり、算出にランダム要素などが加わるならキャッシュする。
そうでなければ気にしないかなあ。
89名前は開発中のものです。:2012/11/29(木) 23:29:10.33 ID:JG9/8B69
俺はそういう場合、キャラクラスですべて管理するようにしておいて、
実数値もメンバとして用意しつつ、変化と再計算もメンバ関数にする

アイテムを装備する場合とか能力変化技を受ける場合、そのキャラの装備関数能力変化関数を呼ばせる
その中で毎回再計算関数を呼べば数値は常に最新になるし

そもそも実数値をほとんど使わないとしても、格納しておかないと、規模が大きいゲームになってくるとデバッグが面倒になったりする
90名前は開発中のものです。:2012/11/30(金) 21:55:18.56 ID:d5cNZMEM
環境によって作成できる最小テクスチャサイズってあるのかな
MakeScreen(8, 8, TRUE)
と小さい画像作ったんだけど、テクスチャ幅が8以下の画像だと
初期化もされないうえにClearDrawScreenをやってもクリアされないっぽくゴミが残る
これより一回り大きい幅16になるとゴミも消えてくれる
91名前は開発中のものです。:2012/11/30(金) 22:41:41.07 ID:oui3MhFc
>>87-89
サンクス。とりあえずインターフェイスを計算結果側の項目に絞っておけば
後からどっちにも対応できて良さそうだね
92名前は開発中のものです。:2012/12/01(土) 13:33:46.23 ID:IBe3OiN8
初心者です。画像表示のためのラッパクラスを作っていて
画像ハンドルと、DxLibのDrawRotaGraph3の引数と同じ項目(描画位置以外)をメンバ変数として持ち
各メンバに値をSetした後にDraw(int x, int y)で描画できるようにする予定なのですが、
拡大率が1.0倍で回転角度も0度のような、DrawRotaGraph3を使わずともDrawGraphで描画可能な場合、
やはりDrawGraphを使って描画した方が処理が速いのでしょうか?
93名前は開発中のものです。:2012/12/01(土) 14:35:16.76 ID:b+EQ3+6O
速度のことは必要になるまで考えるな
以上
9490:2012/12/01(土) 15:57:16.54 ID:xUkutrV6
自己解決した
ListUpTexSize関数内で、2のn乗ではなくて良い場合の条件に合致するとき
最小サイズ未満の場合が抜けていたのがうまくいかない理由だった
MIN_TEXTURE_SIZEで最小サイズを変更できるけど上記の部分も変更しないと
最小サイズが適用されないことがある
95名前は開発中のものです。:2012/12/01(土) 23:49:15.26 ID:IBe3OiN8
>>93
確かに。とにかく突き進んでみます
96名前は開発中のものです。:2012/12/05(水) 07:28:58.56 ID:dxKlQPoH
MV1SetMaterialTypeってトゥーン表示に出来るみたいだけど
リファレンスに乗ってない?使い方が分からない…
97名前は開発中のものです。:2012/12/05(水) 10:07:53.76 ID:cfYtyBWt
プロローグによくあるような、画面上部にイラストがあって、下部に「むかしむかし、、、」みたいなかんじで文字をだしたりしようとおもってるんですけど、ああいうのってムービー作って再生させてるんですか?
実装しようとするとフェードインアウトとか結構手間がかかりそうで。
98名前は開発中のものです。:2012/12/05(水) 10:12:25.17 ID:5bbxrjLT
全然手間じゃない
フェードはフラグを用意しておいて、TRUEなら透明度が255になるまで毎フレーム増やす、FALSEなら透明度が0になるまで毎フレーム減らす、
みたいな感じに組めばすぐできる

そんなのでムービーにするのはバグや相性問題の元だからやめとけ
99名前は開発中のものです。:2012/12/05(水) 11:06:07.54 ID:ze777H3I
>>98
なるほどー。相性とかあるのか、、、。
わかりました。今日の夜やってみます。
100名前は開発中のものです。:2012/12/05(水) 12:46:04.92 ID:r3FoL9zZ
「画面上部にイラストがあって」の部分がよくわからないけど、ゲームのプロローグなんかは普通動画だよ。
背景に動画を流して、下に字幕被せてるだけ。
101名前は開発中のものです。:2012/12/05(水) 12:50:44.41 ID:5bbxrjLT
ヨッシーアイランドみたいなのだろ

アニメを流すなら動画だけど、単に静止画やドットアニメレベルならプログラムの方がいいと思う
プログラムで簡単に出来ることをわざわざ動画にして要領増やすのも馬鹿らしい
102名前は開発中のものです。:2012/12/05(水) 14:12:16.87 ID:JhztC1FO
上から黒い四角を重ねるだけでも、フェードイン/アウトにはなるしな。
103名前は開発中のものです。:2012/12/05(水) 14:43:15.90 ID:kPhWb69t
まずは完成させること優先で考えたら?
動画作りが得意なら動画で済ませておいて、後でやり直したくなったらやり直せばいいだけ。
プロじゃないんだから極力難しいことは避けても問題ない。
例えば作り直すタイミングで、もっとかっこいい3D動画にしよう!という新たな方向性に目覚める可能性も残せたりね。
でも完成させることよりプログラムの勉強が優先なら、ちょっと悩んでもやりたいと思った今プログラム組んでみたほうがいいと思う。
104名前は開発中のものです。:2012/12/05(水) 15:49:01.40 ID:lks+z0Wj
言われている通りでまさにヨッシーアイランドと同じような感じで作りたいと考えてました。
動画作成も興味はありますが、とりあえずプログラムでやってみます。
105名前は開発中のものです。:2012/12/05(水) 16:11:07.03 ID:8b/D9r5+
便乗してすごく初歩的な質問なんだけど>>98が普通に「透明度」って言葉使ってるけど
画像を表示するためのDrawGraph系の関数には透明度の指定がないから、
毎回SetDrawBlendModeでアルファ値を設定してから描画するって意味?

フェードの話だとマスク画像かもしれないけど、単純に画像に透明度を指定して
表示させたい場合はやっぱり↑の方法しかないんですか?
106名前は開発中のものです。:2012/12/05(水) 17:05:02.24 ID:d0fjoMgW
少なくとも俺はそうやってる。
107名前は開発中のものです。:2012/12/05(水) 17:26:51.05 ID:5bbxrjLT
>>105
そう
自前でSetDrawBlendModeしてからDrawGraphする関数を作ってもいい
108名前は開発中のものです。:2012/12/05(水) 18:27:00.14 ID:J7+ZDMKL
ライブラリを更にまとめた自前関数いいよね
109名前は開発中のものです。:2012/12/05(水) 22:27:44.51 ID:8b/D9r5+
>>106>>107
そうだよね、ふと不安になってしまった

>>108
Mintの人ってまだ生きてるのかな
110名前は開発中のものです。:2012/12/06(木) 04:06:11.37 ID:e4ZfE9+5
ついでだから俺も便乗させてもらうけど
パーティクルの描画をそれぞれに描画に必要なステータスをクラスのメンバで管理してて
いろんな種類のパーティクルを全部DrawPolygonIndexed3Dにステータスを当てはめて一括で描画してるんだけど
黒煙の表現とかに減算合成使いたいんだがSetDrawBlendMode使うと
管理の方法上パーティクル一つ一つの描画のたびにSetDrawBlendModeを呼び出すことになって
たかだか1000程度のパーティクル数で30fpsぐらいまで落ちる

管理人が昔、一括描画の最適化処理がSetDrawBlendModeの変更とかで途切れるから重たくなるって話を聞いたんだが
ここまで酷いもんなの?それとも他に原因がありそうだろうか
っていうか直接DrawPolygonIndexed3Dで減算みたいなこと出来ないかな
何かいい方法ない?
111名前は開発中のものです。:2012/12/06(木) 07:31:49.70 ID:lmRU6WCg
ブレンドタイプごとにまとめて描画すればいいんじゃね
112名前は開発中のものです。:2012/12/06(木) 08:27:40.98 ID:M80gGcCN
普通に考えると何度もブレンドモードを切り替えるような設計が間違ってる
SetDrawBlendModeは現在のブレンドモードと同じなら変更しないようになってるので、できるだけ同じタイプのパーティクルの描画が続くようにするべき
クラスで管理してるのならソートは簡単なはず

組み合わせてる描画が通常描画なら、煙のエフェクトには減算なんて使うもんじゃないし、黒いパーティクルを用意して通常描画にするのもいい
もしくは、複数のパーティクルを一つにまとめて数を減らす
┌─────┐
│        │
│        │
│   ●    │
│        │
│        │
└─────┘
↑みたいな画像を大量に描画するんじゃなく、
┌─────┐
│●    ● │
│        │
│  ●    │
│ ●     │
│     ● │
└─────┘
↑みたいな画像にすれば見た目はあまり変わらず、パーティクルの数と描画負荷は1/5にできる
113名前は開発中のものです。:2012/12/06(木) 20:04:35.05 ID:hHiG3Evm
横槍っぽくてすまんがクラスのメンバにFlagを持たせる場合intとboolどっち使ってる?
個人的にはbool使いたいんだがDXライブラリのFlagがintだからどっちにしろムズ痒い
114名前は開発中のものです。:2012/12/06(木) 20:52:41.59 ID:LDGG4ruw
boolで、自動伸長にまかせる
115名前は開発中のものです。:2012/12/06(木) 22:38:38.16 ID:Kx+9UwDD
両方使えばいいやん
RPGツクールだってスイッチと変数あるで
116名前は開発中のものです。:2012/12/06(木) 23:07:52.71 ID:wwcN/NFR
>>115
今はそういう話じゃないと思うが・・・
117名前は開発中のものです。:2012/12/06(木) 23:16:43.27 ID:M80gGcCN
俺は大は小を兼ねるでintかな
特定の数値をエラー番号にできるし
118名前は開発中のものです。:2012/12/06(木) 23:49:56.18 ID:hHiG3Evm
どの道intでやってきてるから変更はしたくなかったんだけどね・・・
即レスで「boolしかねぇだろバカ」って言われたら踏み切ろうと思ってた、ありがとう
119114:2012/12/07(金) 00:20:29.50 ID:y/XfV8vE
なんか俺がマヌケだ
120名前は開発中のものです。:2012/12/07(金) 07:25:26.94 ID:ynWkr9Hy
自分はboolかなー。

三値以上、あるいはエラーコード等を考えてintにするなら、
どっちかっていうとenumとかにするべきのような気もするし。
121名前は開発中のものです。:2012/12/07(金) 15:34:07.50 ID:p7dlEACG
>プログラマブルシェーダー2.0を使用できる環境では通常の描画処理にもピクセルシェーダーを使用するように処理を変更。

とあるけど、速度に対する影響ってどんなもんなんだろ
122名前は開発中のものです。:2012/12/08(土) 21:10:34.48 ID:O5Dwta97
t-potやなんかの簡単なhlslをdxlib用に移植することすらできねー
俺アホすぎオワタ
123名前は開発中のものです。:2012/12/08(土) 21:24:01.42 ID:3G4JIdgx
2Dでいいじゃないか
124名前は開発中のものです。:2012/12/08(土) 21:27:11.89 ID:S+fVZNT1
その2Dでもシェーダ使うけど?
125名前は開発中のものです。:2012/12/08(土) 21:27:41.71 ID:ON91ZUBN
DXライブラリのシェーダは仕様の制限がわかりにくい
126名前は開発中のものです。:2012/12/08(土) 21:33:38.88 ID:O5Dwta97
ライト方向の定数がワールドじゃなくビューなのがわからん
コンパイラも列オーダー強制で転置必要だし、他サイトのサンプルも俺の頭じゃ満足に動かせない
127名前は開発中のものです。:2012/12/08(土) 21:48:07.56 ID:3G4JIdgx
シェーダ使わなきゃいいじゃない
128名前は開発中のものです。:2012/12/09(日) 14:53:19.13 ID:/H4jWPeA
Paint文はちゃんと動く?
宣言だけで中身のない命令なのか
129名前は開発中のものです。:2012/12/09(日) 18:13:29.91 ID:ETEjY4yj
ライブラリにライト設定ってあるけどこれマテリアルの設定なんだよね
ゲームの影みたいには出来ない…射影法だっけ
130名前は開発中のものです。:2012/12/11(火) 12:50:17.45 ID:NIH2nzCF
2Dなんだけど、回転付きDrawBoxってあったっけ?
131名前は開発中のものです。:2012/12/11(火) 13:10:27.88 ID:TGP7768d
ない
DrawQuadrangleで代用するか、DrawQuadrangleを使って自分で用意べし
132名前は開発中のものです。:2012/12/11(火) 13:34:33.28 ID:NIH2nzCF
おお、ありがとう。
危うくDrawLineでせこせこ書くところだったぜ
133名前は開発中のものです。:2012/12/12(水) 21:10:06.59 ID:DG3DeyXN
Ver3.09にしたらフルスクリーン→ウィンドウの切り替えで
フルの画面が残る?んだけど同じ症状出てる人います?
134名前は開発中のものです。:2012/12/12(水) 22:35:27.16 ID:AZMXsYNg
DXライブラリはもう保守が限界に近づいてるんじゃないか
135名前は開発中のものです。:2012/12/12(水) 23:11:17.68 ID:QTcOfxsy
「フルの画面が残る」の意味がわからない。
136名前は開発中のものです。:2012/12/12(水) 23:44:11.14 ID:A3akQxx/
デスクトップ左上からフルスクリーン解像度分が黒く塗りつぶされた状態で残ってるってことだろ?
そういうのってビデオドライバのバグな気もするが
137名前は開発中のものです。:2012/12/13(木) 00:00:51.12 ID:7iuoyONB
3.09にしたら、って事はそれ以前のバージョンじゃなってなかったって事だよな。
バージョン戻して、ちゃんとなってるかどうか確認してみる必要があるんじゃないか。
138名前は開発中のものです。:2012/12/13(木) 00:37:01.54 ID:dHHXSXFg
>>135 >>136
直前まで表示されてた画面がそのまま表示されっぱなしになってます
裏でウィンドウに触れたりは出来るんですが

>>137
3.08eに戻すと大丈夫です

もうちょっと調べてみます
139名前は開発中のものです。:2012/12/13(木) 09:33:31.24 ID:eCbS15Yt
俺もテストプレイしてもらった人から、ウィンドウモードで表示されない(他にも異状はある)という報告をもらった。
(133とは現象違うし、旧バージョンでも起こるようだが)
Win7で発生してXPでは発生しないという事らしいが、133のOSは何使ってるの?

このままじゃWin7は対象外って事になってしまう……。
140名前は開発中のものです。:2012/12/13(木) 09:34:21.64 ID:eCbS15Yt
あ、「ウィンドウモードで表示されない」じゃなくて「フルスクリーンモードで〜」でした。
141133:2012/12/13(木) 14:20:52.98 ID:dHHXSXFg
>>139
開発は8ですね
症状自体は7とVISTAでも再現するのを確認してます
XPは手元に無いのでまだですが
142名前は開発中のものです。:2012/12/13(木) 16:11:18.90 ID:RivcO0oI
反転のブレンドモードで描画すると設定した透過色が
透過されないんだけど仕様かな?
143テルマの代行:2012/12/13(木) 16:41:44.29 ID:Ib1R9I8O
139のはグラフィック復帰書いたりしてるの?
出来ないなら「フルスクリーンには対応してません」でいいじゃん。
133のはビデオドライバっぽいな。
8にアップした後に8用のドライバにアップして、
カスタマイズせず「工場出荷時の設定」などでテストしてるだろうか?
俺の環境ではウィンドウフルスクリーンの切り替えでまったく正常だ。
144139:2012/12/13(木) 17:44:23.56 ID:eCbS15Yt
>>143

もちろんグラフィック復帰は書いてるよ。
今ではDXライブラリで自動復帰とかできるみたいだけど
そうなる以前に書いた自力でグラフィック復帰させてるソースだからその点は間違いない。

前述したように「他にも異状がある」ので「フルスクリーンに対応してません」ではちょっと済ませられないかも。
プログラム自体とは関係なさげな異状だから、俺のバグではないと思うんだが……。

なんにしてももっと調査が必要だわ。
145133:2012/12/13(木) 18:02:50.39 ID:dHHXSXFg
>>143
正常との報告ありがとうございます
8とVISTAが別環境なので疑ってなかったのですがドライバ周りも探ってみようと思います
146名前は開発中のものです。:2012/12/13(木) 18:37:57.92 ID:g4qmaU43
ドライバ問題かどうかはSDKのsimplesampleあたり試せばすぐ分かりそうだけどね
前バージョンで動いていたのなら可能性としてすごく低いと思うけど。

今更だけど本体の更新でコアな部分に手を加える前に
最新版と安定版に分けてくれていたらなあ
147名前は開発中のものです。:2012/12/13(木) 19:37:53.29 ID:Jp8gIPXB
とりあえず、バージョンの違いでおかしいなと思ったら、
まず↓で3.09とか3.08eとか自分の使ってるバージョン番号で検索してみたらいい
そうでなくてもとりあえずどういう問題が報告されてるか知っておくのはいいと思う
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=find
148133:2012/12/15(土) 14:48:25.74 ID:4z8W5i5N
いろいろ調べた結果、どうやらVC#用3.09だけで起こる問題っぽいです
とりあえずVC++用3.09だと大丈夫でした
C#用は変換ソフト使ってるとのことなのでおかしくなる事もあるんですかね…
あとで公式に投げておこうと思います
アドバイス等々ありがとうございました
149名前は開発中のものです。:2012/12/17(月) 19:07:19.03 ID:9yI3pxiI
DerivationGraphって非同期読み込みの対象外なんだな
これも対象にしてくれても良かったと思うんだけど
150名前は開発中のものです。:2012/12/17(月) 19:10:24.52 ID:9yI3pxiI
実際には読み込み用じゃないから仕方がないか
ああ、作り直さなきゃ
151名前は開発中のものです。:2012/12/23(日) 19:39:35.16 ID:UDpOJxNp
質問。
 DXlibでゲーム作る傍ら、同じくDXlibでそれ用のツールも作り始めたのですが、
1画面に収めるにはレイアウト的に無駄が多いので複数ウインドウで1アプリに
したいのだけれど、DXlibはその機能を提供せず。
 Windowsの機能を直接利用するしかなさそうなのでその線で考えているのですが、
良い手本や資料ってありますか?
152名前は開発中のものです。:2012/12/23(日) 20:04:54.75 ID:DyE9bJRU
WIN32APIで検索すれば講座サイトたくさんヒットすると思う
ついでにDxLibに頼らなくてもそこそこやれるくらいの知識を身に付けるつもりでやると良いかもね
153名前は開発中のものです。:2012/12/23(日) 20:06:21.24 ID:DyE9bJRU
あーあとそれとはまた別の話になるけど
エディタを作るならC++じゃなくてC#やVBがラクだと思うしその知識は無駄にならないと思う
WIN32とか基礎からやろうと思うと勉強意欲がガシガシ削られかねない
154151:2012/12/23(日) 22:16:09.12 ID:UDpOJxNp
 助言ありがとうございます。
 確かにAPI叩きが身に付けば天下無敵なのですが。
 身に付けるのにどれだけ時間掛かるかなあ(^^;
 私はCがおぼつかない程度の実力で2010EXPRESS使っています。
 VBはともかくC#ですか。
 今まで考慮に入れた事なかったので少し資料あたってみます。
 そちらから突破口考えてみます。
 ありがとうございました。
155名前は開発中のものです。:2012/12/23(日) 22:31:08.73 ID:cXg0KV/e
C#なんかマウス操作で部品はっつけて、
ボタン押されたときの処理とかを書くだけで出来上がり
156名前は開発中のものです。:2012/12/23(日) 22:42:08.45 ID:fCnMZAgY
うん、だから簡単なツール作るのに使う人が多いね
157名前は開発中のものです。:2012/12/25(火) 23:40:42.94 ID:B3hGEhD0
eclipseでDxライブラリを利用したいんだけど、
デバッグができなくて困っとります。
どなたかお知恵を貸してくだされ。
158名前は開発中のものです。:2012/12/26(水) 12:39:14.14 ID:x8sJ+qwZ
それだけじゃわからんなー。ライブラリにリンクが通ってないのでは?
自力で環境設定ができないレベルならVC使ったほうがいい。
159名前は開発中のものです。:2012/12/26(水) 13:32:44.45 ID:eDfePwZp
VC++ Expressがある時代に何でWindowsでEclipseを使うのか
160名前は開発中のものです。:2012/12/26(水) 18:01:15.49 ID:1vDuUTr+
宗教的な理由だろう
161名前は開発中のものです。:2012/12/26(水) 18:49:23.99 ID:tD+sqmHM
他の言語、他のOSでも作業するような人なら、
ツールくらいは統一したいという欲求は出てくるんじゃない?
162名前は開発中のものです。:2012/12/26(水) 20:18:48.88 ID:HWzH8dwQ
リファクタリング機能が使いたかったのよ。
>>158
ありがとう。
原因を特定できるようがんばってみます。
163名前は開発中のものです。:2012/12/30(日) 19:11:14.02 ID:ULgRYKjI
職業,no.01,no.02,no.03,no.04,no.05
戦士,a,b,c,d,e
このcsvデータ(Data/Mastery/Name.csv)をstring型のvector配列 Nameに順に格納したいのですが
void SceneMastery::Load_Mastery_Data(){
int FileData;
char Dummy[256];
FileData = FileRead_open("Data/Mastery/Name.csv");
if(FileData==NULL){
printfDx("ネームデータの読み込みに失敗しました");
}
for(int i = 0; i<1; i++){
FileRead_gets(Dummy, 256, FileData); //一行目を読み飛ばす
}
for(int i = 0; i<1; i++){
FileRead_scanf(FileData,"%[^,],%[^,],%[^,],%[^,],%[^,],%s", Names[0].c_str(), Names[1].c_str(), Names[2].c_str(), Names[3].c_str(), Names[4].c_str(), Names[5].c_str());
}
FileRead_close(FileData);
}
現在この様な形式でNamesにデータを格納したいるのですが
最終的にcsvデータを30個程度格納する予定です
それだとFileRead_scanf関数の引数がものすごい長くなってしまうのですが(Names[0].c_str()〜Names[29].c_str())
こうした方がいいとかありましたら教えてください
できるかはわかりませんが思いついたのは
FileRead_gets関数で一行全部読み込んで
forループ30回回してNames[i]に文字列操作で,の部分で区切って格納していく
ぐらいしか思いつきません
164名前は開発中のものです。:2012/12/30(日) 19:34:57.68 ID:ORqRyWcf
>>163
俺は素人だから気の利いたこと言えないし俺も他の人の解答を聞いてみたいけど
おおむねその思いついてる方法で良いんじゃないかな?
1行読み込んだ文字列はstd::stringstreamに渡せば書式指定しなくても
Readする変数に合わせてデータを格納してくれたと思う
165名前は開発中のものです。:2012/12/30(日) 19:49:09.40 ID:WVERYD7s
それ以前にc_str()ってconstに書き込む気か?
166名前は開発中のものです。:2012/12/30(日) 21:02:04.93 ID:Z7980Zcb
FileRead_scanf(FileData,"%[^,],%[^,],%[^,],%[^,],%[^,],%s", Names[0].c_str(), Names[1].c_str(), Names[2].c_str(), Names[3].c_str(), Names[4].c_str(), Names[5].c_str());



#define MAX_BUFFER_SIZE 32

string_buffer[6][MAX_BUFFER_SIZE];

FileRead_scanf(FileData,"%[^,]"string_buffer[0]);
FileRead_scanf(FileData,"%[^,]"string_buffer[1]);
FileRead_scanf(FileData,"%[^,]"string_buffer[2]);
FileRead_scanf(FileData,"%[^,]"string_buffer[3]);
FileRead_scanf(FileData,"%[^,]"string_buffer[4]);
FileRead_scanf(FileData,"%s"string_buffer[5]);

Names[0] = string_buffer[0];
Names[1] = string_buffer[1];
Names[2] = string_buffer[2];
Names[3] = string_buffer[3];
Names[4] = string_buffer[4];
Names[5] = string_buffer[5];
167名前は開発中のものです。:2012/12/30(日) 21:03:03.60 ID:Z7980Zcb
訂正
× string_buffer[6][MAX_BUFFER_SIZE];
○ char string_buffer[6][MAX_BUFFER_SIZE];
168名前は開発中のものです。:2012/12/31(月) 10:23:16.83 ID:TZwL90Hm
さらに最大フィールド幅を指定したほうが安全だな
169名前は開発中のものです。:2012/12/31(月) 12:18:33.63 ID:gfmFwTBR
いつの間にかバックバッファのポインタ取れるようになってたのね
WPFと合わせる事が出来るようになってGUIがめっちゃ楽に作れるわ
170名前は開発中のものです。:2012/12/31(月) 16:21:56.51 ID:EAbwv0Vo
これフリーなのにほんとすごいよな
64ビットプログラムがこれのおかげであっという間にできたわ
171名前は開発中のものです。:2012/12/31(月) 20:29:33.98 ID:SbWtF6xH
意味不。64bitはサポートしてなかったはずだし。
172名前は開発中のものです。:2012/12/31(月) 22:02:39.76 ID:xe6vJavz
なんだなんだ、WPFってのがゲーム製作にいいのか?
173名前は開発中のものです。:2013/01/01(火) 12:12:17.67 ID:FJslJlMt
wpfはツール用だ。
間違ってもゲームで使うようなものではない。
174名前は開発中のものです。:2013/01/01(火) 16:36:32.48 ID:tPGy1NQI
何かを関数に入力パラメタとして渡すときconst参照を使うけど
みんなはintとかサイズが小さいとわかりきってるものもconst参照で渡してる?
俺はいままでintだと値渡ししてたんだけどたった今そのクセで再起関数に
取り掛かったら、こりゃ(const参照じゃないと)いかんよな
175163:2013/01/01(火) 18:45:31.24 ID:mesBEkAt
>>166
参考にさせていただきました。おかげでうまくいきましたありがとうございます。

>>165
まだよくわかってないのですが
FileRead_scanf関数の引数はcharなのでstringをcharに変換するc_str()関数を使った程度の考えです。
一応うまくいってはいたのですがこれはまずいんでしょうか?
176名前は開発中のものです。:2013/01/01(火) 19:40:56.86 ID:692MMw6s
最悪レベルの間違い
177名前は開発中のものです。:2013/01/01(火) 21:49:38.48 ID:bDDsDYAo
おまじないプログラミングで勉強しちゃったのだろう
stringやvectorが魔法でメモリを管理してくれるとかなんとか

>一応うまくいってはいたのですがこれはまずいんでしょうか?
stringの初期サイズ(たぶん16くらい)で偶然動いてるだけ

戦士,田中,安田,川田,田島,山田みたいなデータだからいいけど
100文字くらいの長い名前だったら途中で切れてるよ
178名前は開発中のものです。:2013/01/02(水) 07:41:27.75 ID:npo9IBrt
>>174
ポインタサイズより大きい場合には参照だな
再帰は簡単のなら戻り値でやるしconst付けた再帰てどういう状況だ?
179名前は開発中のものです。:2013/01/02(水) 15:17:20.67 ID:OuLqwPag
質問なんだけどメモリを途中からコピーする方法ってある?
180名前は開発中のものです。:2013/01/02(水) 16:15:51.21 ID:prB89ZVY
メモリ?勝手に代入すればいいじゃん
181名前は開発中のものです。:2013/01/02(水) 18:41:40.92 ID:OuLqwPag
解決した。普通にmemcpyでできるんだな
182名前は開発中のものです。:2013/01/03(木) 12:10:05.82 ID:m6mc8ovn
>>173
普通にゲームでも使えるがな
183名前は開発中のものです。:2013/01/03(木) 20:09:23.95 ID:TN/VXY4M
void TEST(){
int FileData_00;
FileData_00 = FileRead_open("Data/Help_00.csv");
int FileData_01;
FileData_01 = FileRead_open("Data/Help_01.csv");
int FileData_02;
FileData_02 = FileRead_open("Data/Help_02.csv");
int FileData_03;
FileData_03 = FileRead_open("Data/Help_03.csv");
int Files[4];
Files[0] = FileData_00;
Files[1] = FileData_01;
Files[2] = FileData_02;
Files[3] = FileData_03;
//openしたファイルの書き込み処理
//FileRead_close
}

このときFileRead_closeを実行しなければならないのは
int FileData_00〜int FileData_03 と
int Files[4]に格納したファイルデータなんでしょうか?
184名前は開発中のものです。:2013/01/03(木) 20:33:51.46 ID:/jkV57Xm
クローズするのはオープンしたファイルに対してだから
対象は00から03までのcsvファイルのみ、
Files[4]は代入してるだけなのでクローズ処理は関係なし
185名前は開発中のものです。:2013/01/07(月) 09:19:09.88 ID:8LO+zY6H
メッセージやステータス表示のためのウインドウの色や透過率を
ユーザが自由に設定できるようにするためには
ウインドウの背景画像(例えば真っ白な画像)を描画する際に
SetDrawBrightで色を、SetDrawBlendModeで透過率を指定してから
描画する以外に効果的な方法はありますか?

同時に、マウス操作でのゲームなどでHTMLなどでいうhover(メニューフォーカス?)
を実現したい場合も、同様の手段じゃないと色の調整は難しいでしょうか?
186名前は開発中のものです。:2013/01/08(火) 00:19:25.00 ID:3qRkpJaR
ウインドウに使用する画像フォーマットに合うように
ユーザー設定を反映した画像を作成するってだけだから
効果的?だとかあまり考えなくてもいいと思うけどな
このあたりの設定が面倒だと思うなら、実装しないというのも手だよ
フォントが見やすい配色というのは決まっているし
187名前は開発中のものです。:2013/01/08(火) 00:41:34.21 ID:KY5piJLy
何が困ってるのか分からない
188名前は開発中のものです。:2013/01/08(火) 01:16:08.37 ID:ubaFj8tR
>>187
補足すると、↓のような3*3分割のウインドウの基本画像を用意して
■■■ 123
■□■ 456
■■■ 789

↓のように任意に引き伸ばせるようなウインドウクラスを作ったのですが
■■■■■ 12223
■□□□■ 45556
■■■■■ 78889

背景となる□の部分(5の部分)の色と透過率をゲーム内設定で変更できるようにしたときに、
どうやって(何を、どのように)描画しようか悩んだ。ということでした

>>186
アーカイブを使う場合、アーカイブ内に書き込みできないため
色の変更だけなら設定毎にメモリ上に画像を作成することができますが、
透過度は任意の画像をメモリ上に作成したところで「ファイル名_a」の画像ファイルが無いので
毎度透過度を指定しないといけませんよね?・・・あれ、ここ違ってたらすみません。
189名前は開発中のものです。:2013/01/08(火) 04:00:10.73 ID:fs6IBqjX
枠だけはっきり出たままで透明にならないとかうざいだけだと思うが
190名前は開発中のものです。:2013/01/08(火) 15:35:10.18 ID:+eWx29Tg
枠と背景を別画像にすれば?
191名前は開発中のものです。:2013/01/09(水) 01:48:44.65 ID:hgGw9Cj8
別画像になってるっしょ
■がそれぞれマップチップみたいになってるんだと思うよ

描画方法はよくわからない
>>186も言ってるけど、仮にRGBを調整できるようにしたところで使えるパターンなんてわずかだし
色弱向けもかねて数パターンから選べれば十分な気がする
192名前は開発中のものです。:2013/01/09(水) 03:25:49.39 ID:mxhW2tsq
何が困ってるのか分からない
193名前は開発中のものです。:2013/01/12(土) 18:59:27.56 ID:iyE/PUWV
おまえらレスアンカーつけろよ
元発言を追うのが大変じゃなイカ!
194名前は開発中のものです。:2013/01/12(土) 19:04:28.79 ID:mOK4sv+M
3Dゲーム作っててそろそろ音入れたいんだけど
みんな3Dサウンドとかどうやって実装してる?
使ってるライブラリとかあれば教えてほしい

あと処女作だったこともあってモデルやら移動速度に加速度やらが
すべて無駄に大きいスケールのまま開発進めちゃってるんだけど、やっぱり何か問題あるかな
一応バランス取りは出来てるから数字の桁が大きいだけで今のところ実害はないんだけど
195名前は開発中のものです。:2013/01/12(土) 22:26:56.16 ID:TVDeTe6A
画像やサウンドファイルの読込みを非同期で行いたいんですけどできますか?
196名前は開発中のものです。:2013/01/13(日) 00:35:51.54 ID:dL2ucEoK
>>195
これで出来るみたいだね
int SetUseASyncLoadFlag( int Flag ) ;
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R21N1
197名前は開発中のものです。:2013/01/13(日) 03:55:45.31 ID:sVm6nVAD
数値の大きさは、別に問題ないならいいんじゃないか?
デカ過ぎても小さすぎても精度が犠牲になるが、よほど範囲がでかく、桁もでかいとかじゃなけりゃ(人間サイズ基準で、1mmが10000とか)好きにスケール決めてていいかと
(ただまあ、出来るならこれからは、求められる最小の大きさを基準にスケール決めた方がいいかもしれんが)
198名前は開発中のものです。:2013/01/13(日) 04:14:07.93 ID:UFhds1yN
浮動小数点数って0と1の間に、表現できる全体の半分の数値が詰まってるんだっけ?
199名前は開発中のものです。:2013/01/13(日) 12:06:47.76 ID:FVkEBBvi
非同期で読み込み開始して、読み込み終わる前に使用したらどうなるんですか
200>>188:2013/01/13(日) 16:24:29.22 ID:QYqOR8Li
答えてくれた人ごめんなさい、俺の勘違いでした
MakeScreen関数のUseAlphaChannelにTRUEを与えて得たハンドルに
SetDrawBlendMode関数でアルファブレンド指定して任意の画像を描き込んで作った画像を
NOブレンドモードで画像の透過フラグTRUEで描画するか
アルファブレンドモード(Pal=255)で描画すればちゃんとアルファ値反映されてましたね
201名前は開発中のものです。:2013/01/13(日) 19:49:48.17 ID:EC+uyoF7
ttp://www.geocities.jp/cpphajimete2008/main.cpp

このサイトの
FileRead_scanf(filename,"%d %d %d %d %d %d %s",&mondataTYPE[i],&mondataHP[i],&mondataSTR[i],&mondataDEF[i],&mondataAGI[i],&mondataEXP[i],mondataNAME[i]);
これはなぜ%dの箇所だけ&をつけて%sの箇所は&をつけてないんでしょうか?
202名前は開発中のものです。:2013/01/13(日) 20:06:09.61 ID:UFhds1yN
配列を渡そうとすると、先頭要素のポインタにすり替えられるCの仕様があるからです
203名前は開発中のものです。:2013/01/13(日) 22:40:32.06 ID:2+a2+Tdr
俺は単体のデータは&を付けるって覚えてたな
204名前は開発中のものです。:2013/01/14(月) 11:02:55.18 ID:H1EitZHV
&は参照渡ししたい時に付ける。渡した変数の内容を直接イジる
char*の配列ならmondataNAME[i]でポインタを渡す(内容を直接イジる)からそのままでいい
ちなみにchar配列の配列なら&mondataNAME[i][0]と書いても良い
205名前は開発中のものです。:2013/01/14(月) 21:38:05.13 ID:nGd6Xkjx
えっ
206名前は開発中のものです。:2013/01/14(月) 23:14:50.16 ID:Vl5TMR+b
なにがえっなの?理解できないって意味かな?
207名前は開発中のものです。:2013/01/14(月) 23:49:21.49 ID:lkvGHJQn
>&は参照渡ししたい時に付ける
これだけ嘘じゃね
208名前は開発中のものです。:2013/01/15(火) 00:30:19.83 ID:MJE/SW6m
もともと引数を参照として受け取る関数なら嘘になるが
引数としてポインタを受け取る関数においては&を付けて渡すことを参照渡しと言うだろう
209名前は開発中のものです。:2013/01/15(火) 00:44:04.39 ID:BBuLNhOI
>引数としてポインタを受け取る関数においては&を付けて渡すことを参照渡しと言うだろう
それ参照渡しじゃなくてポインタの値渡しじゃね
210名前は開発中のものです。:2013/01/16(水) 20:24:05.76 ID:qFNCRQlD
iPhoneやmacで使えるDXライブラリってありませんか?
211名前は開発中のものです。:2013/01/16(水) 22:17:05.64 ID:Ao67lx7K
>>210
自分で言ってる意味分かってる?
212名前は開発中のものです。:2013/01/16(水) 22:29:07.91 ID:zHO9dDiV
あるんじゃない
つくr旬だ
213名前は開発中のものです。:2013/01/17(木) 01:55:18.82 ID:ukhppMom
>>210
Cocos2dでググればいいんじゃね

そういえばどっかでJava版DXライブラリが開発されてるとか聞いたので
それ完成したらmacでもつくれるようになるかも
意味わからんけど
インターフェースが同じってことなんだろか
214名前は開発中のものです。:2013/01/17(木) 12:07:01.68 ID:xz742Edz
それ以前にMacはDirectX使えない気がする
215名前は開発中のものです。:2013/01/17(木) 12:27:53.26 ID:CBot1ZLv
>>214
そんなことは皆が承知だw
216名前は開発中のものです。:2013/01/17(木) 13:47:16.00 ID:MuG9vfRT
昔は移植性は守るべき正義だったけど、
最近はそこまでいわんな。Windowsが君臨しまくってるし。
DXlibがxboxで動けばそれなりにうれしいかも知れんが。
217名前は開発中のものです。:2013/01/17(木) 14:27:04.69 ID:kYYSK504
DXlibすごいんだけど、いつまで続くのか不安。
実質作者一人で作っててメリットもなさそう
218名前は開発中のものです。:2013/01/17(木) 16:02:57.27 ID:v4YzErdm
だよねー
219名前は開発中のものです。:2013/01/17(木) 16:08:30.00 ID:dCEp7Hn9
自分でライブラリ作れるように精進しよ
220名前は開発中のものです。:2013/01/17(木) 17:03:20.87 ID:ChvH+4Wl
>>213
JavaでDXライブラリのDLL呼ぶだけでしょ
221名前は開発中のものです。:2013/01/17(木) 18:01:11.81 ID:JcupZ9q0
>>220
macでか?
222名前は開発中のものです。:2013/01/17(木) 18:31:34.97 ID:W5osK7wt
誰かOpenGL版DXライブラリ作って
223名前は開発中のものです。:2013/01/17(木) 18:50:33.82 ID:qHRq98zV
DXライブラリって名前からして、DirectX使えないプラットフォームじゃ無理だってわからんのか
Java/OpenGLのライブラリ使えばMacだろうがAndroidだろうが動くよ
そんなライブラリいくらでも転がってるぞ
224名前は開発中のものです。:2013/01/17(木) 19:02:06.08 ID:y260I886
名前からしてw
225名前は開発中のものです。:2013/01/17(木) 19:53:40.49 ID:W5osK7wt
javaはオワ言
226名前は開発中のものです。:2013/01/17(木) 20:47:11.88 ID:AbX74cwN
DXライブラリPortableってのが
OpenGLでDXライブラリに似せたやつなんじゃなかった?
たぶん全部網羅してないと思うけど
227名前は開発中のものです。:2013/01/17(木) 20:53:12.75 ID:Sw1TiM5a
俺の行ってた専門学校ではJava版DxLib作られてたなあ
中身はまったくDxLib関係無いし、DirectXも関係無いんだけどww
228名前は開発中のものです。:2013/01/17(木) 21:15:28.41 ID:oDCr8gfa
DXライブラリの文法で、DXライブラリと同じ挙動をするものができたなら、
中身が何で作られてるかはどうでもいいんじゃないかな。
229名前は開発中のものです。:2013/01/17(木) 21:35:46.82 ID:6tOj86Yi
リファレンス印刷したら何枚になるかな
230名前は開発中のものです。:2013/01/17(木) 22:18:07.32 ID:ukhppMom
>>220
冗談かと思ったら本当にそうだったからますます意味わからん
JVM言語から呼べて幸せみたいなことなんだろか

>>222
SDLとかGLFWとかSFMLとか
231名前は開発中のものです。:2013/01/17(木) 23:32:53.17 ID:Xsv/5s75
CheckHitKey3つ以上のキーに反応しないな
232名前は開発中のものです。:2013/01/17(木) 23:36:57.20 ID:HrU5TUhc
233名前は開発中のものです。:2013/01/17(木) 23:40:45.96 ID:5gqibGAf
なんでお前らってものの4分なんかで的確なリンク貼れるん?
234名前は開発中のものです。:2013/01/17(木) 23:47:45.31 ID:Sw1TiM5a
これが数の力ってやつだな
235名前は開発中のものです。:2013/01/18(金) 04:23:39.61 ID:puSsLsri
DXライブラリと同じ使い方が出来て、同様の関数名のライブラリとかいいよな
非公式関数使わなければ、DXライブラリ用のコードをそのままPSPアプリにできるDXライブラリportableなんてのもあったっけ
236名前は開発中のものです。:2013/01/18(金) 10:22:47.65 ID:GsVpjuKU
ゲーミング用キーボードって海外のRTSプレイヤーが使うやつか
237名前は開発中のものです。:2013/01/18(金) 20:57:16.74 ID:DhoQ71V1
普通のキーボードだと、同時押し出来ない組み合わせがあるってのは、
ある程度PCゲームをやってる人なら常識中の常識って話らしいしなー
238名前は開発中のものです。:2013/01/18(金) 21:04:34.87 ID:Hvo8iZxx
zxcvは4つ同時押し普通にできるけどzsxを同時押しはできない
239名前は開発中のものです。:2013/01/18(金) 22:57:15.07 ID:H1aGQ9b6
>一般的なキーボードは6キーまで
3だと思ってたわ
安物しか使ってないのがばれる
240名前は開発中のものです。:2013/01/18(金) 23:10:36.00 ID:0xoMQDl+
ノートだと他のキー押してるとテンキーとかカーソルで一部の斜め入力が出来なくなったりするんだよな
よく使う組み合わせなのに機種で違うからコンフィグだけじゃ対処できず面倒
241名前は開発中のものです。:2013/01/19(土) 00:04:39.61 ID:H2t7hD3l
>>239
標準的なUSB接続の最大が6キーって話と、
キーボードの構造上何キーまで押せるかは別の話だからな

てかこのスレいつからこんなにレベル低くなったんだよw
キーボードの簡単な構造が理解できてないってマとしてはヤバイだろ
242名前は開発中のものです。:2013/01/19(土) 00:19:18.52 ID:k6RS87Ma
内部配線まで判るのか?
PC9801とかはマニュアルにポートと対応するキーマトリクス図があったけど
243名前は開発中のものです。:2013/01/19(土) 00:40:04.79 ID:H2t7hD3l
そういうくだらない突っ込みがありそうだから
「簡単な構造」って書いたんだがな。
メンブレン、メカニカル、パンタグラフ、静電容量無接点くらいは電気屋でも書いてあるレベルでしょ。

まあ俺は配線もある程度わかるけど、マが全員が細かい配線までわかるわけじゃないだろうな。
244名前は開発中のものです。:2013/01/19(土) 00:46:00.36 ID:LjFmaVLp
で、DXライブラリスレで続ける話なの?
245名前は開発中のものです。:2013/01/19(土) 05:14:16.17 ID:tuSK099a
>>241
低レベルな話題なのは間違いないな。

>>244
簡単に、おさらいする程度ならいいんじゃね。
246名前は開発中のものです。:2013/01/19(土) 05:36:41.61 ID:tXalNFl/
そんなことより、ググることもせずにCheckHitKeyのせいにするのが問題ではないのかね
何でもかんでもバグですか?って奴、あたしキライかな
247名前は開発中のものです。:2013/01/19(土) 13:22:04.59 ID:LAAnTEmz
まあまあ。
問題の切り分けができない初心者も多く見るスレだし
多少は大目に見ましょうよ。

ちなみに>>232のページは
Googleで「キーボード 同時押し」で検索すれば
すぐでてくるんだけどね。
248名前は開発中のものです。:2013/01/19(土) 14:05:50.12 ID:tuSK099a
問題の切り分けが出来れば、既に何割か解決してるようなもんだしな
249名前は開発中のものです。:2013/01/19(土) 16:28:02.75 ID:rgeDED6y
キーボードの同時押し数の問題は、俺は自分で気付いたな
ノートPCで開発してたんだが、キャラが斜め移動しないときがあって、その条件を見つけて、たまたま別の時にUSBキーボードぶっ指して試したら動いたってエピソードから
250名前は開発中のものです。:2013/01/19(土) 16:46:06.66 ID:nuYEon+u
>>246 は >>231をもう一度ていうか10回嫁
どこにそう書いてあるんだ
251名前は開発中のものです。:2013/01/19(土) 17:20:19.81 ID:jv/nj5cr
架空のバカを作って自分を安心させようとしてる無能君だろうからほっとけ
252名前は開発中のものです。:2013/01/20(日) 12:38:07.79 ID:WXjtOcXW
DXライブラリみたいなのをMac版つくってくれたら
普通に買うんだけどなあ。10万くらいまでなら。
つーかDXライブラリも金払っていいレベルだけどな。
253名前は開発中のものです。:2013/01/20(日) 13:00:04.57 ID:m9jSbRj1
DXライブラリたって特徴的なのはポインタがハンドルになったぐらいじゃないの?
金出すならマルチプラットフォームの有償ゲームエンジンでも使ったほうがいいだろ
Macはユーザー数も少ないし個人用ならそこまで出すほどでも無いし
ソースコードもある上にAPIの上っ面だけならゲーム1本作るより簡単に移植できるだろ
254名前は開発中のものです。:2013/01/20(日) 13:18:25.96 ID:cAeWsG6t
DXライブラリの本当のポイントは、日本語の解説とサポートだろうな
英語できるなら、もっと高性能で情報もあるゲームエンジンがいくつもある。
255名前は開発中のものです。:2013/01/20(日) 13:29:16.28 ID:PninitII
MacでDXライブラリって、2DならSDLやCocos2dがあるし3DならUnity買えば良いよな…?
256名前は開発中のものです。:2013/01/20(日) 13:32:55.19 ID:QlaBrNDr
>>254
これに尽きるだろうな
優秀なライブラリはたくさんあるが、リファレンスにしろチュートリアルにしろ
英語あさったり中国語あさったりしないといけないのがハードル高いんだろう
257名前は開発中のものです。:2013/01/21(月) 14:25:07.18 ID:AdJSaJSc
関数ごとにサンプルプログラムまで載せてくれてる
ほんま丁寧やな山田ぁ〜
258名前は開発中のものです。:2013/01/22(火) 01:59:51.06 ID:EnU0Yedl
3Dモデル使うならどの形式が一番ラクで安定しますか?
259名前は開発中のものです。:2013/01/22(火) 11:48:32.56 ID:0zV0k7wf
DXライブラリつかうならMQOのメタセコ形式だとおもう
260名前は開発中のものです。:2013/01/22(火) 11:55:09.59 ID:u68dNeXC
メタセコのときアニメーションはどうしますか
261名前は開発中のものです。:2013/01/22(火) 12:11:08.97 ID:9iw0K98/
オメェの目の前の箱じゃgoogleも開けねえのか
262名前は開発中のものです。:2013/01/22(火) 12:46:24.23 ID:TyYNvfgb
方法がないわけではないが面倒なので別の形式にエクスポートしてモーションつけたらいい
263名前は開発中のものです。:2013/01/22(火) 14:56:34.81 ID:EnU0Yedl
ボーンはどの段階で入れるのがいいかが気になります
コンバートすればx〜pmdまで行けるにはいけるんですが‥…。
264名前は開発中のものです。:2013/01/22(火) 20:39:26.12 ID:EnU0Yedl
メタセコイアxファイル出力→pmediterでボーン作成がよさそうですね
やり方はいくらでもあるんですがそれ故に迷いますね。
265名前は開発中のものです。:2013/01/22(火) 22:05:00.76 ID:/1GIyhkK
DXライブラリの処理をGPGPUみたいにグラボにさせることって出来ないかな
どう考えても大量のパーティクルの運動や回転計算はグラボのほうが向いてると思う
あとメーカー製のパソゲーがCPUよりグラボに依存してるのってGPGPU使ってるから?
266名前は開発中のものです。:2013/01/22(火) 22:46:28.16 ID:dANqCnc7
知識を得る順番がおかしい
プログラマーじゃなくてゲーマーかな
267名前は開発中のものです。:2013/01/22(火) 22:48:42.90 ID:iYdC54ij
>>265
普通にポリゴン数とテクスチャ量が多くて安物じゃ描画できないから>グラボ依存
DXライブラリ製のゲームでCPUが足りなくなるのはアルゴリズムがおかしい

あと共通規格のコンピュートシェーダーはDX11必須だし
普通のシェーダでGPGPUやろうとするとメーカーによる処理結果の違いのサポートで死ぬ
268名前は開発中のものです。:2013/01/22(火) 22:56:05.40 ID:GMLRxwcv
つか、パーティクルだったら普通にシェーダでできるじゃない
なんでGPGPUなんだよ。意味分からん
269名前は開発中のものです。:2013/01/22(火) 22:58:25.52 ID:m2mKOF3H
最近知った単語なんだろ。
270名前は開発中のものです。:2013/01/22(火) 23:22:23.02 ID:FMGu1d4a
パーティクル同士の衝突判定であればGPGPUを使うこともあったかもしれない
それ以前につっこみどころ多いけど
271名前は開発中のものです。:2013/01/22(火) 23:37:09.24 ID:MFEbnhgT
当たり判定を複雑な形にしたら重くなったでござる
272名前は開発中のものです。:2013/01/22(火) 23:42:36.82 ID:F7fSkHUX
複雑って、どんなかんじ? 
273名前は開発中のものです。:2013/01/23(水) 00:08:25.07 ID:G4cHbzfF
たくさん積み重ねてピラミッド状
274名前は開発中のものです。:2013/01/23(水) 00:11:28.18 ID:5HCoVAhI
お察しの通りゲーマー出身です
まだ無知からちまちま組み始めて半年程度の初心者なんで試行錯誤しながらですけど
単純に最大パーティクル数だけ構造体配列とって
有効フラグ入ってるものだけ運動回転拡大縮小寿命などの処理して描画
って形だけど万単位になってくるとシングルスレッドじゃキツい
で、少しでも軽くするのに条件分岐の細分化とかしてたんだけど
こういう計算ってグラボの得意分野じゃないかなと思って。
確かにGPGPUは最近調べた程度でよく知らないし、
シェーダ関係はまだ勉強してないから的外れだったかもしれないけど
これってもしかしてシェーダ勉強したら解決すんの?
275名前は開発中のものです。:2013/01/23(水) 00:16:00.20 ID:ybqj+JME
まず万単位のパーティクルは必用なのか
276名前は開発中のものです。:2013/01/23(水) 00:28:40.67 ID:5HCoVAhI
昔PSPのゲームの内部メモリ書き換えてエフェクト作りしてて
その時にスペックでやりたい表現が限定されてたから
せっかくパソに移行するんだしやれる限り自由にしてみたいと思ってる
パーティクルなんて数出せれば出せるほど自然で綺麗なのが出来るから可能な限り数は増やしたい
277名前は開発中のものです。:2013/01/23(水) 00:34:43.93 ID:rA0ao318
>>252
つUNITY
278名前は開発中のものです。:2013/01/23(水) 05:58:07.73 ID:cORRvzpP
ゲームってのはいかに見てくれをごまかすかってのが大事だから
ずる賢さとカンを鍛えないとまず完成しないぞ。
279名前は開発中のものです。:2013/01/23(水) 06:02:26.67 ID:ZniXIhQ/
一つの画像にパーティクルをたくさん描いたものをパーティクルとして出せば節約できるからな
エフェクトに無駄に処理食われてるゲームって、見てて非常に馬鹿らしい
280名前は開発中のものです。:2013/01/23(水) 06:02:59.62 ID:N9qOtD/D
パーティクルを頂点バッファに格納してバーテックスシェーダで頂点運動計算したらいいじゃないって妄想してみる
281名前は開発中のものです。:2013/01/23(水) 09:55:54.17 ID:5HCoVAhI
PSPみたいな百程度で処理落ちを意識しないといけないような非力なときはそうやってたんだけどな
内部メモリの書き換えだからメーカーの用意したテクスチャ使ってたし
例えばプリレンダムービーとかの塵や水しぶきなんかひとつとってみても
単位塊が小さく運動が複雑なほど見てくれは良くなるから
それをスペックを振りかざして作ってみたいんだ
炎や煙なんてアニメーション使って1エフェクトでも作れるが
やっぱり数は多い方がかっこよくなる
自分のやりたいゲームを作るのに並ぶぐらい、エフェクトを作ってみたいんだ

>>280
サンクス、ちょっとシェーダ関係ちゃんと勉強してみるよ
282名前は開発中のものです。:2013/01/23(水) 10:10:56.89 ID:kERrhHNS
スペックを最大限に生かすようなシェーダを本格的に使うならDirectX9のDXライブラリ捨てて
DirectX11使ったほうが楽、SM3.0と5.0じゃ出来ることが違いすぎる
283名前は開発中のものです。:2013/01/23(水) 10:18:03.70 ID:/nU1rnll
最初から細部の技術にこだわるのは
企画にこだわるのと同じく完成しないパターンの王道中の王道なので
まずはゼビウスとかスターフォース程度のものを作って
それにエフェクトを追加していくのをを勧める・・・
そのままだと、理屈ばかり達者で何もできないタイプになってしまうぞ・・・
284名前は開発中のものです。:2013/01/23(水) 10:30:20.11 ID:5HCoVAhI
DirectX11か
でもプログラミングの知識がDXライブラリ触るまで全く無かったレベルだから
DXライブラリ使って一旦作れるところまで作ってそれでも物足りないって感じるぐらい成長したら考えてみるよ
何年後か分からんが

言い忘れてたけど3Dアクション的なもの作ってるんだ
一応ゲーム部分も順調に進んでる
メニュー画面こそ全く手はつけてないけど運動の記述やカメラワーク、弾薬やエフェクトの管理、ステータス管理辺りは推敲の余地はあれど作れた
あとモデルのアニメーションや当たり判定つけたら一応はゲームとして成り立つと思う
それから肉付けかな
285名前は開発中のものです。:2013/01/23(水) 13:08:14.07 ID:4AnFWmG1
>>282
ペックを最大限に生かすようなシェーダを本格的に使うなら
簡単なDXライブラリでゲームを数本つくれるから
ケースバイケース
286名前は開発中のものです。:2013/01/23(水) 23:29:16.97 ID:tE4Jzq9o
>>280
これってVRAM上で計算するから速いんだよね?
行列を作るのに必要な値の引数とかシステムメモリ内にあったらやっぱ意味ないよな
287名前は開発中のものです。:2013/01/24(木) 01:34:14.27 ID:tNqoJ339
>>283
>ゼビウスとかスターフォース程度
簡単に言ってくれるなwww
288名前は開発中のものです。:2013/01/24(木) 01:47:25.41 ID:3cjg0G7B
>>283みたいに軽く言う奴は本当に無茶苦茶出来る奴か当の何も出来ない奴かの二択
289名前は開発中のものです。:2013/01/24(木) 02:16:26.45 ID:nb6dFW54
まずは二次元の豆腐からだな…
290名前は開発中のものです。:2013/01/24(木) 09:08:32.57 ID:7O7Z776h
>>287,288
こういうのは問題を単純化できてない人
291名前は開発中のものです。:2013/01/24(木) 13:01:12.43 ID:/rtVMtpT
>>287
昔はハードウェアの非力さのための無茶な高速化でのバグに泣いた
いまさらスターフォースでも無いからあんなもの作らないけどな
292名前は開発中のものです。:2013/01/24(木) 23:28:26.54 ID:kz8EXZqN
初歩的な質問で申し分ない。
現在、2Dゲームを製作中で、これのゲームのエフェクト等を強化するため、
シェーダなるものに手を出してみたいのだが、調べてみたところ、3D機能と一緒に語られることが多いように思う。

自分は今まで3Dで作りたいと思ったゲームが無く、
きちんと調べたことがないため、3Dの知識は基礎の基礎しかない程度。
この状態からだと、今のゲームは横に置いといて、先に幾つか3Dゲームを作ってみるのが無難だろうか。
293名前は開発中のものです。:2013/01/24(木) 23:37:23.76 ID:3OTBzXz0
3Dはほとんど関係ない
シェーダには、ピクセルシェーダと頂点シェーダがあって、
ピクセルシェーダは画像をピクセル単位で描画するもの
頂点シェーダはポリゴンの頂点を変更して描画するもの
どっちも2Dゲームでバリバリ活用できる
294名前は開発中のものです。:2013/01/24(木) 23:37:33.71 ID:8S5jWE4+
3Dライブラリを使って、2Dゲームを作る手法がある。
カメラが固定であれば、2Dゲームに見えるわけで、
作り方も、2Dスプライトシートを平板に貼り付けて作るのもあります。
DirectX9としたら、場合によって2Dよりも3Dの方が処理が速くなる。
ということで、3D空間で2Dゲームを作ってみるのを薦める。
295名前は開発中のものです。:2013/01/24(木) 23:38:23.25 ID:3OTBzXz0
それDXライブラリでやってくれてる処理だから…
296名前は開発中のものです。:2013/01/25(金) 00:11:07.84 ID:ruO10anV
>>294
DxLibは内部的には3D処理だよ。
そもそも今時そうでない事の方が珍しい。
297名前は開発中のものです。:2013/01/25(金) 01:51:39.46 ID:fVV6K/67
だからDXライブラリじゃなくて自前でやってみろって話じゃないの?
298名前は開発中のものです。:2013/01/25(金) 04:00:40.90 ID:LBoNZSHO
シェーダの実装にあたって疑問なんだけど
例えばパーティクルを常にカメラ方向に向けたいときって簡単に書くと
v1:パーティクル座標からカメラ座標方向のベクトル
v2:パーティクルの法線ベクトル
VTransform(v2, MGetRotAxis(VCross(v1,v2), acos(VDot(v1,v2)/(VSize(v1)*VSize(v2))) ) );
みたいな感じで今まで処理してたんだが
シェーダ実装となると
回転行列:カメラと各パーティクルの位置関係によってそれぞれ異なるので求める必要がある
v2:頂点バッファがVRAM内なのでVRAM内で求めれる
v1:カメラ座標(システムメモリ内)が関わるので毎フレームシステムメモリからVRAMに渡す必要がある
といったことになるんだけどこれってv1のせいで全然速くなくなる?
そもそもこんな計算必要ないだろうか
初心者でしかも独学もいいとこなんで指摘してほしい
299名前は開発中のものです。:2013/01/25(金) 09:38:22.71 ID:OaiMDUMz
>>298
DirecrtX9だとビルボードは6点座標がいるので
ポイントスプライトでやるのが一番はやいんだけど、
Dxlibでもつかえるならこれじゃないかな。
ビルボードを向けるなら

>v2:頂点バッファがVRAM内なのでVRAM内で求めれる

のとこが速くなるけど、カメラの座標をVRAMにおくってるなら
VRAM内でパーティクルの法線ベクトルももとめられるよ。
300名前は開発中のものです。:2013/01/25(金) 13:14:10.05 ID:fcJD8Kj3
シェーダって普通開発言語と分けて定義するもんじゃないの?
301292:2013/01/25(金) 14:25:23.17 ID:6m++Y7QK
遅くなったけど、2Dゲームでのシェーダ利用についてアドバイスありがとう。

>>293
そうなのか、安心した。
まずは単純なフィルタから試してみようと思う。

>>294
今まで2D描画関数で描かれてた部分なんかを、3D描画関数に移植してみるってことだよね。
シェーダ云々に限らず、2Dゲームでも意識して3D空間を利用することで、面白い効果を得ることも出来そうだ。
302名前は開発中のものです。:2013/01/25(金) 17:08:51.29 ID:8CABdLha
DXライブラリはtechnique対応してないから少しやり難いんだよなあ
303名前は開発中のものです。:2013/01/25(金) 22:55:29.79 ID:6zDp8Xer
>>299
そうなるとモデルの座標や弾薬の座標までVRAMに置くことになるな……
普通どういうのをVRAMに置いてどういうのをシステムメモリに置くんだろうか
計算に必要なデータ全てをVRAMに置くってのは一般的なの?
304名前は開発中のものです。:2013/01/25(金) 23:21:52.80 ID:+5K/vOlC
全然一般的じゃない
305名前は開発中のものです。:2013/01/25(金) 23:59:53.40 ID:6zDp8Xer
ですよね
置くデータ吟味しないととか思ったけど
よく考えたらGPUに頼るのに向いた計算って大量のパーティクルの運動・描画関係ぐらいだわ
勢いで駄レスしてすまんかった
306名前は開発中のものです。:2013/01/26(土) 00:19:16.23 ID:mO3cEt6j
DXライブラリを学習したいんだけど、どこかいいサイトとかない?
307名前は開発中のものです。:2013/01/26(土) 00:22:37.19 ID:TjtL3Ka1
308名前は開発中のものです。:2013/01/26(土) 00:30:17.86 ID:mO3cEt6j
ありがとう
とりあえず最初から全部見ていく
309名前は開発中のものです。:2013/01/26(土) 00:35:25.21 ID:TjtL3Ka1
少し慣れたら

龍神録プログラミングの館
http://dixq.net/rp/
ここもありかな。いきなり難易度あがるかもだけど。
シューティングゲームに興味ないなら見なくてもいいかも。
310名前は開発中のものです。:2013/01/26(土) 00:43:25.07 ID:mO3cEt6j
重ね重ねありがとう
STGも作ってみたいから慣れてきたら見てみる
311名前は開発中のものです。:2013/01/26(土) 01:26:24.49 ID:AqregLHf
自分のプログラムからClearDrawScreenをコメントアウトしてみたら何も影響なかったんだけど、
裏画面に描画する場合要らないのかな?
312名前は開発中のものです。:2013/01/26(土) 01:59:35.49 ID:f0KSWvIN
>>311
背景画像を消してみ
313名前は開発中のものです。:2013/01/26(土) 02:46:26.52 ID:KHTdOjgo
そういえばCPUだとfloatもdoubleも速度は同じか下手すりゃdoubleの方が速いって話だったけど
GPUだと速度差ってどれぐらいなの?なんかfloatのほうが速いとか聞いた気がするんだけど
314名前は開発中のものです。:2013/01/26(土) 09:28:20.81 ID:k/hXdN+k
CPUじゃ下手すりゃってレベルじゃなく確実にdoubleの方が速い
GPUは知らんけど、多分floatの方が速い

てかそういうレベルのことを気にするなら、自分でテストプログラム書いて実測してみるべき
315名前は開発中のものです。:2013/01/26(土) 10:33:36.91 ID:UgVxm50v
どうせ行列はSIMDで実装するんだから速くなるfloatでいいだろ
スカラーでもx87ではなくSSE演算なら同等だし
CPUキャッシュが効きやすい分サイズの小さいfloatで良い
GPU側のdoubleはDirectX9じゃ保証されず無駄に終わるから事実上floatしか使えない
316名前は開発中のものです。:2013/01/26(土) 14:24:25.10 ID:KPbvMtEV
VC2012でもDXライブラリは使えますか?
317名前は開発中のものです。:2013/01/26(土) 14:36:57.46 ID:fulT9WBG
GPUはユニットを大量に組み込むことで、元々SIMD的なグラフィックの処理を高速化してるからな
サイズがデカくなりがちなdouble基はあまり載せたがらないだろ
318名前は開発中のものです。:2013/01/26(土) 15:52:59.75 ID:rBpT1c61
>>316
公式すら調べられない人は必ず挫折すると思うの
http://homepage2.nifty.com/natupaji/DxLib/dxuse.html
319名前は開発中のものです。:2013/01/26(土) 16:20:34.49 ID:hMxU+rFm
優しいなお前
320名前は開発中のものです。:2013/01/26(土) 17:26:57.60 ID:xjfqU5/q
>>313
実行時に簡易的なベンチマーク走らせて自動切り替えするようにしようぜ!
321名前は開発中のものです。:2013/01/27(日) 02:01:13.41 ID:hg1sZtQt
DXライブラリでステンシルシャドウってできるのかな
322名前は開発中のものです。:2013/01/29(火) 18:14:10.39 ID:V+R2O8Hy
数学教育用のゲーム作ろうとしたらプログラミングより数学がムズかったワロタ
知育ゲーのデザインしてる人ってすごいんだな
323名前は開発中のものです。:2013/01/29(火) 18:55:18.01 ID:172IulGT
そりゃー数学にDXライブラリのようなものはないからな。
324名前は開発中のものです。:2013/01/29(火) 19:12:34.38 ID:/zMCbR8J
プログラミングはあくまで言語だからな
アルゴリズムではあるけど数学じゃない
325名前は開発中のものです。:2013/01/29(火) 23:24:45.39 ID:wwwY9zfj
フリーフォント使う方法を検索してAddFontResourceExを使うということはわかったんだけど
これメモリに読み込んだ先頭アドレスとかじゃなくて、ファイルパスを指定するやつだから
Dxアーカイブを併用することができないよね
ライセンス緩い人のでもできることなら暗号化してあげたいんだけど良い方法ないのかな?
326名前は開発中のものです。:2013/01/29(火) 23:43:52.28 ID:/zMCbR8J
残念ながら、ない
アーカイブからテンポラリフォルダに展開するとかしないと
327名前は開発中のものです。:2013/01/29(火) 23:53:30.50 ID:wwwY9zfj
>>326
そっか・・・あずきフォントちゃんと一緒にがんばります
328名前は開発中のものです。:2013/01/30(水) 00:29:09.22 ID:XNeNImxj
>>327
FileRead_readでファイル読み込んで
AddFontMemResourceExに渡せばできるます
329名前は開発中のものです。:2013/01/31(木) 08:52:34.26 ID:7vPys7v/
横アクションゲームの背景を一枚の画像を繰り返し表示させるようにしたいけど、一枚をloadgraphで一つの画像として使うのがいいのか、loaddivgraphで分割でよみこませて使ったほうがいいのか悩む。実装次第なんだろうけど。
どうやって実装してます?
330名前は開発中のものです。:2013/01/31(木) 17:33:31.65 ID:LOWFSByE
処理速度っていう話なら、フレーム毎に背景画像をまるまる2枚分描画しても問題ないと思うよ。

あとは、1/2とか1/4に分割して、組み合わせられるような作りにしておくと、
ちょっとしたメリハリになる。
331名前は開発中のものです。:2013/02/02(土) 18:51:58.54 ID:6gGk3p39
MV1_COLL_RESULT_POLYの放線のNormalって正規化されてますか?
332名前は開発中のものです。:2013/02/03(日) 03:59:15.78 ID:TTrenHy0
されてようがされていまいがノーマライズ掛けてやったらいいじゃない
まず、試すこと確認することが技術を向上させるので、お試しあれ
333名前は開発中のものです。:2013/02/03(日) 13:54:25.75 ID:Ahy4kKoo
俺的にはLoadGraphだな
結局全部分の画像ロードしてんなら分割しない方が小さいし、どうせクリップはハードウェアで行ってくれるし、範囲内しかピクセルシェーダ動かないし、ポリゴン数少なくなりそうだし
とかいう微々たる違いがあるかないか程度のは置いといて、マが考えることが少なく、コードも楽になりそうだから
334名前は開発中のものです。:2013/02/03(日) 22:32:02.38 ID:XSA1Makf
初心者で勉強がてらに2点を指定するだけで2Dの四角形を表現できる
単純な矩形クラスを作ってるんだけど、
コンストラクタの引数として、始点と終点を渡すという方法の他に、
基準点と縦横のサイズを渡すっていう方法も追加したい。

Rectangle(int x1, int y1, int x2, int y2);
Rectangle(int x, int y, int width, int height);
でもこれだと引数の型が全く同じでオーバーロードできなくて困っています。
超絶スーパーハッカーなみんなは、こういう時どうしますか?

一応解決方法として
前者のみで、Rectangle(x, y, x + width, y + height)という風に使うようにして諦めるか、
適当に構造体Point(メンバとしてx,y)・Size(メンバとしてwidth,height)を作ってそれを
コンストラクタの引数の型にするかとか考えたけど、もっとスマートな解決法があったら教えて欲しいぜ
335名前は開発中のものです。:2013/02/03(日) 22:42:10.97 ID:L38hqTej
自分なら
Rectangle(Point, Point)
Rectangle(Point, int, int)
かな

と思ったけど微妙だった
336名前は開発中のものです。:2013/02/03(日) 23:00:22.12 ID:+4g/ZM9o
Rectangleを返すメソッドを作って分かりやすい名前をつける
337名前は開発中のものです。:2013/02/03(日) 23:01:18.00 ID:eS6sx6A7
enum Mode { POINT, SIZE };
Rectangle(int x1, int y1, int x2, int y2, Mode mode = POINT); // 省略したらPOINT
みたいなのとか
338名前は開発中のものです。:2013/02/03(日) 23:13:37.46 ID:NihEdeyX
クラスのstaticメソッドでわかり易い名前で作成関数を作る
339名前は開発中のものです。:2013/02/03(日) 23:31:49.86 ID:XSA1Makf
>>335-338
ありがとう。静的メンバ関数は盲点でした
ちょっと別の話になるけどこれってテンプレートとか駆使すれば
なんかすごい便利になりそうなんだね。勉強するわー
340名前は開発中のものです。:2013/02/03(日) 23:38:00.55 ID:uoQXrSPL
漏れは関数名変えるなぁ。Rectangle_WidthHeight()みたいに。
intelisenceがあれば、どんなに長いメンバ名でもへっちゃらさ。
341名前は開発中のものです。:2013/02/03(日) 23:47:52.94 ID:eS6sx6A7
これはクラス名だよ
342名前は開発中のものです。:2013/02/03(日) 23:58:48.81 ID:L38hqTej
それは置いといてもキャメルケースかスネークケースか統一して欲しい
343名前は開発中のものです。:2013/02/04(月) 09:54:59.11 ID:wXhAH7Z5
>>334
1、width, heightはunsignedにする

2、真面目に定義する
position2d( x, y )
dimension2d( width, height )
rectangle2d( position2d, position2d )
rectangle2d( position2d, dimension2d )
rectangle2d( int, int, int, int )
344名前は開発中のものです。:2013/02/04(月) 10:14:02.16 ID:Yvgpa3V5
>>334

struct Point
{
int x,y;
};

struct Size
{
int width,height;
};

struct Rect
{
Point point;
Size size;
};
345名前は開発中のものです。:2013/02/04(月) 13:20:48.23 ID:pFrfF8Wo
少し上の話だけどdoubleのほうがfloatより速いってのはいいすぎじゃないの?
64ビットパソコンなら標準でdoubleの計算が出来るからfloatと変わらないって程度
32ビットパソコンなら確実にdoubleのが遅い
346名前は開発中のものです。:2013/02/04(月) 13:28:41.39 ID:YpPFyKxH
float不要論って一体どうした事由で発足したのか
347名前は開発中のものです。:2013/02/04(月) 13:47:54.04 ID:CECFakY+
速度的に大差がないなら、スケールの関係でdoubleに一本化しちゃっても問題ない場合はあるだろうな
348名前は開発中のものです。:2013/02/04(月) 14:03:28.60 ID:KYRlOGZW
DirectXのサンプルはfloat
349名前は開発中のものです。:2013/02/04(月) 15:14:31.41 ID:9F9Z3aQ3
CPUだとdoubleとfloatの速度差は全然無いから精度の高いdoubleを使った方が良いという話
DirectXはfloat処理だからfloat使わないと狂う
350名前は開発中のものです。:2013/02/04(月) 17:09:49.39 ID:QQ3Phg7h
SSEの並列化や描画に変換するの入れたらfloatかなあ
半分のサイズだしレジスタ節約できるだろうし
精度を気にしてdouble使うならSetUseFPUPreserveFlag使うの忘れずに
351名前は開発中のものです。:2013/02/04(月) 20:46:21.37 ID:V41uhq2Z
x86系のCPUでは演算そのものはdoubleの方が速い。
double演算回路しか積んでなくて、
floatだとわざわざdoubleに変換しないといけないから。
ただ調べてみたらメモリアクセスの関係で
遅くなったり速くなったりする事はあるみたい。
GPUは知らん。
352名前は開発中のものです。:2013/02/04(月) 20:56:09.13 ID:VW/Benx2
遅いたか速いとかそんな速度にシビアなゲーム作ってんの?
353名前は開発中のものです。:2013/02/04(月) 21:00:49.55 ID:C8HyUDJ8
float/doubleは動的にベンチマークして切り替えようぜ!
354名前は開発中のものです。:2013/02/04(月) 21:04:53.06 ID:QQ3Phg7h
doubleだろうとfloatだろうと演算速度はx87の精度レジスタの値で違うだけで同じ
floatが遅いのは浮動小数点モデルがPrecise (/fp:precise)になっていて丸めに余計な処理食われてるから
Fast (/fp:fast)にするだけで同等かやや速くなる
拡張命令セットをSSEにすれば一部の計算はSSEユニットで高速化される
355名前は開発中のものです。:2013/02/04(月) 21:04:58.75 ID:ZgX5pyB7
それで正確な判断をするにはそれなりに回して平均を取らないといけないから駄目だ
大体動的に切り替えるように組むとそれだけで全体的にコストが掛かる
ゲームやる側からすると、ほとんど意味が無いしな
カジュアルにプレイしたい層からはベンチマークがそこまでしなくてもいいと思われ、
それなりに環境を整えてるプレイヤーからはそんな些細な高速化いらねーよと思われ
356名前は開発中のものです。:2013/02/04(月) 21:39:52.25 ID:A3Xez43D
floatとdoubleの速度差が問題になるようなら、
もっと別の根本的な構造を見直したほうがいいw
357名前は開発中のものです。:2013/02/04(月) 21:44:36.58 ID:uWKBXb/v
きっちり詰めて考える、と捨てるとこは捨てて気にしない、のバランスは難しいよな
358名前は開発中のものです。:2013/02/04(月) 21:44:43.62 ID:V41uhq2Z
CPU側の浮動小数点演算でシビアになってくるのは
あたり判定とか自作の物理エンジン動かしてるときかね?
そんなのとは無縁なゲームしか作ってないからよく分からんが。
359名前は開発中のものです。:2013/02/04(月) 21:56:40.94 ID:Sb22e+Xw
話ぶった切って不真面目に定義する

struct Point {};
struct Size {};

template <typename T>
Rectangle create();

template <>
Rectangle create<Point>(int, int, int, int)

template <>
Rectangle create<Size>(int, int, int, int)
360名前は開発中のものです。:2013/02/05(火) 01:00:48.20 ID:xpRXoRhq
初歩的なことで申し訳ない
#include "DxLib.h"
void cVramClear(char cVram[25][80])
{
int i,j;
for(i=0;i<25;i++)
{
for(j=0;i<80;j++)
{
cVram[i][j]=' ';
}
}
}
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
//初期設定でごわす
charcVram[25][80];//キャラクタVRAM
// ウインドウモードに変更
ChangeWindowMode( TRUE ) ;

if( DxLib_Init() == -1 )// DXライブラリ初期化処理
{
return -1 ;// エラーが起きたら直ちに終了
}
cVramClear(cVram);
WaitKey() ;// キー入力待ち

DxLib_End() ;// DXライブラリ使用の終了処理
return 0 ;// ソフトの終了
}
ポインタのことで質問してるから、スレ違いだったらごめんですけど、答えてくれたらありがたいです
361360:2013/02/05(火) 01:10:19.42 ID:xpRXoRhq
聞くは一時の恥
ということで、回答してくれることをお願いします

ポインタの理解がいまだ足りないので、そういう説明のあるページに誘導してくれるだけでもありがたいです
362名前は開発中のものです。:2013/02/05(火) 01:13:25.04 ID:IcAy45XJ
何が質問なんだよw
363名前は開発中のものです。:2013/02/05(火) 01:53:12.92 ID:dlNsuo60
for(j=0;i<80;j++)
なんかよくわからんがここじゃね
364名前は開発中のものです。:2013/02/05(火) 02:06:52.45 ID:xpRXoRhq
>>363
ビンゴでした
タイプミスとは情けない…

とにかくありがとうございました
また凡ミスを尋ねることがあるような気がします
なるべくそうならないように気をつけますが、その時はまたお願いします
365名前は開発中のものです。:2013/02/05(火) 02:12:09.55 ID:vTtLYoWd
尋ねるのはいいんだが
というかまず尋ねて欲しい
366360:2013/02/05(火) 02:39:32.29 ID:xpRXoRhq
>>365
ちょっと端折り過ぎましたね

実際に聞きたかったのは、二次元(多次元)配列を関数に渡すときに、どうやるのかを聞きたかったんです
先のコードの
void cVramClear(char cVram[25][80])
ですが、実際に組んだコードは
void cVramClear(char **cVram)
だったんですが、エラーが出たので、上記のように書きなおして通ったものの、今度はフリーズしたんで何がおかしいんかなって質問したんです
で、まさか原因がタイプミスとは…w

多次元配列を関数に渡す方法を知りたいのですが、スレ違いかなとびくびくしながら質問したワケです
なにしろBASICしか使えない素人なもんで、いろいろと迷惑かけますが、理解してくれるとありがたいです
367名前は開発中のものです。:2013/02/05(火) 02:41:10.94 ID:IcAy45XJ
よくわかりもしない初心者が質問端折ったらわけわからないんだよ
何がわかってもいない状態で質問するなら、丁寧すぎるくらい詳細に書くべき
368名前は開発中のものです。:2013/02/05(火) 06:57:05.82 ID:zc1w0bg0
>>367
前提条件とかズラズラ書いたけど、結局最後の2行だけでも十分に質問内容が伝わるってことも多いけどなw
369名前は開発中のものです。:2013/02/05(火) 09:53:00.49 ID:af2FBNgf
ってかmemset使え。
370名前は開発中のものです。:2013/02/05(火) 11:01:50.27 ID:qDY8x7QK
せめて○○をどうすれば?とか、今回なら「フリーズしてしまって」とか書きゃいいのに
またはコード中にコメントで//ここで何故か止まってしまうとかね


質問です
点pが時速1kmで移動しています
数学のことで質問してるからスレ違いかもしれませんが、答えていただけると幸いです

って感じだもんな
371名前は開発中のものです。:2013/02/05(火) 11:50:24.08 ID:Pl1qrNKV
まずはデバッガ使って実行してステップ実行を覚えるだけで
初心者ミスの9割はすぐ見つかるのに。
372名前は開発中のものです。:2013/02/05(火) 12:00:00.81 ID:zc1w0bg0
上級者のミスも同じくらい減りそうだw
373名前は開発中のものです。:2013/02/05(火) 15:57:40.83 ID:jXH2E8TP
うん、きっとねfor(j=0;i<80;j++)ってなってるからだと思うの

あとメイン中のcVramはどっから出てきたのかと
charcVram[25][80]って定義してるけどこれ?
374名前は開発中のものです。:2013/02/05(火) 16:05:17.83 ID:jXH2E8TP
ああ、charとcVramがくっついてただけか
ポインタポインタってできたっけ
void cVramClear(char (*cVram)[80])
こうじゃないっけ
375名前は開発中のものです。:2013/02/05(火) 16:09:43.52 ID:LBgFrDSM
DXライブラリである必要すらないことに突っ込めよ
376名前は開発中のものです。:2013/02/05(火) 16:11:21.76 ID:jXH2E8TP
しかもすでに解決してたし\(^o^)/
377名前は開発中のものです。:2013/02/05(火) 22:58:44.68 ID:b0thDVcg
つか、DirectXなんて近いうちになくなってDXライブラリ意味なくなるぞ?
やっても無駄www
嘘だと思うならXNAの現状調べてみろw
378名前は開発中のものです。:2013/02/05(火) 23:05:01.84 ID:IcAy45XJ
無くならねーよ
OpenGL化するだけだ
379名前は開発中のものです。:2013/02/05(火) 23:05:03.86 ID:CGZcQyGU
こいつ馬鹿だろ。
Windows8のSDK読んだこともないんだろうな。

形は変わるがなくなるわけではない
380名前は開発中のものです。:2013/02/05(火) 23:11:22.01 ID:b0thDVcg
>>379
まあ、そう思いたいのはわかるが…w
381名前は開発中のものです。:2013/02/05(火) 23:12:17.77 ID:IcAy45XJ
こういうバカってどっから湧いてくるんだろうね
382名前は開発中のものです。:2013/02/05(火) 23:13:31.92 ID:CGZcQyGU
>>380
つーか、APIの使い方うんぬんだけしか知らないあほぉは絶滅するだろうな。
アルゴリズムや方法論なんて結局なに使ったって同じだし。
383名前は開発中のものです。:2013/02/05(火) 23:17:21.23 ID:b0thDVcg
>>382
無くなることを暗に認めてるんだなw
384名前は開発中のものです。:2013/02/05(火) 23:23:16.92 ID:CGZcQyGU
>>383
さあ?おれはM$の社員じゃないからな。知らんよ。
DirectX11以降ロードマップがM$から出されていないのは事実ではあるしな。

Windows8になってM$はILベースの.NET推奨を今まで以上に色濃くしてはいる。
ただし、Windows8の段階ではDirectXはまだなくなってはいない。

その先は知らん。
385名前は開発中のものです。:2013/02/05(火) 23:33:11.68 ID:vTtLYoWd
無くならんっしょ
386名前は開発中のものです。:2013/02/06(水) 00:02:54.54 ID:2YQ1Kfs8
ID:b0thDVcg
こいつ板中のMS関連のスレに同じネタ投下してる奴だからスルーしとけよ
387名前は開発中のものです。:2013/02/06(水) 02:19:11.31 ID:ghAaGcfI
近いうちかどうかしらんけどいつかはなくなるだろ。
MSは過去のものを次々切り捨てていくし。

DXライブラリのお陰でゲーム作れてる俺は、そうなると終わりだなぁ。
388名前は開発中のものです。:2013/02/06(水) 02:26:29.71 ID:z9pP+Ub0
Windows95の頃に作られたゲームがそのまま動くOSでなに言ってんのさ
389名前は開発中のものです。:2013/02/06(水) 02:42:28.80 ID:2VeS1wps
DirectXってもう18年にもなるのな
390名前は開発中のものです。:2013/02/06(水) 03:03:19.46 ID:yDyf/aUG
なぜかDirectX終了の噂までついてまわったのは
XNA終了の飛ばし記事書いたアホの勇み足だっただけだしな

ところで、Storeアプリのランタイムは.NETじゃなくなってるし
.NETライブラリのXNAが終了すんのに.NET推奨を色濃くしてるって話はどこから来たの
391名前は開発中のものです。:2013/02/06(水) 07:21:17.70 ID:qoS0iQ35
LoadDivGraph使ってるんだけど、int(const int &)って出てビルド出来ないけど何か間違ってる?
392名前は開発中のものです。:2013/02/06(水) 07:32:10.16 ID:sQI2tiMw
int(const int &)はコピーコンストラクタだと思うが
エラーメッセージをきちんと書いてくれ
393名前は開発中のものです。:2013/02/06(水) 07:32:52.89 ID:4TJ3VGA/
だから初心者は質問するならちゃんと情報出せよ
エラーの出たところにはどう書いたんだよ
394名前は開発中のものです。:2013/02/06(水) 08:32:53.47 ID:zV/KLxOd
分からないバカが何か言っている
395名前は開発中のものです。:2013/02/06(水) 08:45:33.78 ID:4TJ3VGA/
>>394
ゴミ質問者が増えるだろ、バカか
396名前は開発中のものです。:2013/02/06(水) 09:21:22.44 ID:NrV6yG4y
3.08eから3.10aに変えたんだけどDX_HANDLETYPE_GRAPHとかって消えたんだんな
ハンドルとか一括で管理してて、開放時にDX_HANDLETYPE_GRAPHとかで判断してたけど
なくなった今はどうすれば・・・
397名前は開発中のものです。:2013/02/06(水) 10:31:20.20 ID:43aHKVzV
自分でタイプを併せ持った構造体でも作るしかないな
398名前は開発中のものです。:2013/02/06(水) 10:38:38.08 ID:uwmEMZXK
XNAの更新停止をDirectXの更新停止と勘違いしてる馬鹿がいるのか
399名前は開発中のものです。:2013/02/06(水) 15:46:30.42 ID:cjy8rdY/
むしろXNA更新停止ってC#やってる情強どもは死ぬの?
400名前は開発中のものです。:2013/02/06(水) 16:12:51.86 ID:2YQ1Kfs8
いくらでも変わりはあるから今更マイクロソフトが提供する必要性がない
401名前は開発中のものです。:2013/02/06(水) 16:19:16.69 ID:ySnerieW
XBOX360等でも動くマルチプラットフォームてのがウリなだけで
C#ならAPIを直接叩いたライブラリ使えばいいだけ
402名前は開発中のものです。:2013/02/07(木) 09:10:57.97 ID:2MaAuZDe
DXライブラリはラッパライブラリなんだからなんら関係のない話だ
403名前は開発中のものです。:2013/02/07(木) 13:58:46.47 ID:JWpjKPjh
C#用dxlib使えよ
404名前は開発中のものです。:2013/02/07(木) 14:53:43.76 ID:DaUZPY6w
C#で使えるゲーム開発環境:SlimDX、DXLib、MonoGame(XNA完全互換)、Unity、NeoAxis...

そりゃXNA開発辞めるわな
405名前は開発中のものです。:2013/02/07(木) 15:01:27.96 ID:DaUZPY6w
>>390
DirectXは勇み足じゃなくて、「DirectXはもう発展しません」という本音を書いたメールをMVPに配信したらそのまま転載されて炎上しちゃったので
「バラすなよ馬鹿!
 『DirectXはVisual Studioと共に発展していくテクノロジーです』
 ほら!テンプレ書いてやったからこれコピペしろ!」
というメールを慌てて送っただけだよ

DirectX SDKはとっくに消滅してWindows SDKに吸収されたし、今年中にStoreアプリのランタイム(WRL)や次世代Xboxに対応したDirectX後継発表と同時に〆だろう
406名前は開発中のものです。:2013/02/07(木) 18:44:26.06 ID:8oCcjGFz
>>405
煽りたいだけなのか無知にもほどがある
訂正記事で書かれていたのは
DirectX単体でのリリースはもうありませんの内容を勘違いしただけ
既に実行されていることで本音も糞もない

それとWRLってはランタイムじゃなく単なるWinRT用(C++専用)のテンプレートライブラリ
Win32時代にあったATLのようなものだ
407名前は開発中のものです。:2013/02/07(木) 19:53:48.88 ID:ucjsUXex
今までDXライブラリ使うためにプロジェクトのオプションで、
「追加のインクルードディレクトリ」をCドライブ直下の絶対パスで指定してたんだけど
プロジェクト側の相対パスに変えたらやたらとコンパイル遅くなってしまった。
サンプルプログラムのコンパイルは早いと思うんだけど
相対パスの指定の仕方ってもっと別の正しい方法があるんですか?
408名前は開発中のものです。:2013/02/07(木) 21:21:29.64 ID:TkU9bLqy
>>407
自分でコンパイルしたDXライブラリ使ってるとかじゃなくて?
409名前は開発中のものです。:2013/02/07(木) 21:39:20.17 ID:2MaAuZDe
プリコンパイル済ヘッダが無効になったりとかしてんのかね
プロジェクトの設定がサンプルプログラム実行用のプロジェクトと違うのかもよ
410名前は開発中のものです。:2013/02/08(金) 21:59:54.17 ID:P+COs1L8
>>396
無くなることってあるの? 非公式とか?
411名前は開発中のものです。:2013/02/09(土) 12:52:40.89 ID:8G/deP3A
ゲームで使うクラスに共通の機能を持たせたい時に
解説サイトでは基底クラスのstaticメンバ・メソッドとして持たせて
それを継承させてるみたいだけどもっと他の方法ってないのかな?

例えば、画像を読み込んで識別子と一緒にMapで保持する機能を持ったクラス
(LoadGraphをラップしたクラス)を基底クラスのprotectedなstaticメンバとして持たせるんじゃなくて、
どうにかしてその機能が必要なクラスに共通の参照を保持させるということ

Javaのイベントリスナーがそれに近いのかと思ったけど、
あれはあれで読めば読むほど混乱してしまう・・・
412名前は開発中のものです。:2013/02/09(土) 12:53:49.63 ID:LZSLQ2x8
>>410
キーの定義なんかはいつの間にかなくなってたりする
413名前は開発中のものです。:2013/02/09(土) 13:12:12.99 ID:FU872aBx
>>411

シングルトンはいやなの?
414名前は開発中のものです。:2013/02/09(土) 13:51:20.23 ID:8G/deP3A
>>413
機能を必要とするクラス側で、シングルトンクラスをインクルードして使うってことだよね?
シングルトンっていうかstaticメンバがどことなくムズ痒いというか気持ち悪くてね

機能として引数を受け取って処理をして値を返すだけのstaticメソッドならいいんだけど(例えばDrawGraph)
>>411みたいに何かしら値を保持する場合、1つしか存在しえないとなると後々拡張する際のことを
考えると怖いっていうか。まぁそこがむしろメリットでもあるとも思うんだけども

俺が説明下手で申し訳ないんだけど
例えばスキルの名前とか敵の能力とか、CSVから読み込むようなゲーム中で不変・固定なデータを
ゲーム内で共有したい場合にもシングルトンを使っちゃっていいのかなーっていう不安です
415名前は開発中のものです。:2013/02/09(土) 13:59:43.56 ID:BiLqug9r
むしろそんなデータが複数存在し得る状態の方がキモくないか
ゲーム中で難易度選択とかが出来てデータを丸ごと入れ替える機会があるならともかく
416名前は開発中のものです。:2013/02/09(土) 14:08:20.29 ID:8G/deP3A
>>415
ありがとう吹っ切れた、頑張るぜ
417名前は開発中のものです。:2013/02/09(土) 15:39:14.93 ID:bX5e9HmG
データクラス作って、シングルトンにするか
そのオブジェクトのポインタを渡すかどっちかだなぁ。
418名前は開発中のものです。:2013/02/09(土) 15:42:50.00 ID:YKAqFOQh
>LoadGraphをラップしたクラス
こいつがシングルトンになればいいんじゃないのかな・・・
インスタンスごとに何が変わるのかわからんからそう思うんだけど
419名前は開発中のものです。:2013/02/09(土) 16:02:31.46 ID:UQA4I9pc
シングルトン全般の話として、

(1)形を変えただけのグローバル変数じゃね?
(2)それは本当に1つしか存在 *できない* ものなの? 単に手軽だからやってるだけじゃない?

みたいな葛藤があったりするからなあ。
LoadGraphみたいな、ライブラリに依存する部分なら(2)は問題にならないだろうけど。
420名前は開発中のものです。:2013/02/09(土) 17:38:56.36 ID:54wejZha
http://ideone.com/c3FMYG
こんなコードかいて
http://bowlroll.net/up/dl1400
のモデルをたくさん表示させたんだけどtimeが40あたりうろついて遅すぎなんだけれどこんなものなの?
結構な量の移動するモデル描画するときみんなどうしてる?
421名前は開発中のものです。:2013/02/09(土) 18:13:05.12 ID:bX5e9HmG
グローバル変数は原則避けるべきだけど、そこまで忌避するものかなぁ?
色々あるだろうけど、どこからアクセスしたのか分からなくなって、
なんらかのバグを起こしたとき原因を特定するのが大変だからというのが大きな理由だし。
シングルトンパターンはアクセッサでちゃんとアクセスしてれば
いざというときブレークポイント設定すればどうにかなると思う。
422名前は開発中のものです。:2013/02/09(土) 18:22:31.66 ID:UQA4I9pc
>>421
gotoなんかもそうだけど、分かってて使うには強力な武器なんじゃない?
ただ、武器を扱い慣れた老兵でも、ちょっと気を抜くと指先を切っちゃう可能性があるくらいで。
423名前は開発中のものです。:2013/02/09(土) 19:34:00.61 ID:BWsprEsg
>>420
公式にモデルをグラフィックハンドルみたいに使うと遅いから
モデルハンドルをコピーするみたいな関数使えって書いてあったと思う
424名前は開発中のものです。:2013/02/09(土) 20:15:17.67 ID:pUNNg3TF
>411
共有データは別クラスにしてshared_ptrで参照
ファクトリ関数は兄弟となるオブジェクトを引数で、nullなら新規生成
もしくは識別用IDや文字列
425名前は開発中のものです。:2013/02/09(土) 20:19:27.71 ID:Ri4rHPNn
モノステートでいいものをシングルトンで書きたがる人いるよね
一つで十分なのと、一つでなければいけないのは違うのに
426名前は開発中のものです。:2013/02/10(日) 01:43:13.94 ID:QiU0uP8S
シングルトンに甘えた結果Friend地獄になった
ゲーム内時間を計るタイマーの時間経過とかキー入力の更新とか、
1フレームに1回しか実行させたくないメソッド持ってるクラスどうしてる?
427名前は開発中のものです。:2013/02/10(日) 02:01:22.20 ID:dcEvPvmt
モデルにアクセサリーをつけるためにフレーム座標変換のサンプルを真似したんだけど、
何故かアクセサリーが見えないくらい小さくなってしまう…
アクセサリーのモデルサイズを変更しても変わらないし、同じ症状いないかな
428名前は開発中のものです。:2013/02/10(日) 07:49:32.03 ID:AxG5F6mM
>>426

前はシングルトンだった。
今はライブラリに持たせてあるけど。
429名前は開発中のものです。:2013/02/10(日) 11:41:03.76 ID:6UTZB3hj
全部シングルトンで問題ない
ファミコンなんかアセンブラだから、基本全てグローバル変数だ
それで面白いゲームができてる
細かい実装を気にしすぎ
430名前は開発中のものです。:2013/02/10(日) 11:44:26.52 ID:DEXygC3o
論点を勘違いしてる
グローバル変数で済むものをシングルトンにする意味があるかどうかって話だろ
431名前は開発中のものです。:2013/02/10(日) 12:08:32.34 ID:Bp0y56x8
設計の段階でグローバル変数使ってるなら問題ないと思うけど
そうじゃないなら、グローバル変数でやると実装が楽だからってのが多い
ほとんどの場合、クラスの相関図みれば適切な置き場所でてくるだろうし
ゲームの規模によって使い分ければいんじゃないかな
432名前は開発中のものです。:2013/02/10(日) 12:22:23.31 ID:QiU0uP8S
>>428
>>426みたいな「利用するクラスにとってconstメソッドだけでも大丈夫なクラス」なら
const引数として回せば大丈夫だけど、編集も必要で、かつ一回しか実行したくないメソッド持ってる場合
staticとfriend無しじゃ詰むよね
433名前は開発中のものです。:2013/02/10(日) 14:11:54.78 ID:AxG5F6mM
>>432

キー入力とかの更新をしたいんでしょ?
mainのループ内で毎フレーム一回だけシングルトンクラスでキー入力状態を取って、状態を知りたくなったらそこから情報を引き出すだけだよね?
シングルトンだからもちろんシングルトンのポインタをもらう関数はstaticだけど、それ以外には使ってないしfriendもないし。
具体的に何をしたいのかが分からないけど、もっと複雑なことをしたいの?

>>430

名前空間指定してグローバル変数と関数のセットを作っても出来るんだろうね。
ときどきシングルトンのポインタもらいたくなることがあるから、私はシングルトンが好きだけど。
シングルトンですむものをグローバル変数と関数にする意味があるかとか、あんまり考えたことないや。
434名前は開発中のものです。:2013/02/10(日) 15:07:24.80 ID:QiU0uP8S
>>433
キー入力情報を得たいクラスがキー入力情報の更新もできちゃマズイよねって意味だった

>mainのループ内で毎フレーム一回だけシングルトンクラスでキー入力状態を取って
つまりmainループ内で入力状態を更新できるpublicでstaticなメソッドがあるのなら
そのシングルトンにアクセスできるクラスは誰でも更新できちゃう

キー入力の履歴を記録しないならそれでもいいんだけど
記録しないとなるとキー入力扱うクラスそれぞれで「押された」のか「押しっぱなし」なのかの判断しなきゃならないし
「じゃあ逆に履歴を保存しておくクラスを作ろう」
と思いたつと結局最初と同じ問題(誰が責任持って1フレームに1回更新するのか)にぶちあたる
435名前は開発中のものです。:2013/02/10(日) 15:13:27.89 ID:QiU0uP8S
要は「1フレームに1回だけ更新」とかそういったルールが守られることを保証するためには
friendクラスで指定するしかないよねって話だった
436名前は開発中のものです。:2013/02/10(日) 15:21:26.15 ID:Zy7Sjapf
インターフェースクラスだけを公開して、フレーム更新するのは派生クラスのメンバとか
フレーム数を引数にした設定用関数を持つとか
437名前は開発中のものです。:2013/02/10(日) 17:22:40.75 ID:QiU0uP8S
>>436
それってアリなのかな?もちろん正解はないと思うから貶すつもりはないんだけど

オブジェクト指向で考えるとそれは、キー入力情報(データ)が親で、
子が「データとしても扱える」ようなキー入力管理クラスということになると思う。
でも親はデータのクセに自分自身を変更できないんだよね

キー入力管理クラスからキー入力情報(データ)を取得して
それをconstで渡すというやり方を面倒臭くしただけのような気がする
438名前は開発中のものです。:2013/02/10(日) 17:36:17.67 ID:14XjhK9s
更新クラスとデータクラスがfriendで、単にデータクラスの秘密の更新メソッドに委譲するだけでいいんじゃないの?
friend地獄ってのがよくわからんが
439名前は開発中のものです。:2013/02/10(日) 17:48:25.39 ID:QiU0uP8S
>>438
地獄は言いすぎだった
けどMementパターンみたいに継承時にfriend登録しなおすのが煩わしく感じることってあるじゃん・・?
440名前は開発中のものです。:2013/02/10(日) 19:34:52.75 ID:veEgKXC1
自分だけが抱えてる問題を一般的なことのようにいうのはどうかと思うぞ。
自分がおかしなことをしている自覚をもったほうがいい。
441名前は開発中のものです。:2013/02/10(日) 19:41:20.46 ID:0xQVzFfp
関数の分け方が悪いだけのように聞こえるね
442名前は開発中のものです。:2013/02/10(日) 19:49:28.47 ID:MyD8KQK8
>>423
MV1DuplicateModel()かな?
使ってみたけれど速度変わらなかったや
モデルの頂点数ガリガリ減らしていきます。どうも
443名前は開発中のものです。:2013/02/10(日) 20:09:17.95 ID:rZ+UeSH9
>>436はありだと思うけど、
一番簡単なのは、細かいことは気にしないことw
444名前は開発中のものです。:2013/02/10(日) 22:41:45.54 ID:sPckFiXV
C++を理解できてないっだけだろうな
C掲示板の記事消せないのがうざい
かなり飯の種になる完成されたソースも消させないで乞食に公開し続けるってのがクソすぎ。
もう2度とあんな低レベルの場所でハイレベルな回答はしない。
445名前は開発中のものです。:2013/02/10(日) 22:53:46.94 ID:4LewZsyY
あんな、ってのがどこの事だか知らんが
愚痴ならツイッターか雑談スレでやれよ
446名前は開発中のものです。:2013/02/11(月) 03:54:04.12 ID:G+DpH4ZX
人間として低レベルな奴が愚痴ってると聞いて
447名前は開発中のものです。:2013/02/11(月) 06:02:09.07 ID:5loi17BR
何も努力しないやつなんかとタダで知識を共有しようなんてのは共産主義の考えだよ
遅かれ早かれLINUXとオープンソースはソ連の道をたどる。
448名前は開発中のものです。:2013/02/11(月) 06:46:31.89 ID:G+DpH4ZX
誰もお前の失敗には興味ねーよ
スレチ
449名前は開発中のものです。:2013/02/11(月) 08:33:51.34 ID:gytDWcWA
C++、C#は、キャラクタなどクラス化すると楽になるので恩恵うけるけど
キーボード入力とか1個しかないものはクラス化してもなんの恩恵もうけないよね
ソースがわけられるくらいw
450名前は開発中のものです。:2013/02/11(月) 11:03:39.07 ID:ts0I2zO8
namespaceと同程度の恩恵はあるんじゃない?
451名前は開発中のものです。:2013/02/11(月) 11:05:10.67 ID:sOvxBO/x
もう話が収束しつつあるみたいなので遅いかも知れんが
次やるときはこっちのスレでやってね

C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
452名前は開発中のものです。:2013/02/11(月) 11:08:41.80 ID:sOvxBO/x
ごめん何でもない
ライブラリのラップ方法の話だから
誘導が必要な話題じゃなかった気がしてきた
453名前は開発中のものです。:2013/02/11(月) 12:41:07.60 ID:oa8I6pWq
C#版もintでエラー返すの?例外投げて欲しいんだが。
454名前は開発中のものです。:2013/02/11(月) 14:21:17.84 ID:yU8W1lNB
単にDLL呼び出し部分つけただけだからな。
C++/CLIできっちり作る?あんま利用者いなさそうだな
455名前は開発中のものです。:2013/02/11(月) 14:24:17.23 ID:G+DpH4ZX
ラップしたらいいんじゃね
456名前は開発中のものです。:2013/02/11(月) 15:31:06.30 ID:oa8I6pWq
つかなんで新規がみんなC++にいくんだろ。
C#版を使うべし。
457名前は開発中のものです。:2013/02/11(月) 15:40:41.20 ID:gytDWcWA
visual studio2012でC++/CLIが飛躍的によくなったのに
つかわれないのはw
458名前は開発中のものです。:2013/02/11(月) 15:54:08.63 ID:G+DpH4ZX
ゲーム作る上でC++じゃなくC#を選ぶメリットって何?
459名前は開発中のものです。:2013/02/11(月) 16:00:02.12 ID:u4JKT3vE
新規はC++じゃなくてCに行くな
せめてC++にしろと
460名前は開発中のものです。:2013/02/11(月) 16:37:52.02 ID:EZFROkpb
新規がC++なんかやってもおまじないしか書けないだろw
461名前は開発中のものです。:2013/02/11(月) 16:42:44.07 ID:YWhTNhiY
C++/CLIって存在くらいしか知らないんだけど、
今WIN32アプリをC++で作ってるけど、CRLプロジェクトにすれば
ref class とか gcnew とか書いてるソースが混じっても大丈夫ってことか
462名前は開発中のものです。:2013/02/11(月) 17:09:21.06 ID:N+mBRg0P
>>460
すまん (´・ω・`)
463名前は開発中のものです。:2013/02/11(月) 17:19:37.72 ID:u4JKT3vE
betterCでいいんだよ

C++/CLIは先が暗いらしいからやめておいたほうがよさげ
464名前は開発中のものです。:2013/02/11(月) 17:25:24.61 ID:G+DpH4ZX
結局初心者に一番いいのは一番ユーザが多い言語だよ
これは言語だけに限らないけど
465名前は開発中のものです。:2013/02/11(月) 18:17:30.82 ID:sMmB3E4R
ユーザーの少ないソフト使ってると勉強の情報が足りなすぎて困る
ちょっと使いにくくてもみんな使ってるほうがいいわな
466名前は開発中のものです。:2013/02/11(月) 18:24:12.04 ID:/32LXBxC
DxLibを使う層ってゲームが作りたいのであって、言語なんてどうでもいいわな
英語や中国語ができれば他に優秀なライブラリはいくらでもあるわけで、
作者が日本人で、公式のサポートが日本語で、ネット上に日本語の資料が大量に転がってることが重要なんだろ

DxLibスレで他の言語が云々とか、他のライブラリが云々とかは的を射ておらず不毛
467名前は開発中のものです。:2013/02/11(月) 19:02:31.54 ID:GsqkCqEu
C#版をラップする時はリフレクション使って自動作成するといいよ
468名前は開発中のものです。:2013/02/11(月) 19:56:29.06 ID:rvC3V4A8
>>466
中国語の優秀なライブラリを教えて
469名前は開発中のものです。:2013/02/11(月) 19:58:26.44 ID:YWhTNhiY
昨日からC掲示板でメシの種になりそうな記述探してるけど見つからないわ
ていうかCでやろうとしてる新規の人多いのね。Cと同じように使ってもいいから
記述が簡単で応用も効きやすいC++使えば良いのにね
typedef使わずにstructとか使ってるの見てるとかわいそう
470名前は開発中のものです。:2013/02/11(月) 20:04:33.41 ID:EZFROkpb
typedefとstructってCとC++でなんか違うの?
471名前は開発中のものです。:2013/02/11(月) 20:05:33.75 ID:G+DpH4ZX
C++の資料が少なかった時代を経験したオジンはCから入れっていうからな
最近は減ってきたが、気になって調べてる間にそういう書き込みを目にして真に受けてる初心者は多い
C++の資料がCからの追加点しか書いてかったのは昔のことなのに
472名前は開発中のものです。:2013/02/11(月) 21:01:56.12 ID:u4JKT3vE
Cはtypedef struct Foo_ {} Foo;としないとFoo foo;って書けないけど
C++はstruct Foo {};だけでFoo foo;って書けるってことじゃないの
473名前は開発中のものです。:2013/02/12(火) 00:30:44.84 ID:dV4ZQCzy
C++のことをメインで話したいならスレ違いだよ
と一応釘を刺しておくね。
あと自分の優位性を主張したいだけの人は不要だから消えてね。

個人的にDxLibは「ゲームプログラミングとC++の入門ツール」だと思う。
グラフィック技術とかはとりあえず置いておいて、ゲームのロジックと
言語の学習に専念できるようにするための。
474名前は開発中のものです。:2013/02/12(火) 00:35:45.17 ID:e3pIDrZa
ポインタとか継承まともに理解してない人が書いたら悲惨なことになりそうだな
475名前は開発中のものです。:2013/02/12(火) 00:48:25.76 ID:zT3ec7DD
DXライブラリって必ずしも使わなくて良くね?
476名前は開発中のものです。:2013/02/12(火) 01:02:01.49 ID:lIUeQSJi
まあプログラミングがある程度できるのは前提条件ということで
477名前は開発中のものです。:2013/02/12(火) 01:17:52.87 ID:1/XQD5OT
C++だとインクルードにひと癖あってダブルディスパッチがどうこうとかで嵌ったり、
シリアライズとか暗号化リソースとかDXライブラリが管轄外の項目で後々悩む事考えたら
C#版のDXライブラリを初心者に勧めたいな。
DirectX9のみをターゲットにしてる分、SlimDXみたいに変な問題持ってないし、
C#用としても結構いい素性のライブラリなんだよね。

C/C++版は速度よりプレイヤーが.netランタイム不要ってのが大きいアドバンテージかな。
478名前は開発中のものです。:2013/02/12(火) 09:46:21.56 ID:uo3zzOYq
速度はCもC++もC#もほとんどかわらないけど
DXLIBの取説はCだけなんで、CかC++のほうがC#にコード変更する手間がない
479名前は開発中のものです。:2013/02/13(水) 20:15:35.18 ID:rHW8Nqv1
フルスクリーン←→ウインドウモード の切り替えできるようにリファレンス見てたら、
もしかしてこれってゲーム中に自由に切り替えできるようにするには難易度高い?

解像度イジった時に「次回起動時から有効」になってるゲームが
多い理由がわかったような気がした
480名前は開発中のものです。:2013/02/13(水) 20:18:13.71 ID:GzSunVZg
難易度は高くないけどちょっとめんどくさくなる場合があるだけ
481名前は開発中のものです。:2013/02/13(水) 20:35:28.43 ID:rHW8Nqv1
とりあえず、MakeScreenとかで動的に画像を作成することは無視して
ゲーム起動時に使用するリソースを一括ロードする単純なタイプで考えたとしても
けっこうめんどくさそうだね。

とりあえず思いつく1つ目は、
グラフィックハンドルをラップして、一括で管理するマネージャも作っておいて、
ラップしたハンドルを渡して描画できるように各種Draw関数もラップしておいて、
リソースの再読み込みが必要になった時に、ハンドルマネージャが全てのハンドルに
新アドレスと旧アドレスを変換するためのテーブルを渡してUpdateさせる。
デシリアライズ時のポインタ復元と同じやり方になるかな。

2つ目は、普段からリソース識別子を使ってリソースマネージャからハンドルを
得て、それを描画関数に渡して描画するようにしておく。
こっちならリソース再取得時はリソースマネージャがリソース識別子と新アドレスを
関連付けるだけで良いからかなりラクだけど、普段の描画速度がかなり無駄になるのね
482名前は開発中のものです。:2013/02/13(水) 21:34:34.52 ID:i0STNCgV
リソース勝手に復帰してくれる関数あるでしょ
DxLib::SetChangeScreenModeGraphicsSystemResetFlag(true);
フルスクリーンやるなら結局MakeScreenとExtendなんちゃらもセットで使うことになるかな
4:3と16:9他のサイズの違いあるから
483名前は開発中のものです。:2013/02/13(水) 22:01:05.75 ID:rHW8Nqv1
>>482
ありがとう、非公開にこんなのがあったのね
なにやら公式掲示板のやりとりでの産物のようだし
>>396みたいなことは心配しなくても大丈夫だと信じよう(懇願)
484名前は開発中のものです。:2013/02/13(水) 23:41:47.26 ID:1cGahIip
各画面(タイトルとか各ステージ)毎にループ処理をさせてるんだけど、
これって他の人は、mainでProcessMessageとScreenFlipとClearDrawScreenを
させてるの?
485名前は開発中のものです。:2013/02/14(木) 00:01:34.90 ID:EV+2Arb/
とりあえずゲーム作るのが裏でとんでもない試行錯誤しなきゃいけない事が
分かって鬱になった。
上手く動くための工夫の仕方が無限大にあってその中から選んだり
しなくちゃだめで「創造」そのものが滞る。
486名前は開発中のものです。:2013/02/14(木) 00:18:30.08 ID:ZmJ6wmtR
>>484
描画処理は別スレ立ててやってるよ。
因みにイベント処理は基本的にすぐ返す処理にしておいたほうがいい。
キー状態とか調べてるなら大丈夫だと思うが、お行儀はよくない。

>>485
何だってそうだと思うよ。
マンガだったら画力が要るし、小説なら語彙力が要る。
そもそも、「創造」そのものが一番試行錯誤するよ。
487名前は開発中のものです。:2013/02/14(木) 00:35:21.43 ID:GSXiHSnK
>>486
アドバイスありがとう。
でも2Dスクロール作ったけど丸半年かかっちゃった。
さすがにかかり過ぎだし労力は半端無いと思ったわ。
プログラムの行数1万行くらいなったし今見ても訳分からんw
488名前は開発中のものです。:2013/02/14(木) 00:41:10.04 ID:uzNquluk
>>486
ありがとー。
描画順を極めろゴルァァって所?少し見てみる。
489名前は開発中のものです。:2013/02/14(木) 00:49:24.80 ID:tgfkxRvY
描画処理はウィンドウ作ったスレッドでやんなきゃダメだぞ。
490名前は開発中のものです。:2013/02/14(木) 01:48:21.14 ID:dhGIIlcG
>>487
次に似たようなゲームを作ったとき、1ヶ月は短縮されるんだぜ
491名前は開発中のものです。:2013/02/14(木) 08:04:34.85 ID:HGKHf1B2
創造力っていうのは、その創造をするための土台を作る力の事だからな?
492名前は開発中のものです。:2013/02/14(木) 11:25:43.01 ID:tsnCAGlK
ゲームなんか作ってどうするのよ
周りのみんなは受験勉強やら自己啓発で資格取得やら親しい友人と親睦深めたりしてるのに
ゲームプログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ
TOEICの勉強でもしてた方がなんぼかマシかと
493名前は開発中のものです。:2013/02/14(木) 11:27:35.92 ID:HGKHf1B2
社会という与えられたものさししか持ってないんだね
悲しいね
494名前は開発中のものです。:2013/02/14(木) 12:07:46.26 ID:+74TYtpn
なんでもやった経験は無駄にはならんよ
それが分からんのに自己啓発だのなんだの言っても空しい
495名前は開発中のものです。:2013/02/14(木) 12:13:04.71 ID:lPcwLK03
ゲーム作る過程で継承とかポインタの使い方分かるようになった
496名前は開発中のものです。:2013/02/14(木) 12:26:54.38 ID:WKXLL+7s
DXライブラリでゲームを作るためのテンプレートみたいなものはありますか?
例えば「落ちゲーを作るなら、これを元に改造していけばいいよ」っていうソースなど
497名前は開発中のものです。:2013/02/14(木) 12:30:33.70 ID:HGKHf1B2
それならツールでいいじゃん
498名前は開発中のものです。:2013/02/14(木) 12:35:12.05 ID:lPcwLK03
テンプレートは自分で作れよ
FPS、入力処理、デバッグ
このくらいはテンプレート作ってある
499名前は開発中のものです。:2013/02/14(木) 12:51:52.20 ID:WKXLL+7s
無いみたいなので作ってみます。
出来たらうpするので採点お願いします。
500名前は開発中のものです。:2013/02/14(木) 15:19:13.94 ID:tgfkxRvY
テンプレートを使ったらすごく狭い範囲でしか創作できんがな
501名前は開発中のものです。:2013/02/14(木) 15:41:20.01 ID:f8z6Cox4
DXライブラリを使わなければゲームも作れない俺は
サンプルなければゲーム作れない人間と五十歩百歩かもな。
502名前は開発中のものです。:2013/02/14(木) 15:42:55.87 ID:ZmJ6wmtR
DxLibに限定しないなら掃いて捨てるほど
ソースコード転がってそうだけどな。テトリスとか。
503名前は開発中のものです。:2013/02/14(木) 15:47:25.52 ID:ZmJ6wmtR
>>488
リファレンス見ながらやったほうがいいとは思う。
自分は結構イレギュラーなやりかただと思うし、公式は別スレ立ててないみたいだし。
504名前は開発中のものです。:2013/02/14(木) 17:26:00.76 ID:pOSeknPE
勘違いされてることに気づかないのか・・
505名前は開発中のものです。:2013/02/14(木) 17:48:08.98 ID:jFZvS44r
簡単な2dアクションのソース書いてくれない?
動かしてみたい。主人公は「あ」で敵は「い」でいいわ。
まじで分からんwwwwwwwwwwwwwwwwwwww
506名前は開発中のものです。:2013/02/14(木) 17:55:29.81 ID:HGKHf1B2
諦めたほうがいいと思う
507名前は開発中のものです。:2013/02/14(木) 18:17:41.73 ID:jFZvS44r
c言語の関数として使えるのは何?
stractとかはwinMain内では使えないの?
508名前は開発中のものです。:2013/02/14(木) 18:24:50.57 ID:IQHc/wF/
お前らが簡単簡単言うからツクールレベルと思った子たちがやってくるんだぞ
(プログラムをかじってるなら)簡単(かもしれない)くらいにしとこうよ
509名前は開発中のものです。:2013/02/14(木) 18:35:42.41 ID:jFZvS44r
一応俺は小6だからそりゃツクールレベルだと助かるよ。
プログラミングの知識は浅いし。
でもvisual studioのCだから構造化プログラミングだよな?
という事はjavaみたくスレッドじゃなくてwhileループで基本処理するってことか。
これが面倒臭いんだよな。

ところで当たり判定ってどうするの?
オブジェクトの座標を配列で保存して、その節点対同士を計算して
交われば当たりみたいな?
510名前は開発中のものです。:2013/02/14(木) 18:40:48.52 ID:tDt0w1IR
>>501 ナカーマ
RPGは表示>移動>攻撃判定くらいまで作ってから
他の分野の制作に目移りした

アクションとかになると、まだ作れないイメージかな・・・
511名前は開発中のものです。:2013/02/14(木) 18:41:02.78 ID:4HVl4qC8
わからないと言うヤツ、これを買って読め。

14歳からはじめるC言語わくわくゲームプログラミング教室 大槻有一郎
http://www.rutles.net/products/detail.php?product_id=392

サンプルデータをDLして見れば、どこまで出来るかわかる。
512名前は開発中のものです。:2013/02/14(木) 18:41:55.44 ID:+74TYtpn
とりあえず質問する前にググれ
513名前は開発中のものです。:2013/02/14(木) 18:42:25.39 ID:jFZvS44r
当たり判定の画期的なアルゴリズム何かないの?
514名前は開発中のものです。:2013/02/14(木) 18:45:39.96 ID:jFZvS44r
当たり判定はとりあえず対象の形そのものじゃなくて対象のサイズに合わせた
矩形枠を用意してそれとの当たりを判定するってのがいいのかな?
515名前は開発中のものです。:2013/02/14(木) 18:46:20.92 ID:tsnCAGlK
14歳からとか恥ずかしくて手に取れないとか馬鹿にするやついるけどこれは本当に名著
俺は数多くゲームプログラミング本を所持しているが名著と呼べるものは以下だけだ
・14歳からはじめるC言語わくわくゲームプログラミング
・windowsゲームプログラミング
・ゲームプログラマになる前に覚えておきたい技術
・AndroidゲームプログラミングAtoZ (new!)
これでゲームプログラミングの神が誕生する
516名前は開発中のものです。:2013/02/14(木) 18:47:26.67 ID:tsnCAGlK
矩形を使うか円を使うか好きにしろ
517名前は開発中のものです。:2013/02/14(木) 18:51:44.83 ID:4HVl4qC8
当たり判定、 線分との交点を求める手法が一番良い。 通り抜けバグが無い。
518名前は開発中のものです。:2013/02/14(木) 18:54:40.84 ID:4HVl4qC8
長方形の重なりによって、当たり判定を検出するのが概念的にかんたん。 初心者向け。
519名前は開発中のものです。:2013/02/14(木) 19:06:35.23 ID:jFZvS44r
>>518
本当に悪いんだけど
まとまったプログラム書いてくれないかな?
参考にするから。
520名前は開発中のものです。:2013/02/14(木) 19:07:02.59 ID:N0DjOLAX
無能君の自演にしか見えんな
521名前は開発中のものです。:2013/02/14(木) 19:09:27.01 ID:jFZvS44r
長方形が重なったっていうのはどうやって判断するの?
522名前は開発中のものです。:2013/02/14(木) 19:33:43.78 ID:+iwggIKn
いくら用意してるのかも書いてないし、それでプログラム書いてくれってどういうことだよ
ここ仕事依頼するためのスレじゃないから余所でやれ
523名前は開発中のものです。:2013/02/14(木) 19:42:30.23 ID:pOSeknPE
画期的な当たり判定法
これが無ければ今日のゲームのほぼすべては存在できていないだろう
if((a.left < b.right)
  && (a.right > b.left)
  && (a.top < b.bottom)
  && (a.bottom > b.top))
 {
  // 当たり
 }
524名前は開発中のものです。:2013/02/14(木) 19:44:13.43 ID:lPcwLK03
バーカ
525名前は開発中のものです。:2013/02/14(木) 19:47:43.49 ID:jFZvS44r
>>523
シンプルだな
ありがとう
526名前は開発中のものです。:2013/02/14(木) 19:51:11.03 ID:E2yJ8mxn
せっかく衝突判定持った箱型クラス作っても使い勝手微妙すぎるよね。
マウス使うゲームのボタン用として使うならそれはそれで良いかもしれないけど、
普通のアクションゲーやシューティングの判定は体当たり判定と被弾判定とか
サイズ変えたいから、衝突判定を共通させるのにデメリットの方が多い。
結局2点or1点+サイズで指定する四角形でC的に衝突判定するはめになるね
527名前は開発中のものです。:2013/02/14(木) 20:37:08.71 ID:jFZvS44r
>>526
ソートってどんな時に使う?2dアクションだと。
528名前は開発中のものです。:2013/02/14(木) 20:39:14.89 ID:N0DjOLAX
ここは初心者に手取り足取り教えるスレじゃないからこっちいけ
http://dixq.net/forum/viewforum.php?f=3
529名前は開発中のものです。:2013/02/14(木) 21:16:08.95 ID:a8wLMfls
ここはDXライブラリのスレだからね。
530名前は開発中のものです。:2013/02/14(木) 21:18:57.73 ID:/Dbolf/I
本当に行ったみたいw
そして早速いじられてる
531名前は開発中のものです。:2013/02/14(木) 22:02:59.27 ID:N0DjOLAX
あっちなら一つのネタで一つのスレッドだし問題ないだろう
532名前は開発中のものです。:2013/02/14(木) 22:54:16.59 ID:nO9CBuZ8
C++用にDXライブラリのクラス版作る奴出てこないかな。
コンストラクタに画像のパス指定したら描画とかクラスの関数で出来ちゃうやつ。
533名前は開発中のものです。:2013/02/14(木) 23:01:24.64 ID:WiOqJJwW
それだとOgre3dやIrrlichtの日本語対応ビルド作るほうが楽なんじゃないか
534名前は開発中のものです。:2013/02/14(木) 23:03:57.62 ID:E2yJ8mxn
>>532
Mintは?
535名前は開発中のものです。:2013/02/14(木) 23:08:13.05 ID:+iwggIKn
>>532
DXライブラリ以外のやつならいくらでもあるじゃん
今の形を変えてしまったら、それはもうDXライブラリとは言えんだろ
536名前は開発中のものです。:2013/02/14(木) 23:14:37.15 ID:E2yJ8mxn
でもやっぱラップ作業してて思ったのは
エンジン部分については関数ベースのままの方がラクチンだわ
どうせインターフェース使ってしまえば中身がCっぽく汚くても関係ないし
537名前は開発中のものです。:2013/02/14(木) 23:17:05.52 ID:f/RwOvP4
やっぱり、お礼くらいは言うべき。 わすれがちだけども、人として大切な事
538名前は開発中のものです。:2013/02/15(金) 05:06:04.63 ID:lKs9m84k
本当にありがとうございました
539名前は開発中のものです。:2013/02/15(金) 08:05:25.41 ID:OOI36/am
DXライブラリで使いにくいと思ったのは関数ポインタ系だな
だいぶ使う箇所減ってきたっぽいけど
540名前は開発中のものです。:2013/02/15(金) 12:05:29.34 ID:LKKQgGUf
>>526
横からで申し訳ないが、具体的にどういうこと?
「衝突判定持った箱型クラス」と「四角形でC的に衝突判定」の違いが分からん。
541名前は開発中のものです。:2013/02/15(金) 12:14:33.24 ID:qSStjEur
それはわからんが、普通は「当たり判定クラス」を作って
そのメンバに「どの図形かのフラグ」「大きさ」「四角クラス」「円クラス」「楕円クラス」「直線クラス」「衝突判定関数」を持たせて、
どの図形同士も関数一つで判定できるようにすると思うんだが
542名前は開発中のものです。:2013/02/15(金) 12:20:29.03 ID:LKKQgGUf
>>541
だよな。
実際はせいぜい四角と円くらいしか作らないことも多そうだけど。
543名前は開発中のものです。:2013/02/15(金) 12:39:44.97 ID:wYUrF8/8
>>541
collision.check(obj_a.body(), obj_b.body())
みたいな感じにしてどんな形状でも後から追加できるようにしてる
判定に使う頂点データの構造は悩むね

とはいえ、大抵は複数の四角形の当たり判定を持つだけで十分だよな
544名前は開発中のものです。:2013/02/15(金) 12:43:43.32 ID:LKKQgGUf
>>543
領域を追加するときに、AND検索かOR検索かを選べると良い感じだよね
545名前は開発中のものです。:2013/02/15(金) 14:48:04.15 ID:tIJTe5bl
当たり判定であんまり複雑なことやると特許にひっかかったりするんだよな・・・結構かんべんしてほしい
546名前は開発中のものです。:2013/02/15(金) 14:55:16.14 ID:qSStjEur
どの特許?
基本的にアルゴリズムって特許取得できないんじゃなかった?
547名前は開発中のものです。:2013/02/15(金) 15:32:46.61 ID:9ZvPg8cD
普通に線分と円の辺り判定で足りる
548名前は開発中のものです。:2013/02/15(金) 16:10:37.72 ID:cwjnE7Zo
ヨルダンの曲線定理が便利
549名前は開発中のものです。:2013/02/15(金) 21:10:43.80 ID:4RW7f/bC
>>541
それってせっかく「当たり判定クラス」を共通させてるのに実装で
フラグによって図形判別するのは設計ミスってね?
550名前は開発中のものです。:2013/02/15(金) 21:29:23.95 ID:qSStjEur
>>549
フラグは初期化の際に判別の為にセットするんだよ
551名前は開発中のものです。:2013/02/15(金) 21:58:49.10 ID:RIB7uMlS
>>541
それなら衝突判定関数を円、四角、直線などつくって
関数のポインタにしてポインタ渡して判定を固定化させればはやいよ
552名前は開発中のものです。:2013/02/15(金) 23:44:36.20 ID:+YoMj0om
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
DrawCircle(100,100,40,Cr,TRUE);
}

超単純なプログラムだけど表示されることなくプログラム終わるんだけどなんで?
ちなみにCrは青色でゲットカラーしてある。
553名前は開発中のものです。:2013/02/16(土) 00:24:09.14 ID:ADSu/sSB
初心者用の掲示板ならあるんだからそっちで質問しろ
554名前は開発中のものです。:2013/02/16(土) 00:48:40.33 ID:IYZRyVn8
表示されてるのを確認したいだけなら
waitkey使えばいいだけじゃ?
あとwhileのとこって()で括らなくてもよかったっけ
while((プロセス)&(キーチェック))みたいに
555名前は開発中のものです。:2013/02/16(土) 01:58:41.85 ID:AFtx2bqN
>>546
アルゴリズムなら幾らでも取れるが
556名前は開発中のものです。:2013/02/16(土) 02:02:18.64 ID:Gz4OdPIX
演算子の優先順位は&&より==のほうが高いから問題ない
557名前は開発中のものです。:2013/02/16(土) 03:28:00.84 ID:w8iU0om+
アルゴリズムなんて誰でも思いつくしかぶっても大した事無い
558名前は開発中のものです。:2013/02/16(土) 12:16:25.49 ID:6ZPRpnfR
DXライブラリで起動させてる窓って他のウインドウを使ってると処理が固まってるのはどうにかなんない?
559名前は開発中のものです。:2013/02/16(土) 12:33:12.29 ID:gsg2DeG2
int SetAlwaysRunFlag( int Flag ) ;
560名前は開発中のものです。:2013/02/16(土) 15:48:39.67 ID:AgVBDduO
でもマウスゲーだと注意だね
バックグラウンドでマウス操作に反応するゲームはなかなかウザイ
561名前は開発中のものです。:2013/02/16(土) 16:01:31.80 ID:6ZPRpnfR
ありです。描写速度も向上したような気がします。
562名前は開発中のものです。:2013/02/16(土) 17:52:38.80 ID:w8iU0om+
物体の連続的な移動をさせる場合はwhile文以外じゃ無理?
563名前は開発中のものです。:2013/02/16(土) 18:02:25.11 ID:HkFhDvSN
gotoとかdoとかforとか
564名前は開発中のものです。:2013/02/16(土) 18:05:12.01 ID:w8iU0om+
>>563
一緒じゃんforとかdoだと。
565名前は開発中のものです。:2013/02/16(土) 18:08:07.94 ID:HkFhDvSN
だったら>>562の質問自体が根本的な勘違いをしている可能性高し
566名前は開発中のものです。:2013/02/16(土) 18:08:43.10 ID:HkFhDvSN
ってこないだのガキか
ここはお前にC++を教えるスレじゃないぞ
567名前は開発中のものです。:2013/02/16(土) 18:09:30.20 ID:w8iU0om+
ようはwhille goto do forを使わずにゲーム作るのって可能?
テトリスとか
568名前は開発中のものです。:2013/02/16(土) 18:11:12.19 ID:HkFhDvSN
動的ゲームは無理
右も左もわからない素人が難しいことしようとすんな
569名前は開発中のものです。:2013/02/16(土) 18:14:01.32 ID:OxdcQ1Uc
2dアクションで、プレイヤーの状態を保持するクラスを作ってて、
ずっと同じインスタンスを使いまわすべきなんだけど、こういうときに
singletonパターンでやったほうが便利なのかな?
staticだったらそれぞれの関数に引数として渡さなくてもいいし。
570名前は開発中のものです。:2013/02/16(土) 18:15:58.61 ID:w8iU0om+
>>568
やっぱりか。
明晰再帰に頼っててもっといい方法あるんじゃないかと思った。
例えばJVMのThreadとか。
571名前は開発中のものです。:2013/02/16(土) 18:17:34.00 ID:HkFhDvSN
シングルトンじゃないほうがいいと思う
2Pプレイの予定がなかったとしても、後から2Pプレイを追加できるような設計が柔軟性があってベストだと思うから

でも結局は自分がやりやすいと思うやり方でいい
572名前は開発中のものです。:2013/02/16(土) 18:18:31.61 ID:w8iU0om+
でも動的ゲーム作ってていちいち描画してたら遅くならない?
例えば背景。これ一々drawしてたら膨大なメモリ消費にならない?
573名前は開発中のものです。:2013/02/16(土) 18:23:06.29 ID:8Tq1eZvA
別にいちいち描画しなくてもいいんだよ
前のフレームの残りカス使いまわしてもいいんだよ
そういうことやって高速化してるゲームいっぱいあるよ
勝手にやれよ
574名前は開発中のものです。:2013/02/16(土) 18:24:04.52 ID:tkHgvkjw
最近の小学6年生ってこんなに頭悪いのか
嘘だと言ってくれ
575名前は開発中のものです。:2013/02/16(土) 18:25:45.78 ID:BIe7h9rB
子供にネットを与えては駄目だといういい例だな
576名前は開発中のものです。:2013/02/16(土) 18:26:18.21 ID:AgVBDduO
最初はシングルトンでいいと思う。
シングルトンとかでぐっちゃぐっちゃでもいいから小規模の目的を完遂させよう。
そして修正したい箇所があったら全部書き直すくらいのつもりで臨む。
じゃないと最初から潰しの効くようなシステム作ろうとすると確実に詰むよ。
577名前は開発中のものです。:2013/02/16(土) 18:40:37.09 ID:M9c9uOMk
>>552
いまさらだが、ScreenFlip
578名前は開発中のものです。:2013/02/16(土) 18:54:49.95 ID:Vgx7O8tS
http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html

これの、1番をやってみなさい。 ( 1.キー入力の基本 )
579名前は開発中のものです。:2013/02/16(土) 18:58:12.02 ID:Vgx7O8tS
DirectXは、まとめてドンと描画するから 多くても少なくても同じ事。
フレームレートは20Hzくらいで余裕だから、 あまり気にすんな。 
むかしの100MHzパソコンならこまるかもな
580名前は開発中のものです。:2013/02/16(土) 19:06:10.50 ID:OxdcQ1Uc
>>576
今基本的なとこができたから、このあと楽になるようにと色々考えてたら言われたとおりぐちゃぐちゃなってたw
プレイヤークラスを各ステージの関数に渡さないといけないのが嫌だなーとおもって。
581名前は開発中のものです。:2013/02/16(土) 19:08:28.70 ID:OxdcQ1Uc
>>571
2プレイかー。そういわれるとそうかも。でもとりあえず突き進んでみる。
582名前は開発中のものです。:2013/02/16(土) 19:20:48.16 ID:w8iU0om+
>>579
ありがとう。
583名前は開発中のものです。:2013/02/16(土) 19:21:01.34 ID:AgVBDduO
でもアレだよ、シングルトンみたいにグローバルっぽいのは
それを利用するクラスがそのゲームに特化した再利用が難しいクラスであるなら
バンバンやっちゃっていいと思うんだよね
逆に言えば特化された空間内での変更には強くなるというか
584名前は開発中のものです。:2013/02/16(土) 19:23:19.67 ID:4VVTWO3L
俺いっそ共通で参照したいの一つに纏めたクラス作って各オブジェクトに継承させてる
585名前は開発中のものです。:2013/02/16(土) 19:30:53.75 ID:w8iU0om+
キャラを1ずつ連続で動かす→点滅しない
自動的に弾幕を1ずつ連続で動かす→点滅する

何で?
586名前は開発中のものです。:2013/02/16(土) 20:11:35.26 ID:w8iU0om+
解決しました
587名前は開発中のものです。:2013/02/16(土) 20:27:08.22 ID:sY7DjkUS
プログラミング言語覚える前にコミュニケーション能力を覚えましょう
588名前は開発中のものです。:2013/02/16(土) 20:28:48.90 ID:HkFhDvSN
質問する前にネチケットを身につけることと、自分で調べることを見につけることだな
589名前は開発中のものです。:2013/02/16(土) 20:39:30.92 ID:w8iU0om+
>>588
すいません。
ところでGetColor(255,0,0)は赤ですが表示されません。
考えられる理由は何ですか?黄色、青は表示されるのですが。
590名前は開発中のものです。:2013/02/16(土) 21:06:59.39 ID:sY7DjkUS
死んで来世にかけるとといいよ
591名前は開発中のものです。:2013/02/16(土) 21:07:51.98 ID:Gz4OdPIX
掲示板はデバッガでも子守りでもないんだけど
592名前は開発中のものです。:2013/02/16(土) 21:13:07.00 ID:w8iU0om+
>>591
デザインパターンの質問は良くて
俺の質問がだめなのは何でかな?
ちなみに俺を叩いてる奴は単発な。
ID:HkFhDvSNさん教えてくれませんか?
赤を取得しても黒っぽくなります。
setgroundcolorで白にしても無駄でした。
どうすればいいですか?
593名前は開発中のものです。:2013/02/16(土) 21:15:32.41 ID:XJ756xPC
向いてないから死ね
594名前は開発中のものです。:2013/02/16(土) 21:15:47.89 ID:BIe7h9rB
ガチっぽいのが笑えるわこの子
595名前は開発中のものです。:2013/02/16(土) 21:20:08.21 ID:HkFhDvSN
>>592
少しはいろいろ試してみたり調べたりして自分だけの力で解決する努力をしろ
下らない質問ばかりするのが迷惑だってのがわからないのか?

自分の力で解決しようと努力することがゲーム制作者としての力量を上げることに繋がるんだ
質問ばかりでゲームを完成させられなさそうな奴の為に質問に答えてあげようと思うか?思わないだろ?
596名前は開発中のものです。:2013/02/16(土) 21:24:50.87 ID:Gz4OdPIX
マジレスすると質問者が何を試して何を考えたのか書かれているかいないかの違いだよ
上手くいかないから何なの?馬鹿なの?死ぬの?
597名前は開発中のものです。:2013/02/16(土) 21:29:50.03 ID:w8iU0om+
何度も言うけど俺を叩いてる奴は外野から来た単発な。
質問に答えてくれる人は叩かないから。

>>595
かなり調べました。
GetColor 赤 で調べても255,0,0がそうであるしか出てこないんですよ。
GetColor以外で色取得する方法無いから困ってるんで.....
青、黄、灰色、白とちゃんと表示されるんですが赤がどうしても。
引数の対応は左から赤緑青であってると思うんですが....
質問は基本的に一括してしたいタイプです。一度作り出したら
ここで質問を乱発して迷惑をかけるということは無いと思います。
598名前は開発中のものです。:2013/02/16(土) 21:35:34.46 ID:HkFhDvSN
>>597
お前の使ってるライブラリかPCがおかしいとしか言えん
てか迷惑だっていうのがわかってるのならもうやめろ
本でも買って勉強しとけ
もう一切お前の質問には答えん
599名前は開発中のものです。:2013/02/16(土) 21:45:37.80 ID:Uq/HW/qN
ID:w8iU0om+ は次に「他に答えてくれる人いませんか」、と言う
600名前は開発中のものです。:2013/02/16(土) 21:49:52.81 ID:Gz4OdPIX
答えてくれない奴は外野から来た単発な、とも言うな
601名前は開発中のものです。:2013/02/16(土) 21:50:00.61 ID:w8iU0om+
直接描画関数にGetColor(255,0,0)入れたら赤が表示されました。
何故でしょうね。皆さんやってくださいよ。面白いですよ。
変数に代入してから入れると黒になる。
もしかして予約子なのかと思って変数名を冗長にしたけどそれでも黒。
他の色だとちゃんと表示されるのに。
602名前は開発中のものです。:2013/02/16(土) 21:57:05.96 ID:sY7DjkUS
騙されたと思ってやってみたら騙された
603名前は開発中のものです。:2013/02/16(土) 21:57:38.50 ID:XJ756xPC
荒らしに構う奴も荒らし
604名前は開発中のものです。:2013/02/16(土) 21:59:36.62 ID:w8iU0om+
>>602
いやまじで
int x;
x=GetColor(255,0,0);
while()
{
DrawCircle(100,100,10,x,TRUE);
}
でやってみてくださいよ。
表示されないw
xをGetColorで直接いれたら表示されるのに。
605名前は開発中のものです。:2013/02/16(土) 22:10:27.28 ID:4VVTWO3L
俺も同じような経験あるは実は
やらないけど
606名前は開発中のものです。:2013/02/16(土) 22:13:16.59 ID:AgVBDduO
>>584
あー共通参照のをstaticでまとめておくってやり方だよね?
結びつきはかなり強くなってしまうけど、用途を限定した場合の便利さは最高レベルだと思う。

C#で作成するクラスに自動的に継承されるObject型みたいに
ある名前空間のクラスに、ある基底クラスを自動的に継承させる方法とかあればいいのにね
607名前は開発中のものです。:2013/02/16(土) 22:22:11.16 ID:2kEfZOmF
>>604

つか、whiileで無現ループしてたらそりゃ表示しないよ
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int x;
if( DxLib_Init() == -1 )// DXライブラリ初期化処理
{
return -1;// エラーが起きたら直ちに終了
}
x=GetColor(255,0,0);
DrawCircle(100,100,10,x,TRUE);
WaitKey() ;// キーの入力待ち((7-3)『WaitKey』を使用)

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

return 0 ;// ソフトの終了
}
608名前は開発中のものです。:2013/02/16(土) 22:22:48.63 ID:wy9vaksS
>>604
最初にそれを言え
609名前は開発中のものです。:2013/02/16(土) 22:26:34.52 ID:w8iU0om+
>>607
背景を白にしたら黒色で表示されてることが確認できました。
whileの問題じゃないと思います。>>604は単純化しただけで....
610名前は開発中のものです。:2013/02/16(土) 22:34:37.68 ID:QWMw3jn2
単純化したらサンプルにならんよ。
ちゃんと動作する(現象が確認できる)ヤツじゃないと。
611名前は開発中のものです。:2013/02/16(土) 22:36:11.26 ID:2kEfZOmF
>>609
ふーん、少なくとも俺の環境じゃ普通に赤い丸がでるし
コード的にも間違いないし。

あんたの環境の問題じゃねーの?
最新のDXLIB使ってるか?
自分でビルドしたDXLIB使ってるとか?
612名前は開発中のものです。:2013/02/16(土) 22:38:52.11 ID:w8iU0om+
恥ずかしいけど全部書きます。
#include "DxLib.h"
int hit(int x1,int y1,int r1,int x2,int y2,int r2)
{
if((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)<(r1+r2)*(r1+r2))return 1;
else return 0;
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow ){

int Key[4];
int i,j;
/*円Cの設定*/
int Cx,Cy,Cr,Cc;
int Dx,Dy,Dr,Dc;
int bx1[300],bx2[300],by1[300],by2[300],bd;
bx1[0]=10;bx2[0]=15;
by1[0]=401;by2[0]=406;
bd=GetColor(204,51,0);
for(i=1;i<=298;i++)
{
bx1[i]=bx2[i-1]+1;
bx2[i]=bx1[i]+5;
by1[i]=by1[0];
by2[i]=by2[0];
}
613名前は開発中のものです。:2013/02/16(土) 22:39:46.35 ID:w8iU0om+
Cx=100;Cy=391;Cr=8;
Cc=GetColor(0,0,255);
int t;
int x;
Dx=200;Dy=380;Dr=20;
Dc=GetColor(255,255,0);
int mx,my,mr,mc,mb,mbc;
mc=GetColor(153,153,153);
mr=5;
mb=0;
int ex,ey,er,ec;
er=10;
ec=GetColor(255,0,0);
ey=395;
ex=200;
int z;
z=GetColor(255,0,0);
if( DxLib_Init() == -1 )// DXライブラリ初期化処理
{
return -1;// エラーが起きたら直ちに終了
}

SetDrawScreen( DX_SCREEN_BACK ) ;
DATEDATA Date;
t=0;
x=20;
GetDateTime( &Date );
SRand(Date.Sec);
614名前は開発中のものです。:2013/02/16(土) 22:39:50.99 ID:HPMH5nBo
>>611
あなたのDXライブラリのバージョンは?
615名前は開発中のものです。:2013/02/16(土) 22:41:40.44 ID:w8iU0om+
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{if(CheckHitKey(KEY_INPUT_DOWN))Cy=Cy+3;if(CheckHitKey(KEY_INPUT_UP))Cy=Cy-3;


if(CheckHitKey(KEY_INPUT_Z)&&CheckHitKey(KEY_INPUT_LEFT))Cx=Cx-4;
else if(CheckHitKey(KEY_INPUT_LEFT))Cx=Cx-3;

if(CheckHitKey(KEY_INPUT_Z)&&CheckHitKey(KEY_INPUT_RIGHT))Cx=Cx+4;
else if(CheckHitKey(KEY_INPUT_RIGHT))Cx=Cx+3;
if(Cy>=393)Cy=392;
if(CheckHitKey(KEY_INPUT_X)&& mb==0)
{
mx=Cx;my=Cy;
mb=1;mbc=0;
}
if(mb==1)
{
mx=mx+4;
mbc=mbc+1;
if(mbc==20)mb=0;
}
if(t<=19){Dy=Dy-x;x=x-1;}
if(t==19)x=1;
if(t>20&&t<=40){Dy=Dy+x;x=x+1;}
if(GetRand(1000)%2)ex=ex+5;
if(GetRand(1000)%3)ex=ex=ex+7;
else ex=ex-5;
616名前は開発中のものです。:2013/02/16(土) 22:42:13.98 ID:2kEfZOmF
>>614
ん?
さっき拾ってきたから
3.10aだよ
617名前は開発中のものです。:2013/02/16(土) 22:45:37.30 ID:XJ756xPC
まずバグが再現する最小限のコードでテストしろよ
618名前は開発中のものです。:2013/02/16(土) 22:46:52.90 ID:HPMH5nBo
>>616

それで、 >>607 のコードで正常に赤丸が通ったんだね。 なるほど
619名前は開発中のものです。:2013/02/16(土) 22:49:19.24 ID:2kEfZOmF
>>618
そう

つか、なかなか描画部分が出てこないじゃないw
長いならロダにでも上げたら?

もしくは、>>617 が言っているように。

>>607 のコードビルドして動かしてみ?
620名前は開発中のものです。:2013/02/16(土) 22:52:54.97 ID:Dlm/+MUz
ClearDrawScreen() ;
DrawCircle(Cx,Cy,Cr,Cc,TRUE);
DrawCircle(Dx,Dy,Dr,Dc,TRUE);
DrawCircle(ex,ey,er,ec,TRUE);/*←ここがおかしい*/
for(i=0; i<=290; i++)DrawBox(bx1[i],by1[i],bx2[i],by2[i],bd,TRUE);
if(hit(Cx,Cy,Cr,Dx,Dy,Dr)==1)DrawString(100,100,"OUT!,you hit!",GetColor(255,255,255),TRUE);
if(mb==1)DrawCircle(mx,my,mr,mc,TRUE);


ScreenFlip();

t++;
if(t>100){t=0;x=20;}
}

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

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


これで全てです。
連続投稿辛い....
621名前は開発中のものです。:2013/02/16(土) 22:53:10.67 ID:wuJ64e+t
>>618

新規プロジェクトで

int x;
x=GetColor(255,0,0);
DrawCircle(100,100,10,x,TRUE);

試してみて不具合がなければ、ソースのどこかに原因がありますので
頑張って解析してください
622名前は開発中のものです。:2013/02/16(土) 22:54:03.78 ID:HPMH5nBo
>>619
昨日議論してて、DXライブラリの初期値が16bit画面だったんだけど、そしてね。
本来ならば、DWORDのはずなんだがintegerでもいけるようだし
いやいや、最新版は違うんだろうと思った次第です
623名前は開発中のものです。:2013/02/16(土) 22:57:15.77 ID:XJ756xPC
いらいらするなあ
624名前は開発中のものです。:2013/02/16(土) 22:59:29.75 ID:HPMH5nBo
色の計算は、32bitの場合に
color = (2^16)*R + (2^8)*G + B

こうだと思った
625名前は開発中のものです。:2013/02/16(土) 23:02:24.95 ID:IYZRyVn8
今全ソース入れてみて実行したけど・・・
画面表示出ないのは自分の設定がおかしいから?

あと関係ないと思うけどCheckHitKeyで ==0 とか書かれてなくても大丈夫だっけ?
(自分で作ってるソースはDxLibのリファレンスに載ってるものに
ほぼ忠実に従って書いてるから、上記で合ってるなら分からない)

ちなみにint x; からDrawCircle〜までの短い部分なら普通に表示された
626名前は開発中のものです。:2013/02/16(土) 23:04:12.25 ID:HPMH5nBo
>>625
あなたの DXライブラリのバージョンは?
627名前は開発中のものです。:2013/02/16(土) 23:04:15.96 ID:XJ756xPC
いや、GetColorで返る値は0xRRGGBBにはなってないぞ
DrawCircle(x,y,r,0xff0000,TRUE)としても赤にはならない
この辺の仕様がどうなってるのかよく分からないんだよなあ
628名前は開発中のものです。:2013/02/16(土) 23:06:29.74 ID:sY7DjkUS
DxLib_Init()は?
629名前は開発中のものです。:2013/02/16(土) 23:06:35.99 ID:Gz4OdPIX
0xAARRGGBBじゃないの
630名前は開発中のものです。:2013/02/16(土) 23:07:01.00 ID:HPMH5nBo
>>627
だからぁ、 画面モードが16bitの場合は計算が違うだろう。各色256じゃないし
631名前は開発中のものです。:2013/02/16(土) 23:09:53.92 ID:XJ756xPC
kwsk
632名前は開発中のものです。:2013/02/16(土) 23:10:47.88 ID:IYZRyVn8
>>626
3.08e

今自分が作ってるソフトはDxLibの上記バージョンで動作できてる
最初にライブラリインクルード/winmain〜/DxLib初期化/描画先を裏画面に設定
の順で処理してます
(グラフィックモードは32ビット。)
633名前は開発中のものです。:2013/02/16(土) 23:14:08.02 ID:HPMH5nBo
DxLib_Init() の時点で、初期化でリセットされるから その前に設定したのはきぇる
634名前は開発中のものです。:2013/02/16(土) 23:16:10.52 ID:Dlm/+MUz
なんやら議論の旋風を巻き起こしちゃったみたいですいません。
超難しい問題だったんだねやっぱり。
635名前は開発中のものです。:2013/02/16(土) 23:18:12.37 ID:bgrjq9sA
単純にDxLib_Init()の前に余計なDXライブラリの関数呼ぶなって事だ
636名前は開発中のものです。:2013/02/16(土) 23:18:44.83 ID:2kEfZOmF
確かに全画面だとでないなぁ。
何かが悪さしてるんだろうけど。

ChangeWindowMode(TRUE); ←これ入れてWindowモードにする
if( DxLib_Init() == -1 )// DXライブラリ初期化処理
{
return -1;// エラーが起きたら直ちに終了
}

Windowモードだとちゃんと赤い玉が表示されるんだが。
637名前は開発中のものです。:2013/02/16(土) 23:21:00.14 ID:2kEfZOmF
>>635
正解

if( DxLib_Init() == -1 )// DXライブラリ初期化処理
{
return -1;// エラーが起きたら直ちに終了
}
↑これを
Cc=GetColor(0,0,255);
ここの前に入れたら問題なく表示されたわw

なんという盲点w
638名前は開発中のものです。:2013/02/16(土) 23:22:53.95 ID:wuJ64e+t
DxLib_Init()

ライブラリを使う前に初期化しなきゃならんてリファレンスにかいてあるよ
639名前は開発中のものです。:2013/02/16(土) 23:24:42.20 ID:2kEfZOmF
>>634
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow ){

int Key[4];
int i,j;
/*円Cの設定*/
int Cx,Cy,Cr,Cc;
int Dx,Dy,Dr,Dc;
int bx1[300],bx2[300],by1[300],by2[300],bd;

if( DxLib_Init() == -1 )// DXライブラリ初期化処理
{
return -1;// エラーが起きたら直ちに終了
}

こうしたらなおったよ
640名前は開発中のものです。:2013/02/16(土) 23:25:03.30 ID:HPMH5nBo
>>636
画面の初期設定設定をしてみ、 
641名前は開発中のものです。:2013/02/16(土) 23:26:25.18 ID:XJ756xPC
どうもDxLib_Initの前にGetColorするとうまくいかないくさいなあ
642名前は開発中のものです。:2013/02/16(土) 23:28:09.47 ID:IYZRyVn8
winmainの次にウィンドウモード設定して
次行にDxLib_Init()==-1〜 の部分を持ってきたら無事表示された
643名前は開発中のものです。:2013/02/16(土) 23:29:57.42 ID:bgrjq9sA
>641
リファレンスに書いてあるだろ、俺はソースコードを参考にしてるだけで
DXライブラリ使ったこと無いけど読んでるよ
644名前は開発中のものです。:2013/02/16(土) 23:30:51.03 ID:Dlm/+MUz
>>639
天才!凄いですね...このスレ凄いわ...専門知識の塊。
まじでプログラミングむずすぎwwww
645名前は開発中のものです。:2013/02/16(土) 23:31:44.18 ID:HPMH5nBo
SetGraphMode を設定してみ
646名前は開発中のものです。:2013/02/16(土) 23:34:34.53 ID:sY7DjkUS
最早ネタでやってるとしか思えないな
647名前は開発中のものです。:2013/02/16(土) 23:35:43.31 ID:XJ756xPC
DxLib_Initの前にGetColorすると32ビット環境での値が返ってるぽいね
エラーとして-1とか返した方がいいんじゃないのか
648名前は開発中のものです。:2013/02/16(土) 23:39:32.11 ID:Dlm/+MUz
>>639
本当にありがとうw
さっき試したけどたぶん直ったかもしれない...
嬉しいわ
649名前は開発中のものです。:2013/02/17(日) 00:08:51.54 ID:r4LHV3N6
Initした時点でリセットさせるんだろ
SetGraphMode挟んでも同じ現象が起こりそうだな
というかそういうもの挟んで色作っておくとか普通やらんと思う。
ましてInit前になにしてんだ
650名前は開発中のものです。:2013/02/17(日) 00:11:05.96 ID:YWPR4PEQ
まさかとは思うけどInit(ialize)の意味を知らないんだろうかね
651名前は開発中のものです。:2013/02/17(日) 00:11:18.70 ID:3WJ8X85W
つか、上のソース見りゃ初心者なのまるわかりだろうに。
何初心者相手にドヤ顔してんだよ。

恥ずかしいやつだなぁ
652名前は開発中のものです。:2013/02/17(日) 00:14:38.00 ID:S7v3YgsT
>>651
やっぱ初心者ですかね?w
円が重力にしたがって落ちるとか結構自分でも凄いアルゴリズムだと
思うんですがw
653名前は開発中のものです。:2013/02/17(日) 00:26:52.65 ID:S7v3YgsT
>>649
その関数あったことも忘れてたw
空気化してたw
654名前は開発中のものです。:2013/02/17(日) 00:28:06.84 ID:YATnN1Vt
まあでもデバッグとしてはいいとこ突いてんじゃないか
DxLib_Init前にGetColorがエラーなしで通り、Init後には使えない値になる
バグじゃないけどあんまり望ましい仕様ではないものが見つかったといえる
655名前は開発中のものです。:2013/02/17(日) 00:32:49.48 ID:PLB35gYt
リファレンスに従ってたら起こり得ないからそもそもそんな事を書く方がおかしい
656名前は開発中のものです。:2013/02/17(日) 00:34:34.96 ID:r4LHV3N6
初期化(Initialize)してんだから基本的にそうなるじゃん。
この場合、初期化されない方がイレギュラーなんだが。
657名前は開発中のものです。:2013/02/17(日) 00:47:54.71 ID:YWPR4PEQ
>>654
「初期化前に初期化したら不具合が出ました、仕様バグです」

↑基地外
658名前は開発中のものです。:2013/02/17(日) 02:55:49.81 ID:ckdJ3qlQ
C言語初心者だと思って読んでたけどプログラミングの初心者だったか
659名前は開発中のものです。:2013/02/17(日) 03:08:34.04 ID:hWBCctq6
頭の悪い小6にドヤ顔でプログラミング教えてる中学生がたくさんいるスレはここですか
660名前は開発中のものです。:2013/02/17(日) 07:54:24.95 ID:FbMvMaff
ガキは相手すんな
661名前は開発中のものです。:2013/02/17(日) 17:39:01.81 ID:hSciew7e
昔は、初期化するまえにイメージロードとかできた記憶あるが
いまはできんね。
662名前は開発中のものです。:2013/02/17(日) 17:40:04.02 ID:hSciew7e
あと、DxLibは初期化前に使う関数というもんがあるから
間違えるやつもいる
663名前は開発中のものです。:2013/02/17(日) 17:40:49.39 ID:FbMvMaff
連レスやめろ
664名前は開発中のものです。:2013/02/18(月) 04:02:42.81 ID:92nc1Awc
>>652
それはないww凄いとかww
665名前は開発中のものです。:2013/02/18(月) 11:05:26.70 ID:CtnBOm+I
メタセコイアでMAPの地面つくってんだけどUV以外でテクスチャ貼る方法とか無いの?
細かい道とか作るのにUVでは面の形状に依存しすぎだり地図みたいなテクスチャをかぶせるだけだと容量や解像度が最悪になる。
666名前は開発中のものです。:2013/02/18(月) 11:08:15.82 ID:wU5EAmPf
メタセコイア側なら平面マッピング機能
プログラム側ならUV値の自動生成(XZ値を使うなど)
667名前は開発中のものです。:2013/02/18(月) 11:17:48.90 ID:CtnBOm+I
プログラム側が楽みたいかな
自作MAP作成ツールでも作ってみよう。
668名前は開発中のものです。:2013/02/18(月) 14:43:29.28 ID:loO/04Mg
初心者はここよりこっち
http://dixq.net/

質問は小中学生が大半だし大体何でも答えてくれる
上から目線度合いもここより上だ
669名前は開発中のものです。:2013/02/19(火) 00:24:50.61 ID:Sm8RpjqE
上から目線度合いって質問する側の事?
670名前は開発中のものです。:2013/02/19(火) 12:40:05.11 ID:obk7LsIb
半円を描写する場合、点を連続して描写するのでしょうか?
671名前は開発中のものです。:2013/02/19(火) 12:45:02.45 ID:uh49rqey
バーカ
672名前は開発中のものです。:2013/02/19(火) 13:02:03.31 ID:J33REcay
半円の画像を用意して表示するだけ
673名前は開発中のものです。:2013/02/19(火) 13:50:03.74 ID:p6v44q1S
ポリゴンでやれ
674名前は開発中のものです。:2013/02/19(火) 14:11:33.14 ID:rZZ4pVm7
点を連続で打とうと思ったらとりあえず線をつないでみるといいと思うよ
675名前は開発中のものです。:2013/02/19(火) 23:02:25.05 ID:px2MKSga
3Dモデルにアクセサリーくっ付けるサンプルを参考にしてるんだけど、
全く同じようにプログラム書いてもアクセサリーの角度が全く変わらないんだが…
もちろんモデルのフレーム(手)はちゃんと動いてるのに
676名前は開発中のものです。:2013/02/19(火) 23:04:56.47 ID:fJSxXe9U
質問してくれないと答えようがない
677名前は開発中のものです。:2013/02/19(火) 23:32:35.22 ID:nf1XOjxQ
質問です
ウィンドウの大きさを変えずに解像度をあげたいのですが調べてもよくわかりません
調べ方が悪かったのかもしれないですが教えてくれませんか?
678名前は開発中のものです。:2013/02/19(火) 23:35:11.03 ID:C0wDOdoD
無理じゃね?
解像度の意味理解してるのか疑問
679名前は開発中のものです。:2013/02/19(火) 23:37:45.76 ID:p6v44q1S
理解していると解釈すると、大きな画面を生成してそれに内容を描画した後ウィンドウに貼り付ければいい

でも勘違いしてそうだな
680名前は開発中のものです。:2013/02/19(火) 23:45:09.99 ID:Xdx+MGgE
要は画面解像度640x480で動いてるゲームがあったとして、
それを1280x960にすると同時に、ウィンドウサイズも縦横2倍にする、という話か。
681名前は開発中のものです。:2013/02/19(火) 23:50:31.56 ID:qKfb7lS1
解像度は上位互換できないよ。
ブラウン管の画素数をあげる事だからハードウェアレベルの問題に到達する。
682名前は開発中のものです。:2013/02/19(火) 23:52:44.41 ID:qOaDBf+i
質問がカオスなせいか回答側も混乱しているように見える
683名前は開発中のものです。:2013/02/20(水) 00:19:05.79 ID:mvTmbjtG
>>677
解像度には二種類の意味があるし、
ウィンドウの大きさっていうのも、画素数の話か、物理サイズの話かわからないし
そのへんの言葉の意味をもう一度調べて正確に質問し直した方がいいと思う
684名前は開発中のものです。:2013/02/20(水) 00:21:58.51 ID:Yi5uMioL
PC初心者っぽいし、>>680の言ってることだとがあってると思う
ディスプレイ解像度あげたら、ウィンドウが小さくなった!って言ってそう
こんなレベルでもゲームプログラミングの世界に入ってくるなんてDXライブラリすごいな
685名前は開発中のものです。:2013/02/20(水) 00:46:15.97 ID:Caescjsw
もしかしてフォグってデバイスロストするのか?
どうやって蘇生させればいいんだ
686名前は開発中のものです。:2013/02/20(水) 00:51:34.37 ID:AaU5kHH6
>>684
恥ずかしながら俺は>>680の意味も分からない。
687680:2013/02/20(水) 01:52:17.02 ID:qNul5HBl
>>686
オイラの言いたかったことは、オイラ自身の説明(>680)よりも、>684の
「ディスプレイ解像度あげたら、ウィンドウが小さくなった!」の一言に全て集約されてる気がする。


例えば、最近はめっきり見なくなった環境だけど、
ディスプレイの解像度を640x480にした状態で、ウィンドウサイズ320x240のゲームを遊んでたとする。

この人が、ディスプレイ解像度を縦横2倍の1280x960に変更したとする。
すると、ゲームのウィンドウは、相対的に縦横1/2(面積1/4)になっちゃうわけだ。

この状態でゲームを遊ぶには小さすぎるだろうから、どうにかしたいって話なんじゃないか……と。
688名前は開発中のものです。:2013/02/20(水) 03:11:48.48 ID:W66NiBuz
自己解決しました
みなさんすいませんでした
そしてわざわざありがとうございました
689名前は開発中のものです。:2013/02/20(水) 03:17:06.27 ID:AaU5kHH6
>>687
すまんまだわからん。
ウインドウサイズは解像度あげたらそれに合わせて上がるんじゃないの?
690名前は開発中のものです。:2013/02/20(水) 03:31:03.43 ID:kxSBamO1
彼なので以下スルーで
691名前は開発中のものです。:2013/02/20(水) 03:38:01.37 ID:mxCMoehV
>>689
あがんねーよw
試しにデスクトップの解像度下げてから
何かウィンドウ表示して解像度上げてみろよw
ウィンドウサイズは変らずに見た目だけ小さくなるからw
692名前は開発中のものです。:2013/02/20(水) 03:39:26.10 ID:AaU5kHH6
見た目小さくなる=ウインドウサイズ小さくなるじゃないの?
693名前は開発中のものです。:2013/02/20(水) 03:43:42.51 ID:AaU5kHH6
ウインドサイズが見た目で変わらないってどうやって分かるの?
694名前は開発中のものです。:2013/02/20(水) 04:22:34.30 ID:AaU5kHH6
解決しませんでした。
695名前は開発中のものです。:2013/02/20(水) 04:44:04.35 ID:qNul5HBl
>>688
結局どれが正解だったんだw
もやもやして困る
696名前は開発中のものです。:2013/02/20(水) 10:16:56.65 ID:LEBkQR7h
“自己”解決って言ってるんだから、この中に正解は無かったってことだろw
697名前は開発中のものです。:2013/02/20(水) 10:28:10.39 ID:mDuhSTDL
>>689

「ウィンドウのサイズ」と「ディスプレイ解像度」の意味を理解するところから始める必要がある。
「ウィンドウサイズ」とは、そのウィンドウが縦横何ピクセルで表現されるかという意味であり、
「ディスプレイ解像度」は、そのディスプレイが縦横何ピクセルを表示出来るかという意味になってる。
たとえば、1*1の解像度のディスプレイだとしたら、640*480のウィンドウを表示するためには640*480個のディスプレイを使わないといけない。
これはつまり、そのウィンドウはそのディスプレイには収まりきらないくらい大きなウィンドウということになる。
逆に10000*10000の解像度のディスプレイがあったとしたら、その左上(おそらくは)のほんのごく一部しか使わずに表示出来るだろう。

解像度を上げてもディスプレイが巨大化したりはしないわけだから、一定のディスプレイの横幅を10000で割って640倍した横幅しか使わない。
ということは、ディスプレイの横幅/10000*640とディスプレイの横幅/640*640ではどちらの方が大きくなるかを比較すればいい。
このくらいの算数は出来るだろう?
698名前は開発中のものです。:2013/02/20(水) 10:35:31.00 ID:qGoMDRql
多分知識より読解力が足りてないな
699名前は開発中のものです。:2013/02/20(水) 10:54:40.37 ID:eU151FgE
キチガイのガキはスルーしろ
700名前は開発中のものです。:2013/02/20(水) 13:05:53.91 ID:qNul5HBl
とりあえず、単位(ドットなのかcmなのか)を省略すると誤解を招きかねない、
ということは学んだ。
701名前は開発中のものです。:2013/02/20(水) 13:40:30.18 ID:J/BnCOKL
質問者が意味もわからない用語を無理に使って失敗したパターンか
702名前は開発中のものです。:2013/02/20(水) 14:14:35.88 ID:LEBkQR7h
無理に使ってるイメージは無いなあ。
単に言葉が足りなすぎる。
703名前は開発中のものです。:2013/02/20(水) 16:01:40.48 ID:AaU5kHH6
>>697
俺なんかのために詳しい説明ありがとう。
解像度2倍にするという事はディスプレイの2マスで1画素を表現していたのを
1マスで1画素表現できるようになるという事だから
同じ絵でもディスプレイ解像度大きくなる程小さくなるという事ですね。


そのウィンドウはそのディスプレイには収まりきらないくらい大きなウィンドウということになる。
>

でも
大きい解像度の絵の場合、逆に解像度を下げて表示するという機能もあるんじゃなかったっけ?
画面いっぱいに解像度の大きい絵を表示する場合解像度下げないとスクロールしないと全体の画面
を見れなかったりするし。
704名前は開発中のものです。:2013/02/20(水) 16:05:33.83 ID:LEBkQR7h
キミは解像度という言葉を使わずに同じ内容書いてみてよw
705名前は開発中のものです。:2013/02/20(水) 16:08:18.11 ID:AaU5kHH6
でも
大きい解像度の絵の場合、逆に解像度(ウインドウサイズの事、以下解像度)を下げて表示するという機能もあるんじゃなかったっけ?
画面いっぱいに解像度の大きい絵を表示する場合解像度下げないとスクロールしないと全体の画面
を見れなかったりするし。
706名前は開発中のものです。:2013/02/20(水) 16:10:15.57 ID:AaU5kHH6
そのウィンドウはそのディスプレイには収まりきらないくらい大きなウィンドウということになる。
>


昔のディスプレイ解像度が640×480しかないやつ。
限界がこうなら、高解像度の画像見るなら画像の解像度落とすしかないでしょ?
707名前は開発中のものです。:2013/02/20(水) 16:16:53.93 ID:AaU5kHH6
スルーで
708名前は開発中のものです。:2013/02/20(水) 16:43:18.15 ID:AaU5kHH6
>>698
そうでした。すいません。スルーで...
709名前は開発中のものです。:2013/02/20(水) 17:50:13.19 ID:J/BnCOKL
ウィンドウのサイズを解像度なんて表現してるのはじめて見たよ
710名前は開発中のものです。:2013/02/21(木) 22:45:57.05 ID:y1Tn8AOC
流れに関係ない話なんだけど
DXライブラリはDirectX使ってるから画像扱う時に8*8とか128*128とかの、
2のn乗サイズかつ正方形じゃないと描画遅くなるのかな?
711名前は開発中のものです。:2013/02/21(木) 23:36:37.55 ID:fS/p+jBe
速度は変わらない
今は仕様が変わって、分割ではなく大きいサイズで確保するようになったから、VRAMを余計に消費するだけ
712名前は開発中のものです。:2013/02/21(木) 23:48:16.63 ID:xVRxK/YA
.JPGはダメですよ
713名前は開発中のものです。:2013/02/22(金) 14:38:07.87 ID:LE7Qo0sF
>>711
あなるほどサンmクス
714名前は開発中のものです。:2013/02/22(金) 15:09:01.85 ID:9tqntaiu
いつ仕様が変わったんだ?
715名前は開発中のものです。:2013/02/22(金) 15:15:27.53 ID:FANCGVh9
公式の更新履歴見るとよろし
716名前は開発中のものです。:2013/02/22(金) 15:16:50.65 ID:CA65hQDC
(2012/7/15)
3.08b  テクスチャ分割のデメリットの方がメリットよりも大きくなってきたため、
   最大テクスチャサイズに収まる限りはテクスチャ分割は行わないように処理を変更


確かこれだな。
717名前は開発中のものです。:2013/02/22(金) 18:29:32.54 ID:hO+FvvPD
画像サイズが512*1200とかだったら512*2048で確保されるってことかな?
718名前は開発中のものです。:2013/02/22(金) 19:24:20.32 ID:FANCGVh9
そういうこと
719名前は開発中のものです。:2013/02/22(金) 22:10:21.01 ID:nWgYX77j
LoadDivGraphで大きい画像を分割する時に、元の画像が2のn乗の方が良い、ってのとは別の話?
それともこういうのを考えないようになったって話?

理解力なくてすまないけど教えて欲しい。
720名前は開発中のものです。:2013/02/22(金) 23:12:51.34 ID:FANCGVh9
それも関係ない
元の画像の確保サイズの話
721名前は開発中のものです。:2013/02/23(土) 01:36:11.79 ID:VFb559c/
>>719
画像分割は関係ないけど、元の画像が2のn乗云々っていうのはその通り……のはず
722名前は開発中のものです。:2013/02/23(土) 12:43:42.36 ID:PSZKdlfD
これはモデルテクスチャにも当てはまるな
MMDみたいなポリゴン凄い重そうな物理戦法だと気にならないかもしれないがローポリだと露骨にきになる。
723名前は開発中のものです。:2013/02/24(日) 00:57:36.14 ID:x2N7H4jD
MAPデータってBMP貼ってるけど拡張子で速度変わるの?
容量的にはJPGが軽いけど読み込んだら拡張子関係なく格納されるのですか?
724名前は開発中のものです。:2013/02/24(日) 01:19:06.55 ID:oD9cjSEZ
はい
725名前は開発中のものです。:2013/02/24(日) 01:23:27.27 ID:IWTDPtSl
まず、ゲームでは.jpgは論外。画質劣化があり透明に歪みがでる。
DirectX内部としてどの画像であっても展開して格納されるから同じ。
DirectXを考慮すると、MSの.ddsが良いのだろうけど、大きく違わない。
次に透明をサポートするか、カラーキーを使うかによって分けられる。
BMP,JPGなどは透明を持って無いからカラーキーを使う。
PNG,TGA,DDSなどはアルファチャネルを使う。
圧縮形式の圧縮率も影響するので実験するのが良い
またファイルの大きさもzipで圧縮するから同じこと。
ツールのサポートが多い、BMPやPNGが一般的だと思う
726名前は開発中のものです。:2013/02/24(日) 10:02:13.20 ID:fiiW71WI
DXライブラリのアーカイバ使えば圧縮されるから元のサイズなんて気にせんでえーねん
劣化なし・無圧縮・読み込み速度最高のDDSが最強だよ
727名前は開発中のものです。:2013/02/24(日) 10:35:55.74 ID:M10ni+Z1
ちょっと気になったんだけど、コンストラクタでロードした画像データって他で使えないのかな?
LoadGraphとか使ってるけど実際使おうとするとリセットされてるような…
728名前は開発中のものです。:2013/02/24(日) 10:51:20.66 ID:3DJ2Z6QK
それは >>633 じゃないの
729名前は開発中のものです。:2013/02/24(日) 11:03:50.44 ID:M10ni+Z1
なるほど…全然気付かなかった
だから普通の変数は使えるのね
730名前は開発中のものです。:2013/02/24(日) 11:10:21.28 ID:kqZZjtwK
なんでInitの前にLoadGraphがあるの
どういう発想でそういうことが起きるのかまったく理解できんw
731名前は開発中のものです。:2013/02/24(日) 11:18:39.80 ID:fiiW71WI
DxLib_Initをラップして初期化関数作るとそういうタイミングのミスが減って捗る

設定ファイルを読み込んで、DxLib_Init前じゃなきゃできない設定を適用してからInit、
その後DxLib_Init後にしか適用できない設定を変更するまでを一つの関数にまとめる。

初期化関数内でのDxLib_Initの戻り値を初期化関数の戻り値にすれはDxLib_Init()と同じ使い方でいけるし
732名前は開発中のものです。:2013/02/24(日) 11:28:51.80 ID:NyDJUaBJ
メンバ変数として、コンストラクタでLoadGraphを実行するオブジェクトを
DxLib_Initを実行するクラスで保有してるんじゃねえの
733名前は開発中のものです。:2013/02/24(日) 14:48:29.57 ID:x2N7H4jD
初期化より後に宣言するとヤバイ命令もあったりややこしいですね。
734名前は開発中のものです。:2013/02/24(日) 18:30:50.63 ID:3ZBes5Rw
DirectXがややこしいんだから、仕方が無いのでは?
それともDirectXを直に触ってみる?
735名前は開発中のものです。:2013/02/24(日) 18:36:48.31 ID:oD9cjSEZ
リファレンス読んでないのが悪いだけ
736名前は開発中のものです。:2013/02/24(日) 18:41:05.04 ID:PVZbthYQ
DirectXの仕様を考えると自然とわかると思うんだけどな
やっぱり根本を知るということは重要
737名前は開発中のものです。:2013/02/24(日) 18:43:02.85 ID:5P08n90L
DirectXの仕様とか別に知らなくていいけど
文句言う人に限ってリファレンスとかサンプルコードとか読まない印象が強いというか
738名前は開発中のものです。:2013/02/24(日) 19:34:19.34 ID:+2n1+Ryx
DxLib_Init()のリファレンス見たけど、あの説明だけではどの関数はよくてどの関数はだめとか分からないよね。
この手の間違いはあっても仕方ないんじゃないかと思う。間違ってから、あぁこれがだめなのかというのを思いつくなり調べるなりして習得するんじゃないかなぁ。
私なんかはサンプルコードの真似からはじめたから、結果的にそういう問題に悩まされたことはないけど、これはたまたまだしな。
ややこしいといえばややこしいけど、プログラムなんてややこしいのが当たり前だから、仕方ないだろうとは思う。
別にだれも「だからDXライブラリはくそ」とかいってないし、文句をいってる人がいるようには見えないけど。
739名前は開発中のものです。:2013/02/24(日) 19:51:36.00 ID:4HiW+z7b
ごめん流れとは別の話だけど
ゲームを操作するための入力(パッド・キーボード・マウスなど)を別スレッドで監視して
ゲームループ部分から分離するまでは順調だったんだけど、
GetKeyInputString()関数みたいにIME使った入力をどこで扱うようにするか悩むことになった。
この手の操作使ったゲーム作ってる人少ないかもしれないけど、やってる人いたらアドバイスいただきたいぜ
740名前は開発中のものです。:2013/02/24(日) 19:53:09.63 ID:oD9cjSEZ
別スレッドにする意味が分からない
741名前は開発中のものです。:2013/02/24(日) 21:25:08.55 ID:5P08n90L
>>738
別に誰も自己紹介は頼んでないし文句言う人が今そこにいるとも書いてないし

別スレッドにする必要ないような
742名前は開発中のものです。:2013/02/24(日) 22:59:59.58 ID:YmwPHosZ
Win32とDirect3Dはウィンドウ作ったスレッドで実行する必要がある。
でもDirectInputは別スレッドでOKらしい。
IMEはウィンドウと結びついたWin32だと思うぞ。

>>738
デフォルト設定ではフルスクリーンじゃなくて
ウィンドウモードにしてほしいと思ったことならあるな。
デバッグはウィンドウモードでするだろうし、
最初ウィンドウモードがあることに気付かなくて。。。
743名前は開発中のものです。:2013/02/24(日) 23:01:27.64 ID:FHzWvstU
DXライブラリ使った入力処理ってProcessMessage内で更新されてるんじゃなかった?
別スレッドでやると色々ややこしい
744名前は開発中のものです。:2013/02/25(月) 02:12:16.73 ID:Fcv9zo9w
3Dモデルの描写って画面に写ってなくても描写命令使うと計算重くなるの?
他のライブラリだと3D描写前に色々チェックさせるんだけどDXライブラリはそれがない。
745名前は開発中のものです。:2013/02/25(月) 02:43:46.78 ID:jmS9IeKk
CheckCameraViewClip
CheckCameraViewClip_Dir

こういうやつのこと?
自前でやってるから使ったことないけど
746名前は開発中のものです。:2013/02/25(月) 03:24:03.07 ID:Fcv9zo9w
もっと詳細に面の単位でカメラから死角になってる部分を描写しないようなチェックする奴
さすがに自動でやってるってわけじゃないよね?
747名前は開発中のものです。:2013/02/25(月) 05:21:38.90 ID:ClTGmH3F
つまりポリゴンの陰になってプレイヤーからは見えなくなってるポリゴンとか、そういうの?
748名前は開発中のものです。:2013/02/25(月) 06:03:03.20 ID:uMDjKRKi
cullingのことを言いたいのか
単純にカメラの視野外についてだけの話なのか
749名前は開発中のものです。:2013/02/25(月) 10:28:26.31 ID:jmS9IeKk
そのライブラリの関数名出してくれればいんじゃね
750名前は開発中のものです。:2013/02/25(月) 22:40:03.79 ID:yMQXK8ol
なんだかFPSの60が2の累乗じゃないのがイライラしてきたぜえ
751名前は開発中のものです。:2013/02/26(火) 19:17:46.34 ID:XxQgP4Pm
地面に板ポリじゃない影を作るのには地面にテクスチャを貼るんでしょうか?
実装する方法が皆目わかりません。
752名前は開発中のものです。:2013/02/26(火) 19:30:59.25 ID:T2REFWo4
753名前は開発中のものです。:2013/02/26(火) 20:03:33.22 ID:XxQgP4Pm
すいませんでしたここに書き込んだ直後気づきましたorz
ベクトル関係はだいぶお世話になりましたが影はすっかり見落としていました。
754名前は開発中のものです。:2013/02/27(水) 23:14:13.59 ID:1jm12F2u
dxlibって物理エンジンないんだろ?
だっせーなw
755名前は開発中のものです。:2013/02/28(木) 00:55:56.68 ID:C/1D1No6
物理エンジンならBox2DでもBulletでもODEでもphysxでもお好きなのをどうぞ?
756名前は開発中のものです。:2013/02/28(木) 02:10:43.42 ID:2TIDNtK3
>>754
DirextXに物理エンジンなんて無いぞ?
757名前は開発中のものです。:2013/03/02(土) 19:34:39.75 ID:o2d91Vyu
やべえスクリーン座標変換が便利
カメラ固定すれば3Dキャラクターの動きにぴったり合わせて2D画像の画面をスクロールさせられるんだな
ちょっと興奮してきた
758名前は開発中のものです。:2013/03/02(土) 23:31:19.27 ID:PJnKDgR3
VC++の方の質問ですが「すべてを保存」の隣にある「切り取り」が意図せず押してしまって邪魔です
深刻なバグの原因を起こしそうで非常に目障りです
このアイコンを消す方法はあるでしょうか?
759名前は開発中のものです。:2013/03/02(土) 23:34:49.60 ID:+toItD76
ctrl z
760名前は開発中のものです。:2013/03/02(土) 23:51:43.19 ID:3V+oaLbi
いやそーゆーことじゃねーだろ、とは思いつつ
>758は http://toro.2ch.net/tech/ で探したほうがいいんじゃないかな
761名前は開発中のものです。:2013/03/03(日) 03:23:19.87 ID:o2SfQUoi
DXライブラリの有効なハンドルって、0になることあるのかな
それとも0は無効なハンドルだと仮定していいのだろうか
762名前は開発中のものです。:2013/03/03(日) 03:34:58.07 ID:l9rOyqBm
俺はエラー時の返り値である -1 を無効なハンドルにしてるが、それじゃいかんのか?
763名前は開発中のものです。:2013/03/03(日) 04:01:45.43 ID:o2SfQUoi
0で初期化できる場合、エラーの-1と何もしてない0で区別出来るということを考えたけど
それって活用できることないのかな
764名前は開発中のものです。:2013/03/03(日) 09:06:42.74 ID:75mbl39d
>>758
スレチだからヒントだけ書くと、Q「あるでしょうか?」 A「あります」 だな。
あとその他の答えで言うと、基本的に ショートカットメインで操作するクセ付けろ。
俺は何年も使ってるけど、邪魔と思った事が一度もないのは、多分その辺をいちいちマウスで操作しないせいかも試練。
765名前は開発中のものです。:2013/03/03(日) 09:07:39.61 ID:75mbl39d
もうちょっとだけヒント書いておくと、ツールのカスタマイズとかその辺から入れ。
766名前は開発中のものです。:2013/03/03(日) 09:58:39.37 ID:o2SfQUoi
つーか、そこまで気にしてて、そのやり方に気付かないってすごいよね
767名前は開発中のものです。:2013/03/03(日) 10:05:38.37 ID:9TsZDgnN
>>763
Cの代表的な負の遺産だからハンドル型を自作した方がいいと思う
スマポを利用すれば自動的に各種Delete関数を呼ばせることもできるしね
768名前は開発中のものです。:2013/03/03(日) 16:25:22.67 ID:Pt3sHUFU
スレチ感あるけどGetPrivateProfileInt関数使うときって
やっぱり直接使うんじゃなくて初期化した値をメモリに格納しといたほうがいいのかな
HDDに毎フレームアクセスなんかしてたら読み取りミスとか出て処理落ちとか不具合の原因になるだろうか
769名前は開発中のものです。:2013/03/03(日) 16:32:42.98 ID:U2B6gVZZ
ガリガリうるさそう
770名前は開発中のものです。:2013/03/03(日) 17:01:30.00 ID:hjW5/x6G
読み取りミスがするかは知らんけどHDDへのアクセスって基本的にめちゃくちゃ遅い
771名前は開発中のものです。:2013/03/03(日) 17:05:14.72 ID:FAA8uMz+
>>768
ファイルキャッシュされるから毎フレームHDDを読みに行く事にはならないけどな
それでも直接メモリに格納したのを使うより遅いだろうけど
772名前は開発中のものです。:2013/03/03(日) 17:56:14.36 ID:XXq3hbxB
毎回パースからやり直しだから巨大なファイルにして試すと
恐ろしく遅かった気がする
それなら自前で処理したほうがマシなのと
せめて初回で全部をmapにぶち込むだけでもぜんぜん違う
773名前は開発中のものです。:2013/03/03(日) 22:24:58.29 ID:Pt3sHUFU
そうかファイルキャッシュされるのか
なら小さければあまり問題無いのかな
まあ格納するけど
HDDのアクセス速度的に1/60秒ごとに読み取りとか出来んのか疑問だった
動作中に設定変えたら即座に反映されたし
ちなみに用途はキーアサインの設定のために使う程度
774名前は開発中のものです。:2013/03/04(月) 02:28:17.98 ID:p9ee5rnN
それは流石に、キャッシュとか関係なく
お前さんのプログラム上に変数として保持したほうがいいんじゃないかな。
775名前は開発中のものです。:2013/03/04(月) 03:50:23.09 ID:cv6nL6Rd
いや、変数にする必要はないんだ
例えば前移動をキーボードの↑キーに割り当てるとか
ジョイパッドのボタン1に割り当てるとかってのをユーザーが好きに設定できるようにしただけだから
アクションシーンの開始時に一回更新(初期化)する程度で充分なはず
776名前は開発中のものです。:2013/03/04(月) 03:55:57.52 ID:1vozX99P
それを変数に保持するというんでは
777名前は開発中のものです。:2013/03/04(月) 05:38:31.27 ID:Y9dSyHOE
同じファイルを1フレームごとに読み込むとか正気の沙汰じゃないな。

最初に一度読み込んで変数にでも記録しておいて
あとは変更あった時に更新で十分だろ。
778名前は開発中のものです。:2013/03/04(月) 06:21:56.17 ID:VHaE3I5g
LoadGraphScreenを使ってゲーム作ろうとしてるようなもんだ
779名前は開発中のものです。:2013/03/04(月) 19:35:05.57 ID:IEefe0iI
TOHANDLE付いてない文字機能とか廃止しろよって毎回思う。
780名前は開発中のものです。:2013/03/04(月) 19:37:59.50 ID:WaIuA5Fe
間違った使い方して重いって言って離れていく初心者もいるだろうなあ
781名前は開発中のものです。:2013/03/04(月) 19:39:31.23 ID:p9ee5rnN
何か目立ったデメリットあったっけ?
782781:2013/03/04(月) 19:45:14.45 ID:p9ee5rnN
ああ、投稿してから気付いた。
ChangeFontとかあの辺を毎フレーム読んじゃうって問題か。
783名前は開発中のものです。:2013/03/04(月) 19:48:24.31 ID:1vozX99P
ハンドル付いてない文字列表示系って使うとしてもprintfDxと用途が同じなんだよね・・
784名前は開発中のものです。:2013/03/04(月) 20:00:24.88 ID:p9ee5rnN
>>783
言われてみれば確かにそうだw
785名前は開発中のものです。:2013/03/06(水) 10:05:50.20 ID:pYdii8R4
モデルにモザイク掛ける処理ってどうやるんでしょうか?
786名前は開発中のものです。:2013/03/06(水) 11:54:09.27 ID:Vr2MUb2u
画面をモザイクじゃダメ?
787名前は開発中のものです。:2013/03/06(水) 13:57:18.44 ID:hAa+d8xC
モデルをテクスチャに描画して、
そのテクスチャをモザイク処理してから
ビルボードで表示したらいいのと違うかな。
788名前は開発中のものです。:2013/03/06(水) 17:59:25.47 ID:3NT7FVyl
DXライブラ駆け出し初心者なんですが

グラフィックでフリップ処理を行うとめちゃくちゃ処理が遅くなるんですが
処理を上げる方法はないものでしょうか?

ちなみにフリップ処理をかまさないと体感で100倍近く処理が早くなります。
開発環境はBCCでC++です。

何卒、ご教授ねがいます。
789名前は開発中のものです。:2013/03/06(水) 18:01:34.29 ID:TJR2QDb+
vsync待ってんじゃね?
790名前は開発中のものです。:2013/03/06(水) 18:06:49.11 ID:Ka00slQb
bccでよくやるな
791名前は開発中のものです。:2013/03/06(水) 18:30:50.31 ID:exNMcaw+
多分>789の通りだと思うけど、実際にどういう処理をやろうとして、どれくらいの時間掛かったのかが気になるところ
792名前は開発中のものです。:2013/03/06(水) 18:50:47.71 ID:ikjN90L9
スリープ入れないで全速力で実行してるんじゃねえの
PCによって動作速度変わるんじゃないのか
793名前は開発中のものです。:2013/03/06(水) 19:09:15.23 ID:XdZ0SHsK
めちゃくちゃ処理が遅くなるっつーか、
vsync待ちしたスピードの方が一般的な速度だよな。

もちろん仕様次第なので一概には言えないが。
794名前は開発中のものです。:2013/03/06(水) 19:11:08.60 ID:MWIuNst9
フリップの有無でってことなら垂直同期待ちだよね
Init前にDxLib::SetWaitVSyncFlag(false);
795名前は開発中のものです。:2013/03/06(水) 19:17:32.17 ID:MWIuNst9
たぶん、ぶん回しの状態の速さでフレームごとに(例えば)グラフィックの移動速度などを調整したんだろうな
そうしたらフリップで何倍も遅くなると錯覚できるよ
796788:2013/03/06(水) 20:22:06.28 ID:d/ZcfDAr
返事が遅くなってしまってすみません。
処理的には

@キー入力待ち
A入力があれば描写を裏に設定。
Bグラフィック描写
Cフリップ
D@にもどる

って感じです
ちょっと>>794さんの方法を試してみますね。
797名前は開発中のものです。:2013/03/06(水) 20:29:56.00 ID:exNMcaw+
理由があって敢えてそうやってるのでなければ、根本的に間違ってる気がする。
793とか795も参考に。
798788:2013/03/06(水) 21:09:58.84 ID:d/ZcfDAr
>>794さんの方法で処理が早くなりました。
ありがとうございます。

>>797
今のプログラムの組み立て方は中国の違法建築のように
思いつきや必要になったことを増築!増築!ってやり方なので
まぁ、結構めちゃくちゃな組み方ですねw
あと、HSPから乗り換えてきたばかりなので、
たぶん、普通の人がソース見たら「なんじゃこりゃぁ!!」って感じになると思います。

また、ご迷惑をおかけする時があると思いますので今後ともよろしくお願いします。m(_ _)m
799名前は開発中のものです。:2013/03/06(水) 21:40:54.40 ID:XAyR7m45
限られたルールの中でアイデアを募るための質問ならいいと思うけど、
そのルール(知識)を勉強すらしてない状態で質問するのはタブー
初心者だから許されるなんて厚かましい考えは捨てろ
800名前は開発中のものです。:2013/03/06(水) 21:50:07.54 ID:Z2o8kW3F
>>796

あとAは最初に一回指定するだけでいいから、ループでやんなくていいよ
801名前は開発中のものです。:2013/03/06(水) 21:58:42.54 ID:ikjN90L9
向いてないから死ね
802名前は開発中のものです。:2013/03/06(水) 22:00:36.13 ID:Zb3bP0XS
ぼくも駆け出しです^^^;
初心者なのでやさしくしてください☆
803名前は開発中のものです。:2013/03/06(水) 22:11:44.89 ID:7pzAS2Dx
>>802 教科書を 買ったか?
804名前は開発中のものです。:2013/03/06(水) 23:45:11.11 ID:Gtb3rZ1I
カーニハン&リッチー『プログラミング言語C』を買ってきました
これでDXライブラリ使えるようになると思います
ご教授下さい
805名前は開発中のものです。:2013/03/06(水) 23:46:39.56 ID:uEM6djnp
なりませんので諦めてお帰り下さい
あなたにはできません
806名前は開発中のものです。:2013/03/06(水) 23:49:48.26 ID:Gtb3rZ1I
>>805
消えろよ
煽りや
807名前は開発中のものです。:2013/03/06(水) 23:52:07.25 ID:vz61HEkq
DirectX9.0cのリファレンスマニュアルが必要です。
808名前は開発中のものです。:2013/03/06(水) 23:53:57.77 ID:Qwos8vm9
来世に掛けるのが賢明
809名前は開発中のものです。:2013/03/06(水) 23:58:37.19 ID:vz61HEkq
>>804
プログラム書法」も必要です。
810名前は開発中のものです。:2013/03/07(木) 00:20:57.42 ID:xX5dwhvN
えっ、DXライブラリってまさかDirectX9なのっ!?
しょっぼ〜
811名前は開発中のものです。:2013/03/07(木) 00:29:05.12 ID:4tXK5E4v
マップ画面を上下左右に移動処理させると
画面の下の方が切れたように微妙にズレるように見えます(移動中だけ)
ウィンドウモードだとそう見えて、フルスクリーンだと大丈夫です
切れてる所を画像にしようとプリントスクリーンで抑えようとしましたが
貼り付けして見てもズレてないんです

これはモニタが悪いんですか?
それともFPSうんぬんの話でしょうか
812名前は開発中のものです。:2013/03/07(木) 00:48:42.18 ID:GLCcIUUY
>>810
Win8でもDirectX使うならまずDX9環境で動かせるようにしろってMSが言ってるから大丈夫
813名前は開発中のものです。:2013/03/07(木) 01:28:21.19 ID:BfGYdhzj
DX9環境=SM3.0ってことでWindows8の推奨APIはDX11.1だよ
814名前は開発中のものです。:2013/03/07(木) 01:29:37.43 ID:jMyyrsB9
>>811

それたぶんティアリング。
vsync待ちしてないとそうなる。

けどフルスクリーンで起きないって事はないはず。
815名前は開発中のものです。:2013/03/07(木) 01:35:33.88 ID:jMyyrsB9
あれ、待てよ、逆だっけ?
フルスクリーンでvsnyc待ちしても、ウィンドウモードだとされないからティアリング出るんだっけ?

なんにしてもティアリングなら、何が悪いってもんじゃないし気にしないでいいと思う。
816名前は開発中のものです。:2013/03/07(木) 01:44:42.13 ID:GLCcIUUY
>>813
推奨の話ではなくて、最低限動かさなければならない環境ね
Win8アプリの要件にDirect3D 機能レベル 9_1 をサポートする必要がありますと書いてある
まあ他の部分で問題があって認定アプリにはなれないんだけど
817名前は開発中のものです。:2013/03/07(木) 01:50:21.32 ID:BfGYdhzj
>>816
Direct3D9.1ってのがシェーダモデルの話
WindowsストアアプリはDirectX11.1でしか作れないよ
DirectX11.1はDX9カードでも動くからDX9を使う理由がもう無い
818名前は開発中のものです。:2013/03/07(木) 02:03:59.72 ID:M5T2ROuI
フルスクリーンは何もしなくても勝手に垂直同期待った気がする
819名前は開発中のものです。:2013/03/07(木) 02:07:42.21 ID:GLCcIUUY
>>817
動くからという理由があるじゃん
820名前は開発中のものです。:2013/03/07(木) 03:11:21.34 ID:4tXK5E4v
どうやらティアリングだったようです
プログラムの問題ではなくグラフィックデバイスの問題みたいですね
これですっきりしました。ありがとうございます。
821名前は開発中のものです。:2013/03/07(木) 03:32:04.01 ID:YTUrGQ5y
ティアリング→テアリング
グラフィックデバイスの問題→ディスプレイの問題
色々間違えてすっきりされても困る
822名前は開発中のものです。:2013/03/07(木) 03:40:59.28 ID:Zs02iPz2
困るのか・・・(困惑)
823名前は開発中のものです。:2013/03/07(木) 06:24:21.28 ID:gzwRlDbx
騙して悪いがDXライブラリ解説新サイトのとおりにやるとダメということだな。
824名前は開発中のものです。:2013/03/07(木) 10:01:55.44 ID:jJWAJBOq
かいせつしんさいと?
825名前は開発中のものです。:2013/03/07(木) 12:25:56.14 ID:UA6yqIK8
「てありんぐ」なんて言い方
初めて聞いたが…
826名前は開発中のものです。:2013/03/07(木) 12:28:49.84 ID:UA6yqIK8
あぁ、>>821は釣りか
気づくの遅かったわ
827名前は開発中のものです。:2013/03/07(木) 15:42:30.27 ID:F4oRppus
ここで聞いたらいいのか分からんが
fpsゲームとか画面描写は300fpsとかで、処理だけ60fpsとかってどうやってんやろか?
828名前は開発中のものです。:2013/03/07(木) 15:44:56.12 ID:3a0wuoA1
ウエイト無しでループしつつ、60/1秒経過したら処理ルーチン呼んで
描画は呼ぶ呼ばないにかかわらず毎回やればいいんじゃね。
でも処理しなけりゃ画面変わらんだろうし意味無いんじゃ?
829名前は開発中のものです。:2013/03/07(木) 16:07:37.97 ID:yQsHIzLR
画面描写が300fpsのディスプレイなんかねえよ分かってねえな
830名前は開発中のものです。:2013/03/07(木) 16:09:43.21 ID:jJWAJBOq
これは偏見だが、FPSというか市販の3Dゲームって、そもそも垂直同期を待たないというイメージがある。

1回の処理を1/60秒以内に収めなければならないという制約が消えるので、
そこに強いメリットを感じるなら、そういうのもありなんじゃない?
831名前は開発中のものです。:2013/03/07(木) 16:43:43.49 ID:CDy+7oMz
そういう作りにするなら表示系の処理(位置更新etc)は分離するでしょ
キー入力の判定は60回/secだけど位置更新は120回/sec、とか
832名前は開発中のものです。:2013/03/07(木) 16:45:33.68 ID:F4oRppus
829
ディスプレイに300fpsで描写するわけじゃなくて、ウィンドウが300fpsとかで描写されてるやん?
833名前は開発中のものです。:2013/03/07(木) 16:54:50.58 ID:QwfnaJmX
てめえらまだXPか・・・
834名前は開発中のものです。:2013/03/07(木) 18:02:55.95 ID:EmD/qfKk
>ウィンドウが300fpsとかで描写されてるやん?

そうなのか。初めて聞いたわ。
そんなのやって意味あるのか……。
835名前は開発中のものです。:2013/03/07(木) 18:26:43.36 ID:GLCcIUUY
最近はモニタの性能が60fpsまでのものが多いから、
そういったモニタを人間が見た時にはプログラムが何度画面更新しようが60fpsとしてしか見えない。
836名前は開発中のものです。:2013/03/07(木) 18:44:03.93 ID:epUg++ay
最近は120まであるらしい
837名前は開発中のものです。:2013/03/07(木) 18:55:19.99 ID:UA6yqIK8
3Dディスプレイとかがそうらしいね >120Hz
838名前は開発中のものです。:2013/03/07(木) 19:30:21.47 ID:YTUrGQ5y
>>825
他所で恥ずかしい思いすると可哀想だから教えてやる
tearingのtearはティア(涙)ではなく、テア(引き裂く)の方の意味
わからないことあったらググるなり辞書ひくなりする癖つけた方がいい

>>830
なぜ垂直同期を待たないかというと、PCゲーマーは遅延を嫌がるから
それとPCゲーマーの間では120Hz液晶はわりと一般的で
垂直同期させると60Hz液晶と120Hz液晶で動作速度が変わってしまうから
もちろん動作系と表示系を分離させればそういうことは起きないけど、
だったら垂直同期切って、どんなfpsでも動くようにした方がいいよねって感じなんじゃないかな
いつかは240Hzや480Hzも普及する日がくるしね
839名前は開発中のものです。:2013/03/07(木) 19:36:37.73 ID:ciqjgTdT
一気に目が悪くなりそうだな
840名前は開発中のものです。:2013/03/07(木) 20:13:11.67 ID:UA6yqIK8
>>838
なんかすごいデジャヴを感じるんだけど
13〜14ヶ月前にもこのスレで画面更新回りで
似たようなレスしてた?
あのときもPCゲーマーでひとくくりにしてたよね

ともあれ
> いつかは240Hzや480Hzも普及する日がくるしね
これはディスプレイの技術革新3〜4回と
人間側の進化が必要そうだ
早くとも100年はかかると思うよ
841名前は開発中のものです。:2013/03/07(木) 20:37:43.54 ID:F4oRppus
840さん
CRTモニタなら、240hzとか出せたはず
あと、たぶん120hzはまた一旦消えます
有機elになるし
842名前は開発中のものです。:2013/03/07(木) 20:38:04.17 ID:YTUrGQ5y
>>840
たぶん違う人じゃない?
PCゲーマーってかPCアクションって言った方が2ch的には正しいかな

480Hz液晶自体は存在してるよ
4k液晶と一緒で、コンテンツが少ないからハードが普及してないだけ
コンテンツに依存しない4倍速テレビならどこの電気屋でも売ってるよ

人間側の進化って言ってるけど、実際に120Hz以上を見てから言った方がいいよ
人間の能力に対して480Hz必要かは知らんが、240Hzじゃ足りないのは間違いない
843名前は開発中のものです。:2013/03/07(木) 20:40:58.89 ID:qZMuGliQ
それで、 60Hzと240Hzとでは 何がどのように違うのですか?
844名前は開発中のものです。:2013/03/07(木) 20:42:21.77 ID:F4oRppus
よりなめらかになる
fpsとかならhs狙いやすくなる
845名前は開発中のものです。:2013/03/07(木) 20:47:07.32 ID:qZMuGliQ
60Hzは、液晶との接続周波数ですから。 なめらかさとは無関係です。
846名前は開発中のものです。:2013/03/07(木) 20:49:07.01 ID:uzUbf1bL
描写が120fpsでも処理は60fpsで基点以外は処理に関係無い線形補完なのが大半
847名前は開発中のものです。:2013/03/07(木) 20:54:51.43 ID:ZrXQgGao
お前ら何言ってるのかわからんが
現実の時間経過とアプリケーションの時間経過とゲームシーン内の時間経過を混同するなよ
848名前は開発中のものです。:2013/03/07(木) 20:56:48.05 ID:qZMuGliQ
一般ゲームのゲームエンジンのフレームレートは、上限が30Hz止まりがほとんど 
849名前は開発中のものです。:2013/03/07(木) 21:06:18.59 ID:395Cff0E
質問というか経験談を聞かせて頂きたいです。

エースコンバットのような3Dシューティングを作るとして、
描写・ネット通信関連はDXライブラリに任せて処理速度的に問題ないでしょうか?
テクスチャの解像度や量に依存するとは思いますが、並のデスクトップPCで30fps以上は出したいです。
2DならDXライブラリ使った方がはるかに手軽ですが、
大規模3DとなるとDXライブラリでは荷が重いのではないか?と不安です。
面倒だけどDirectXに手を出すか・・・悩んでます。

ちょうど3D関連の関数が追加された時以来ゲーム創作から離れていたんですが、
当時はvistaがギリ動く程度のPCスペックで15〜30fpsが限界でした。
何分最近の3D事情のノウハウがないものですから、皆さんの経験談を聞きたいです。
850名前は開発中のものです。:2013/03/07(木) 21:21:23.30 ID:RFkiOs2z
siv3Dの人柱になった方がDirect3Dの勉強するより勝算があると思う
851名前は開発中のものです。:2013/03/07(木) 21:26:00.37 ID:RQl7TohR
DXライブラリでTerrainを生成する部分が面倒そう
地形を海か宇宙に限定すれば描画する物が激減して余裕だな
描画しかないけどOgre3D使えばそこらは楽だけど
852名前は開発中のものです。:2013/03/07(木) 21:58:48.92 ID:/rE4FfS2
DirectX直接と DxLibは、ほとんど同じことです。
おそらく1年くらい3Dをやってれば今のあなたの疑問が解ける。
3D特有のノウハウのような難しさがあるのでそれを超えること
ジンバルロックであり透明についてであり、色々です。
30Hzの性能がでるかは コードの書き方次第です、
LODのような誤魔化しのテクニックもあったりしますが
ムリが無いほどに仕様を下げる考えがあれば大丈夫です。
853名前は開発中のものです。:2013/03/07(木) 22:31:14.58 ID:M5T2ROuI
正直パフォーマンスについては実測してみろとしか言いようがないよ
楽なところから入って不足であればレベルを上げて物理で殴ればいい
854名前は開発中のものです。:2013/03/07(木) 23:37:15.80 ID:xX5dwhvN
DXライブラリで作っても、Windows8でアプリ認定されないお(^_^)
855名前は開発中のものです。:2013/03/07(木) 23:55:14.30 ID:395Cff0E
みなさんレスどうもです。

実はDXライブラリの3D関数が導入される前から3Dはやってまして
当時ジンバルロックなんて名称知らずに奮闘してましたよ。アポロ13見て知りました。
あのバグはこういうことだったのかと。懐かしい…。
最低限ゲームは動く状態で、5年も前に書いたコードですけど流用しつつ最新技術に対応していこうかなと。

DXに限らず手段は色々あるようなので調べていきたいと思います。
856名前は開発中のものです。:2013/03/08(金) 23:30:53.44 ID:f1WUYLQA
GetDrawStringWidth()はありますがGetDrawStringHeight()がないようなのですが、文字列の高さはどうやって得るのでしょうか?
857名前は開発中のものです。:2013/03/09(土) 00:01:26.08 ID:yKluh40O
>>856
全角1文字の縦横サイズがFontSize×FontSizeの正方形だから(例外もあるらしいけど)
縦幅が知りたいときはFontSizeを取得すればいい
858名前は開発中のものです。:2013/03/09(土) 00:06:58.97 ID:IcXGuNC0
3Dの基礎知識全くないからWiki見てもわからんのだけど
ジンバルロックって言ってるように航空機でグリグリする場合に問題になるんであって、
カメラの↑方向固定でXとYを -179~179度だけ回転させるような普通のFPSの場合は
あんまり意識しなくても大丈夫なんだよね?
859名前は開発中のものです。:2013/03/09(土) 00:16:08.14 ID:fdlPur7i
>>857
ありがとうございます
860名前は開発中のものです。:2013/03/09(土) 00:19:43.80 ID:eGSXG046
マスクがいまいちわかってない。マスク画像の指定した色の部分だけ下の画像をみえなくするんだっけ?どういう使い方してる?
861名前は開発中のものです。:2013/03/09(土) 03:38:59.98 ID:mcB2HYmP
>>858
常にワールド座標のY軸に串刺しになってる状態で制御出来る物なら問題ない
862名前は開発中のものです。:2013/03/09(土) 05:26:46.08 ID:gaziFm74
モデルを読み込むときに不透明度って設定すべきだろうか?
863名前は開発中のものです。:2013/03/09(土) 17:37:36.48 ID:IcXGuNC0
DirectXは浮動小数点の計算を実行環境中で最速の計算方法を選ぶせいで
環境によって計算結果が異なってしまうらしいんだけど、
やっぱりDXライブラリの浮動小数点を扱う各種関数でも同様なのかな?

>>861
ありがd
864名前は開発中のものです。:2013/03/10(日) 07:43:55.14 ID:tbSvIbZp
当たり判定について質問ですが、モデルの面と円の当たり判定はできるのすが
四角形のモデルを空間にした円の衝突判定は出来るのでしょうか?
真四角の箱のなかに面には触れてなくてもボールが入っていればフラグを立てるような処理がしたいですが
自分で作るしか無いでしょか?
865名前は開発中のものです。:2013/03/10(日) 10:59:08.44 ID:36d8wdUU
MV1GetPositionで取得した座標をintに直すにはどうすればいいですか?
座標を別々にXYZで処理してるから困った
866名前は開発中のものです。:2013/03/10(日) 15:29:37.41 ID:36d8wdUU
MATRIX FrameMatrix ;
int FrameIndex ;

// フレーム名からフレーム番号を取得する
FrameIndex = MV1SearchFrame( ModelHandle, FrameName ) ;

// フレームの現在のワールドでの状態を示す行列を取得する
FrameMatrix = MV1GetFrameLocalWorldMatrix( ModelHandle, FrameIndex ) ;

// セットするモデルの状態を示す行列をフレームの状態を示す行列と同じにする
MV1SetMatrix( SetModelHandle, FrameMatrix ) ;

すまん3Dサンプルのこれなんだけど、この通りにやってもアクセサリーの角度が動かないんだ(位置は動く)
これだけじゃないのかな?
867名前は開発中のものです。:2013/03/11(月) 08:04:05.52 ID:2eew2y/g
すまんモデルが悪いみたいだった
868名前は開発中のものです。:2013/03/11(月) 20:23:09.38 ID:M7EC09TS
プログラムなんてアイディア提供すれば外部でやってくれるのに
自分で開発するなんて馬鹿馬鹿しいと思いました。
869名前は開発中のものです。:2013/03/11(月) 20:35:27.19 ID:EjKWN6YM
他人にやらせる方が大変だと思うけど?
870名前は開発中のものです。:2013/03/11(月) 21:48:20.45 ID:ZB3pudYA
コーディングを外注するには仕様を完全にさせないと駄目だしね。
ゲームルールの調整なんて完成間際までやってるよw
871名前は開発中のものです。:2013/03/11(月) 21:52:10.25 ID:ZBN99OMF
ここに居る人は基本ぼっち製作だよね?
企画マジで無理だわー
872名前は開発中のものです。:2013/03/11(月) 22:00:30.38 ID:ZB3pudYA
複数人サークル製作は殆どがスクリプトか何らかのツール使用だな。
C++でコーディングしてる奴は大抵ぼっち。ナンデカナー
873名前は開発中のものです。:2013/03/11(月) 22:11:15.28 ID:M7EC09TS
プログラムは何行くらいになる?だいたい。
874名前は開発中のものです。:2013/03/11(月) 22:24:48.59 ID:zRqTsqeV
10万はいかない
875名前は開発中のものです。:2013/03/11(月) 22:54:52.91 ID:M7EC09TS
1万は行くの?
グラフィックの数はどんくらい?
876名前は開発中のものです。:2013/03/11(月) 22:58:25.20 ID:wPBqqmFK
規模なんてピンキリだろうに。
877名前は開発中のものです。:2013/03/11(月) 23:01:52.82 ID:zRqTsqeV
ゴミ箱にゴミを投げ入れるようなのは1万行いかないだろうな
878名前は開発中のものです。:2013/03/11(月) 23:31:28.70 ID:ZB3pudYA
ってか、ヘッダファイルとかソースファイルとか分散しまくってて行数が分からない。
今公開中のは、共通の自作ライブラリ併せて1MBくらいになるようだけど。
879名前は開発中のものです。:2013/03/12(火) 00:19:54.15 ID:RQpS0oSN
ポケモン本編くらいのゲーム作るとしたら規模はどんくらいになる?
ソースファイルだけで2万行超えますかね?
880名前は開発中のものです。:2013/03/12(火) 00:21:17.11 ID:RQpS0oSN
>>878
1kb=1024文字だから
1MBってその1024倍ですよね?凄いの作りましたね。
公開してるならやってみたいです。どこですか?
881名前は開発中のものです。:2013/03/12(火) 01:25:07.18 ID:bw7MTU4E
ソースの行数なんて規模と何も関係ないだろ
むしろソースが大きいってのは悪口にすらなりえる

せめて聞くなら作業時間とか聞け
882名前は開発中のものです。:2013/03/12(火) 01:41:01.05 ID:RQpS0oSN
>>881
失礼しました。

ttp://dixq.net/sakuhin.html
結構時間かかっててビックリ
例えば350時間というのは本当なのだろうか?
皆さんはどのくらい?
883名前は開発中のものです。:2013/03/12(火) 05:41:15.36 ID:5dnDLM9e
あのサイトのコメント消せないから嫌いだわ。
質問する勇気のある奴以外がアイディア横取りするとか最悪極まりない。
884名前は開発中のものです。:2013/03/12(火) 07:08:29.55 ID:XNL25Mxc
思い付きに価値はない。アイデアと思い付きの間には深い溝がある。
885名前は開発中のものです。:2013/03/12(火) 09:58:47.09 ID:8MYIPw+h
>>880
やだお(^ω^)
この板のどこかでリンク張ってるから適当に目星付けてくれ。
そもそもソースコードの規模や作業時間は
ゲームの質と全くと言っていいほど関係ない。
RPGなんか基本部分ちょろちょろっと作ったらあとはスクリプトかなんかだろ。
>>880は単に規模のでかいゲームを作りたいだけなんかね?
886名前は開発中のものです。:2013/03/12(火) 14:57:01.03 ID:r7H9poF1
質問しといて後で消すとかありえんだろ
887名前は開発中のものです。:2013/03/12(火) 15:44:05.52 ID:kkApr7SD
質問と回答をデータベース化して
FAQとして残すのが目的みたいなもんなのにね
こういう人が「解決しました」とか言って
詳細書かずに立ち去っていくんだろうな

アイデア横取りってのも意味がわからないけど
適当に例題作ればいいだけじゃね?

それとも現在作ってるゲームのソース全部アップが条件だったりするわけ?
888名前は開発中のものです。:2013/03/12(火) 15:46:44.42 ID:vcICxDAV
いったい何を揉めてるのかわからん。
889名前は開発中のものです。:2013/03/12(火) 17:07:31.44 ID:CAzdcPUQ
>>882
自分は1つの作品当たり作業約1年(企画は別)で見積もってやってる。
1人でやってる&毎年経験のない別ジャンルに挑戦するんで時間かかり気味。
ゲームの内容量は最近の市販ゲームの体験版くらい。
とても他人に公開できるレベルじゃないんですけど、身内に自慢したりとか。

スマホゲーム並みのミニゲームだったら1ヶ月〜3ヶ月くらい。

例えばもしポケモンみたいな育成系RPGを作るとしたら、RPGのノウハウがないと中々組み上がらないだろうし、
何よりあの量のドット絵や音楽を用意するだけでプログラム書くより何倍も時間かかる。
全部フリー素材から持ってくるなら話は別だけど。
890名前は開発中のものです。:2013/03/12(火) 22:38:35.79 ID:AUOZgU0O
>>889
スマホのミニゲームですら1ヶ月?
そういうの聞くとちょっと遠慮がちになるなぁ…
891名前は開発中のものです。:2013/03/12(火) 22:45:05.13 ID:AUOZgU0O
ドット絵のないゲームっていったら四角とか円しか出てこない
ブロックゲームしか思いつかん…
これじゃぁモチベーション保てねぇ…
892名前は開発中のものです。:2013/03/12(火) 22:52:03.37 ID:vqko6kYd
1ヶ月はかなり短いと思うけどねー
893名前は開発中のものです。:2013/03/12(火) 22:55:50.87 ID:DixKGzt0
1ヶ月て何時間なんだ?人によって差が有るだろうし
作業時間以外でも考えてたりするから一概に言えないけど
実作業時間でカウントするべきでは
894名前は開発中のものです。:2013/03/12(火) 22:59:24.62 ID:AUOZgU0O
ボンバーマンに似たゲームが350時間ってどんだけ大変なんだろうw
authorは結構プログラムに精通してる人なのにw
895名前は開発中のものです。:2013/03/12(火) 23:07:04.22 ID:5BDAl5IY
他人の作業時間なんて気にするだけ無駄
896名前は開発中のものです。:2013/03/13(水) 00:25:03.42 ID:ky3LRBDc
>>891
それでいいじゃないか。■は鬼、●は逃げで2D鬼ごっこゲーム。
キャラは32×32をペイントで塗りつぶしただけ。
マップは1000×1000ドットくらい。障害物あり。
このミニゲームなら素材集めなんて十秒で終わるから。
結果的に2週間でできた。見た目は残念仕様。でも結構好評だったw
897名前は開発中のものです。:2013/03/13(水) 01:04:32.94 ID:BWaPcsv9
クイックスみたいな
898名前は開発中のものです。:2013/03/13(水) 01:26:37.97 ID:ArVGqLyP
立方体を適当に回転させたりするだけでかなり見栄えが良くなるよ!
899名前は開発中のものです。:2013/03/13(水) 01:40:58.70 ID:1yGyXRXV
なんで32x32なのに1000x1000なんだよ
900名前は開発中のものです。:2013/03/13(水) 18:32:43.65 ID:mwd5bKiP
>>896
データファイル無しでどうやったら2週間もかかるんだよwww
2週間かけて作ったのが80年代のしょうもないパックマンもどきのゲームってwwww
901名前は開発中のものです。:2013/03/13(水) 19:39:10.97 ID:kxVMaZHs
>>900
自分で作れよクズぼっち
902名前は開発中のものです。:2013/03/13(水) 22:33:55.59 ID:lW7BekWG
会社員してると土日しかやる気出なくてつらぽよ
903名前は開発中のものです。:2013/03/13(水) 22:59:30.84 ID:ArVGqLyP
>>902
誘導
【多忙】働きながらのゲーム製作【疲労】
ttp://toro.2ch.net/test/read.cgi/gamedev/1162815189/
904名前は開発中のものです。:2013/03/14(木) 10:14:47.92 ID:bTwMqbPc
知恵を貸してくれ

http://codepad.org/9n8IdxAI
( DxLib_End() 入れ忘れたんで、実行してくれる人は入れてください )

を動かすと、回っている青い円の周りにたまに角ばった赤色が見える時があるんだ
なんとかならないかな、これ
もしかしたら、オレの環境だけ起こる現象かもしらんけど・・・
905名前は開発中のものです。:2013/03/14(木) 10:25:13.47 ID:bTwMqbPc
あ、ちなみに
DrawCircle の色を GetColor( 0, 255, 255 ) にしたら見えなくなる
906名前は開発中のものです。:2013/03/14(木) 10:44:26.61 ID:BDsBUFI1
特に出ないな、、、ディスプレイドライバの設定変えてみては?
907名前は開発中のものです。:2013/03/14(木) 10:55:56.23 ID:F9P6iLJi
>>904
ソフトウェア描画に切り替えてみた場合、挙動が変わったりする?
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R15N1
908名前は開発中のものです。:2013/03/14(木) 11:38:38.16 ID:fYaV1zei
DXライブラリのバージョンは?
909名前は開発中のものです。:2013/03/14(木) 14:37:33.21 ID:bTwMqbPc
ドライバ確認したけど最新版だし、変な設定してない
色を変えたら発生しなくなるからドライバ関係ないかも・・?

ソフトウェア描画やってみたけど、結果はダメなままだった
DxLib のバージョンは最新 ( 3.10a ) 使ってます

オレ以外の環境の人で特に発生しないなら、気にしないようにしようかなと思っている
910名前は開発中のものです。:2013/03/14(木) 14:50:14.67 ID:BDsBUFI1
色を変えたら発生しなくなるからドライバ関係あるかなと思ったんだが。
物理的なケーブルだったりすしてw
911名前は開発中のものです。:2013/03/14(木) 18:08:40.84 ID:6ajnXXxs
カラーキーの問題じゃね?
912名前は開発中のものです。:2013/03/14(木) 19:17:18.20 ID:FG3kqWCt
OSと
画面の色ビット数と
リモートデスクトップ越しで実行してるか or 仮想マシン上で実行してるか
を確認するべきな気がする
913名前は開発中のものです。:2013/03/15(金) 00:14:12.12 ID:F+0TGLe9
昨日の青い円に赤が見える現象の人です
dxdiag して大事そうなとこだけ抜粋してみた

--- System Information ---
Operating System: Windows 7 Professional 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.130104-1431)
DirectX Version: DirectX 11
DX Setup Parameters: Not found

--- Display Devices ---
Card name: NVIDIA GeForce GTS 450
Manufacturer: NVIDIA
Chip type: GeForce GTS 450
Current Mode: 1920 x 1080 (32 bit) (60Hz)
Monitor Name: 汎用 PnP モニター
Output Type: DVI


カラーキーは DxLib で設定するものですか?
それなら、コードの通りなので何もいじってないです
ケーブルの問題は・・・  自信ないです・・・

OS, 色ビットは上記で、リモートデスクトップや仮想マシンなどの
特殊な環境では動かしていません


あと、昼から動かしてて気づいたんですが
赤い線を通過するときだけ青い円が変になることがわかりました
試しに全部の赤い線を消してみたら、何も問題なく表示されています
914名前は開発中のものです。:2013/03/15(金) 00:26:50.24 ID:89zaierS
やってみたけど何もおかしくなってなかった
915名前は開発中のものです。:2013/03/15(金) 03:57:46.64 ID:Mb4ChgSy
何もおかしくないな
nvidiaコントロールパネルのグローバル設定いじってるとかじゃないの?
916名前は開発中のものです。:2013/03/15(金) 13:18:42.86 ID:F+0TGLe9
グラボの設定いじったりはしてないんですけどねぇ・・・
誰もオレと同じ症状にならないなら、オレの環境依存っぽいので考えないことにします
検証に付き合ってもらってありがとうございました
917名前は開発中のものです。:2013/03/15(金) 23:06:04.87 ID:kS2/xU0I
ソフトウェア描画でも同じ症状が起こるというのが、少し妙ではあった。
918名前は開発中のものです。:2013/03/17(日) 12:09:00.53 ID:qfMlUqgO
そうなんだよね。
両方で起こるならもうモニタのせいとしか・・・
919名前は開発中のものです。:2013/03/17(日) 13:41:41.80 ID:fJ71nw8q
スクショ撮ればモニタのせいかどうか分かるんじゃないか?
920名前は開発中のものです。:2013/03/18(月) 11:07:42.95 ID:o8lFIZys
スクショは初期段階で頑張って撮ろうと思ったけど、2, 30 回失敗してから諦めてた
そうか、モニタが変な可能性もあるんだな

というわけで、描画対象画面を画像として保存する関数を使って
毎フレーム保存してみたところ、問題なく描画されていた
これはモニタのせいっぽいですね
921名前は開発中のものです。:2013/03/19(火) 18:41:57.90 ID:uxqMY4dT
なあすごく初歩的な質問かもしれんが
RPGやアクションに限らず、いや3Dでも2Dでも使われてる、
よくキャラの足元の地形の設定に応じて足音や砂煙とかのエフェクトの使い分けってどうやって判定してるんだ?
一応3Dを扱ってるとして考えてるんだけど
モデルの該当箇所に簡単な形の判定用モデルでもくっつけとくぐらいしか思いつかん
922名前は開発中のものです。:2013/03/19(火) 19:41:49.38 ID:qIdhNQFl
古い様式のトゥームレイダーのRoomEditorの場合では、
床の形状が碁盤の目のようになっていて、
フロアデータと呼ばれるデータの格納部分があります。
そこに床ティクスチャと共に床属性を加えています。
例えば、木の上、石の上、水の上によって足音が変化する。
それら全部のデータをチャンク形式で塊にして、
レベルデータとして1ステージ分を1ファイルで管理しています。
923名前は開発中のものです。:2013/03/19(火) 20:34:44.08 ID:yJcDNlmv
頂点の色をIDとして分けるとか属性用のテクスチャを用意するとか
924名前は開発中のものです。:2013/03/19(火) 23:55:12.00 ID:uxqMY4dT
参考になったよありがとう
テクスチャちょっと考えていくしかなさそうだな
925名前は開発中のものです。:2013/03/22(金) 13:52:05.61 ID:7uDI1c1K
DXライブラリって、どの程度のスペック(オーバヘッド、制限)のものなん?
調べもせずに聞いてみる。
926名前は開発中のものです。:2013/03/22(金) 21:53:50.06 ID:lsHmo8lX
普通のスプライト処理だが、殆ど気にならない。
まぁ比較もしてないのだが。
927名前は開発中のものです。:2013/03/23(土) 00:47:28.05 ID:lDimxsHO
>>925 オーバーヘッドはそこまで無いんじゃ無いかな。
 制限は、普通に公開APIよりも多い。(まぁ、当たり前だが)
 現実的に3Dバリバリやりたいです。とかの人以外なら、使用に問題無いと思うわ
928名前は開発中のものです。:2013/03/23(土) 01:00:40.63 ID:hF6uJ46m
Android版との平行開発用に考えてたんだけど、十分いけそうね、ありがと!
929名前は開発中のものです。:2013/03/23(土) 01:55:59.76 ID:XqmQmglA
Android、Windows向けのゲームを作るのにJava+OpenGLじゃないんかい
そっちならついでにLinuxやOSXもいけるのに
930名前は開発中のものです。:2013/03/23(土) 02:05:28.35 ID:hF6uJ46m
Androidのゲーム開発をJavaでやるのは罠。
OpenGLESがインスタンス生成破棄しまくってGCまみれになって死ぬ。
931名前は開発中のものです。:2013/03/23(土) 02:07:42.32 ID:lDimxsHO
いや、なんというか、Androidなら、C#とかMonoが良いんじゃないか?
Unityとかの基盤技術だから、AndroidもWindowsもMacOSも問題なく対応できるし、
なんだかんだでこれからのゲーム作りの一角になりそうな予感するし。
Javaも、マインクラフトなんかでも分かる通り良いと思う。
正直、Androidも考えてるなら、C++にするにしてもDXライブラリは辞めた方が良いよ
Windowsだけなら明らかにDXライブラリが一番良い道だと思うけどね。
932名前は開発中のものです。:2013/03/23(土) 02:08:58.94 ID:BNhpKO/1
なんか無能な知ったかぶりばかりでワロタ
933名前は開発中のものです。:2013/03/23(土) 02:11:59.75 ID:hF6uJ46m
なんでAndroidでDXライブラリ使う話になってんだよwww
934名前は開発中のものです。:2013/03/23(土) 02:22:22.89 ID:lDimxsHO
>>933 だれもそんな事は言ってないとおもうが・・・・・・
935名前は開発中のものです。:2013/03/23(土) 02:23:03.65 ID:hF6uJ46m
あー、説明が悪かったな、Android版の描画エンジンは既にあんのよ、Cで。
で、これにコンパチなWindows用のCな描画エンジンを作りたいな〜って話です。
Androidで絵を描こうと思ったら、現状OpenGLESしかござんせん(DXライブラリとかナイヨ)。
スマソw
936名前は開発中のものです。:2013/03/23(土) 02:23:56.86 ID:hF6uJ46m
>>931
の最後の2行はそう言う意味じゃなかったのか、すまんw
937名前は開発中のものです。:2013/03/23(土) 02:31:06.83 ID:ok3aX2pQ
>OpenGLESがインスタンス生成破棄しまくってGCまみれになって死ぬ。
GCを持つ言語の問題であってOpenGLは関係ない

>いや、なんというか、Androidなら、C#とかMonoが良いんじゃないか?
いやなんというか言語と環境の区別はつけてほしい

>Unityとかの基盤技術だから、AndroidもWindowsもMacOSも問題なく対応できるし、
対応できるのはUnityがそうだからであってC#は関係ない
そもそもUnityの実装はCとC++
938名前は開発中のものです。:2013/03/23(土) 02:33:04.26 ID:BNhpKO/1
OpenGLでwindows, android, iphone 全部カバーすればいんじゃないの?
939名前は開発中のものです。:2013/03/23(土) 02:36:19.50 ID:BNhpKO/1
クロスコンパイルのハイエンドエンジンを自作かと思いきや、
やっぱりただの無能でしたという話か
940名前は開発中のものです。:2013/03/23(土) 02:37:01.07 ID:XqmQmglA
AndroidにDxLibがあると思ってるわけじゃないぞ
むしろAndroidにあるなら、DxLibでいいって話になるだろ

Java+OpenGLならjarとapkを出力できるようなライブラリとかあるんだし
そっちの方がいいんじゃないかと思っただけの話だ

俺なら一つのゲームに二つソースを書いたり、描画エンジン作ったりなんて面倒でとてもできない
941名前は開発中のものです。:2013/03/23(土) 02:41:23.45 ID:ok3aX2pQ
さわったことないけどCocos2d-xとかでいいんじゃない
942名前は開発中のものです。:2013/03/23(土) 02:45:33.29 ID:hF6uJ46m
OpenGL と OpenGLES は別モノですぜw
943名前は開発中のものです。:2013/03/23(土) 04:25:56.78 ID:XqmQmglA
OpenGL/OpenGL ESを包括してビルド時に切り替えるライブラリとまで説明しない理解できないのか
JavaだとGCまみれで死ぬなんて言ってる時点でお里が知れるがな
まあ悪魔で提案しただけだから、ベターとは思わないけどやりたい方でやりゃいいさ
944名前は開発中のものです。:2013/03/23(土) 05:19:25.29 ID:hF6uJ46m
ごめんね、みんなの専門外の話になっちゃってごめんねwww
だよね、やったことないトコの話は分かんないよねwww
すぐ規制されちゃうからもう消えるねwwwwww
945名前は開発中のものです。:2013/03/23(土) 08:04:52.20 ID:BNhpKO/1
他スレで暴れていた無能なメンヘラ外人じゃねこいつ。
あいかわらずレベル低いなぁ〜。
946名前は開発中のものです。:2013/03/24(日) 00:58:40.48 ID:cFYDzMb9
お前らなんでそんなに必死なんだよw
947名前は開発中のものです。:2013/03/24(日) 16:07:59.80 ID:bH4bUQNL
サンプルモデルはxViewerで見てもフレーム位置がちゃんと設定されている
一方俺のモデルはxViewerだとフレームが全て足元
RockDeBone2使ってるんだけどちゃんと設定しないとダメなのかな、分からない…
948名前は開発中のものです。:2013/03/28(木) 01:24:38.58 ID:105lsrMR
話は変わるが、
海外の17歳の学生が作ったスマホ向けのアプリが
ヤフーに28億円で買われたらしい
みんなも金になるようなアプリを作ろうぜ
949名前は開発中のものです。:2013/03/28(木) 03:05:12.92 ID:ALzQwtXE
ここの連中は一般社会に背を向けた奴ばっかだから無理無理w
PC使ってオナニーしてるだけですし。
950名前は開発中のものです。:2013/03/28(木) 03:13:26.72 ID:AFivpIdP
人工知能と自然言語処理とか凡人が手を出そうとする分野じゃないよな
951名前は開発中のものです。:2013/03/28(木) 06:45:56.33 ID:aI3PqEWo
>>950
そんな事無いぞ。今の将棋AIの基本となってるbonanzaなんて、将棋も素人な人が、
生物学の研究の片手間に作ったプログラム(アルゴリズム)が基だし。

全然関係ない分野の人がちょこちょこっとやるだけで凄い爆発的に進化する事ってよくあるし。
人工知能も自然言語処理も、言い方悪いが、まだ始まっても無い分野
本当にモノになるのはこれから10-15年の間だろう。
今からやれば、その道のプロになるのも夢じゃ無い。
952名前は開発中のものです。:2013/03/28(木) 09:11:09.15 ID:zrjznqQc
プログラム(アルゴリズム)
凄い爆発的に進化する

頭悪そう
953名前は開発中のものです。:2013/03/28(木) 11:43:06.64 ID:6Bpe26Jg
>>952 よりは頭よさそう
954名前は開発中のものです。:2013/03/28(木) 11:47:20.65 ID:bQxLdu74
ボナンザの作者エリートだろw
955名前は開発中のものです。:2013/03/28(木) 13:41:27.92 ID:QRVTcxRQ
RDF/OWL推論とかニューラルネットワークを大学でやってたけど
結局コンピュータには人工知能なんて大げさに呼べるようなことは
できそうにないと気付いて関わるのをやめた。
956名前は開発中のものです。:2013/03/28(木) 15:31:45.05 ID:Mdts59YU
フリーゲームをダウンロードしたら、exeファイル一個しかないのがあったんだけど、ああいうのって画像ファイルとかどうやってるの?
957名前は開発中のものです。:2013/03/28(木) 15:45:12.48 ID:CaZnFY5W
リソースにうめこんでいるのではないでしょうか?
958名前は開発中のものです。:2013/03/28(木) 16:14:17.32 ID:IUwnJpdg
exeファイルの後ろにつけるという手も
959名前は開発中のものです。:2013/03/28(木) 16:23:50.39 ID:GZqN9FgE
プログラムによる生成だな
960名前は開発中のものです。:2013/03/28(木) 16:49:56.81 ID:FJsKgCTf
色々方法があるんですね。
リソース埋め込みとかexeの後ろとかでぐぐります。ありがとうございます。
961名前は開発中のものです。:2013/03/28(木) 17:09:53.25 ID:Jsi38Jun
リソース埋め込みだとビルド時間が長くなるからオススメしない
962名前は開発中のものです。:2013/03/28(木) 17:20:47.54 ID:Xk/kqN5f
リソース埋め込みは有償版じゃなきゃできなかったような
963名前は開発中のものです。:2013/03/28(木) 17:32:03.63 ID:7e6dJi/Y
そうだっけ?リソースコンパイラとリンカがあればいけるんじゃね?
964名前は開発中のものです。:2013/03/28(木) 17:55:25.61 ID:COrT+p9F
2010と2012で違うからなVSは
965名前は開発中のものです。:2013/03/28(木) 19:01:35.28 ID:tW6WC5/p
(何でこのスレに書いたんだろう・・・)
966名前は開発中のものです。:2013/03/31(日) 13:32:32.28 ID:gEkt9xNl
有償版にしかないのはリソースエディタ
リソースコンパイラは無償版にもついてるし
埋め込むのは可能
967名前は開発中のものです。:2013/03/31(日) 13:33:21.92 ID:ihR4Ab9s
別に有償版あるからどうでもいいです。
968名前は開発中のものです。:2013/03/31(日) 18:09:35.93 ID:zUwkpZ7L
ウインドウのタイトルバーみたいなとこドラッグされても
中で処理続けるようにしたいんだけど、スレッドを分けるしかないかな?
969名前は開発中のものです。:2013/03/31(日) 20:02:20.90 ID:d0/Kl8A8
スレッドを分けてはいけないのだが。

DXライブラリ内部にあるウィンドウ プロシージャで
WM_MOvEあたりが呼ばれているところを変えるべきだな。
970名前は開発中のものです。:2013/03/31(日) 20:08:02.86 ID:dpNbCbcs
SetUserWindowして自前でメッセージループ処理すれば何とかなんじゃね?
971名前は開発中のものです。:2013/03/31(日) 22:21:37.68 ID:d0/Kl8A8
それで何とかなりそうだ。
972名前は開発中のものです。:2013/03/31(日) 23:36:47.32 ID:zUwkpZ7L
おおサンクス! いろいろやってみる
973名前は開発中のものです。:2013/03/31(日) 23:51:58.06 ID:ntoxEirl
タイトルバーをドラッグすると、DefWindowProcの中で隠されたメッセージ
ループが回りはじめて、タイトルバーを離すまでDefWindowProcが返って
こない。ほかにも メッセージボックスが表示されてるときとかも、
この挙動を示す。
(=ユーザの書いたメッセージループは無視。DefWindowProc の中の
隠されたメッセージループを経由して直接ウィンドウプロシージャに
メッセージが飛んでくる。PostThreadMessage でウィンドウ無しのスレッドメッセージ
がロストするのは隠されたメッセージループが回ってるこのタイミング)

※なんかこのへん KiUserCallbackDispather がやらかしてるらしいんだけど、
WinDbg でカーネルシンボル落とすところまでやってないんだよね。

っていうのが、あるので、WM_TIMER で定期的に起こしてやるか(フレームレート
は当然落ちる。)処理するルーチンの最後で自分自身にPostMessage してやって
ウィンドウプロシージャが再度よばれるようにするか、(PeekMessageを使った
メッセージループの挙動に一番近くなる・・・ような気がする)
WM_NCLBUTTONDOWN メッセージをDefWindowProc に頼らず自前で実装するか、
してやらないと駄目だとおもうなぁ。(これはアドホックすぎて、自分はあきらめた。
隠されたメッセージループがどこにあるのかわからん。)

WM_APP_UPDATE = (WM_APP)+? なウィンドウメッセージをひとつ用意しといて、
常に WM_APP_UPDATE が1つメッセージキューにあるように自分自身に当てて投げてやればいいかも。
974973:2013/04/01(月) 01:09:42.12 ID:Qf5Ey224
DxSystemWin.cpp の NS_ProcessMessage() はそんな単純じゃなかったので
自己ポストするのは、無理でーす。
垂直同期待ちするスレッドを走らせて、そちらから適宜PostMessage する方法を進言します。
975名前は開発中のものです。:2013/04/01(月) 02:13:48.32 ID:/CRE6+rF
ウィンドウを掴んでる・動かしてる間は
ずっとWM_MOVEがループしてるだろうからそこに

switch(UINT msg){
case WM_MOVE:
 if(isFPS){ GameUpdate(); GameRender(); }
return DefWindowProc();
default :
return DefWindowProc();
}
976名前は開発中のものです。:2013/04/01(月) 17:57:34.27 ID:/CRE6+rF
メッセージ・ウィンドウ内でWM_MOVEが呼ばれているとき、
case WM_MOVE: return DefWindowProc(); で処理を返すと
ウィンドウを掴んでる・動かしてる間は
WM_TIMERやWM_PAINTが間(メッセージ・ループ)に挟まれず、
ずっとWM_MOVEだけが呼ばれ続けた覚えがある。

Win32の標準GUIにあるスクロールバーとかメニューバーと
Direct3Dを混ぜたときは他にもゲームレンダリングをさえぎるような
ウィンドウ・メッセージが幾つかあって、プロシージャを扱うのは結構面倒だったりする。
977名前は開発中のものです。:2013/04/01(月) 23:32:41.09 ID:7L/6TUet
今いろいろと練習中で、キャラのステータスを表すのに今までは手っ取り早く配列とenumの組合せ使ってたけど
それよりも汎用性をもたせたくて、map<string, int(能力値)> status みたいにして、
character[i].status["HP"] みたいにアクセスできるようにしたいんだけど、
このままだとキャラごとのステータスのmap全部に"HP"とかのstringが保持されてしまう。
これを解決するような方法ってある? 文字列をポインタで示しても、配列+enumに比べたら
ステータス数×キャラクタ×ポインタのサイズ分の容量を食うことになるよね・・
978名前は開発中のものです。:2013/04/01(月) 23:37:07.76 ID:mluqxLQg
そんな細かいことを気にするぐらいならSTLを使うのなんかやめてしまえ
979名前は開発中のものです。:2013/04/01(月) 23:42:05.85 ID:qvgHBKmE
[]演算子でもオーバーロードしたら良い
けど手間考えると普通にクラスつくるのと変わらないし後は>>978
980名前は開発中のものです。:2013/04/01(月) 23:47:44.98 ID:7L/6TUet
>>978>>979
素人だから細かいことかもわからなかったんだ、ありがとう。
色々みてたらスクリプトの変数もmapみたいに文字列で記憶させてるみたいだし良いのかな
981名前は開発中のものです。:2013/04/01(月) 23:51:20.37 ID:qvgHBKmE
書き忘れていたけどコンパイラによってはunordered_mapというのが使えて
場合によってはそっちのが速くなるから測ってみると良いと思う
982名前は開発中のものです。:2013/04/01(月) 23:59:36.16 ID:7C4d5nt7
昔パラメータ名が不定の場合でやってた手法は
文字列をグローバルにアクセスできるsetに入れる
そのアドレス値をキーにmapを生成する
クラスや関数でよく使うキーは初期化時にアドレス値を変数にしておいて
数値でアクセスすることで多少の高速化
983名前は開発中のものです。:2013/04/02(火) 00:27:00.27 ID:GtDoxNUs
mapで文字列使うのに抵抗あるなら、定数使えば?
まぁ俺ならキャラクタークラス作るけど。
984名前は開発中のものです。:2013/04/02(火) 00:50:36.05 ID:0GUDzcsd
正直、977がなんで、こんなファンキーな作り方してるのか分からん。
自分も983に同じく普通にキャラクタクラス作るだけだな。
985名前は開発中のものです。:2013/04/02(火) 01:28:34.36 ID:uC6VN5WU
オーバーロードじゃなくてオーバーライドだ
恥ずかしい

>>984
実はJavaScript使いなんだよ
986名前は開発中のものです。:2013/04/02(火) 01:34:16.79 ID:wAImkVEt
Luaとかの変数もローカル変数じゃない限りただのテーブルらしいしな
987名前は開発中のものです。:2013/04/02(火) 07:48:21.65 ID:pXXUbXPn
2Dマップで時間の演出を出したいんだけど
夕焼けとか夜とはただ半透明なフィルターをかければ良いだけなんですが
光源の処理はどうしたらよいかと・・・
なにかアイデアをいただけないものでしょうか?
988名前は開発中のものです。:2013/04/02(火) 08:27:39.42 ID:oY8ylZVb
A::グラフィックをそれぞれ用意する。
B:気にしない
989名前は開発中のものです。:2013/04/02(火) 08:32:18.11 ID:yQTeABsl
時間の演出っていわれてもどんなのかわからんぜ
990名前は開発中のものです。:2013/04/02(火) 09:09:20.19 ID:7eJ1IOua
2Dのマップで時間経過ありというと、ドラクエ3みたいなイメージが出るが
そういうイメージ?

光源の処理、ってのが何を表しているかよくわからない。
夜になったら街灯に火が入るとかそういうこと?
もしそうなら、上から半透明の明かりのグラフィックを重ねればいいと思う。

「光源の処理」の意味が違っているかもしれないので、違ってたら説明頼む。
991名前は開発中のものです。:2013/04/02(火) 09:19:44.92 ID:GtDoxNUs
3Dで処理してカートゥーンレンダリングとか。
スプライト処理ならグラフィックを用意する以外には
目から鱗的なアイディアがいるわな。
992名前は開発中のものです。:2013/04/02(火) 12:23:00.63 ID:pXXUbXPn
>>990
ドラクエ3のイメージも近いですが、ずばり正解を言うと
巡り廻る。みたいな処理ですね。
ttp://blog-imgs-19-origin.fc2.com/r/e/b/rebellionrpg/ScreenShot_2008_1005_17_24_37.png

時間帯の色調フィルターをかけたあとに半透明明かりグラフィックを重ねる方法でよいのかな?
993988:2013/04/02(火) 18:20:32.87 ID:iB3qbe5g
俺は光源の処理ってのは、
朝は東から日が照るから、影は西に、
夕は西から日が照るから、影は東に、
って意味だととった。
994名前は開発中のものです。:2013/04/02(火) 18:26:41.15 ID:EQBkfILB
>>992
良いのかなって言うか、そうしたいならすれば良いって話だと思う
どっちかって言うと、「光が当たってる場所が明るい」より「当たらない所は暗い」を意識した方がそれっぽいと思うが
995名前は開発中のものです。:2013/04/02(火) 18:43:54.77 ID:YzX+eSnU
次スレ だれか たのむ
996名前は開発中のものです。:2013/04/02(火) 19:51:43.06 ID:7ScEAe8S
ume
997名前は開発中のものです。:2013/04/02(火) 19:55:24.55 ID:7ScEAe8S
998名前は開発中のものです。:2013/04/02(火) 22:05:04.90 ID:xj/rU2kx
>>997乙です

>>993,994
自分としては夜に松明などの光源範囲だけ明るくしたらいいかと思っていましたが、
日の向きによる影の伸び方を考慮に入れると面白そうですね。
あと、遮蔽物とかの事も重要ですよね・・・

しかし、フィルター一枚かけただけで処理が劇重・・・
道のりは険しそうです
999名前は開発中のものです。:2013/04/02(火) 23:09:11.07 ID:NtGUiTsa
>>997
おつおつ
1000名前は開発中のものです。:2013/04/02(火) 23:14:57.19 ID:0GUDzcsd
>>997 Thank you!!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。