1 :
名前は開発中のものです。:
以上テンプレ
scかおーぷんに移転するべきじゃないかと考えてたのだが、
議論する前にスレが落ちてたので今回はとりあえずそのまま建てた
それではよいDXライブラリライフを
4 :
名前は開発中のものです。:2014/05/08(木) 10:00:15.63 ID:QKULf1Mu
scの方だとまだ書き込めるみたい
scの仕組みがよくわからん
クローニングしてるってことでいいのか
なんでオープンやcsに行く話になってるの?
csはフィッシングサイトだからうっかりログインしないようにな
csってなんだよ
10 :
名前は開発中のものです。:2014/05/09(金) 03:09:45.21 ID:JrJpeJ15
SSスレやAAスレの人たちからすれば転載云々は大事な問題なんだろうけど
ただ気軽に情報交換したり雑談したりしたいだけの俺からすれば、この騒動そのものがエライ迷惑だわ
最近やたら重いしケータイで見れないこともあるし
>>11 その攻撃して重くしてるのが向こうの陣営という…
しかも向こうだと巻き込み規制健在だからまともに書けないぞ
雑談するには人がいることが何よりも大切だよね
DXライブラリには公式掲示板があるからか最悪2chが消滅しても技術的コミュニケーションとれるのは大きい
雑談スレだったのか、知らなかった
ここに書けばscにクローニングされるならここでいいよ
DXライブラリに関することなら雑談でもなんでもおkじゃねーの
penスレもう締めてくれ(ヽ'ω`)
16 :
名前は開発中のものです。:2014/05/15(木) 20:31:29.17 ID:01rWa81p
考えられる可能性はいくつもあるが、PC再起動した直後に起動してもダメか?
18 :
16:2014/05/16(金) 06:48:31.89 ID:poR3QEFj
>>17 今再起動した直後に試してみたけどダメだった
情報少なすぎる、、、
再現させてみようと思ったけど、これどこにあるの?
公式のどこか、みたいだけど
20 :
名前は開発中のものです。:2014/05/16(金) 16:33:47.01 ID:GR3HV6Z+
おー再現した、ありがとう。
その画面、デバッグボタン出てないね、開発環境で実行したわけじゃないのかな。
これからちょっと検証してみる、、、時間無いから遅くなるかも
ビルドしたら普通に動くや、、、
気にしないで進めてみては。
もう出かけるから検証は夜やるかも・・・
23 :
16:2014/05/17(土) 10:48:09.08 ID:5QWD3SSE
協力ありがたい
それから今
>>20をもっかいやってみたんだけど
ObjAttachフォルダの中にあった3DAction_ObjAttach.exeは普通に実行できた
ただC+↑かC+↓を押すと強制終了してしまう・・・
うちじゃそれもだめだけど、普通にビルドしたやつは動いたよ。
そもそもEXEを動かすためのものじゃないから、ほっといてビルドしたらいいんじゃない?
25 :
名前は開発中のものです。:2014/05/17(土) 11:57:14.82 ID:5QWD3SSE
非常に恥ずかしながら聞いてもいい?
VC++を動かす環境ではあるのだが
肝心のビルドの仕方がわからないんだ
どうか心の広い方やり方を教えてくれないか
ビルド選択すりゃええんちゃうか
ちょうど俺、新しいマシンの設定中で1から入れたからその手順書いてみる
まずVisualStudio 2013 Express Desktop のインストール
DXLibのダウンロードと展開
3DActionサンプルの展開
VCで新規プロジェクトでWin32を選んで空のプロジェクトを選択(ソリューションディレクトリ作らない、SDLチェック外す)
ディレクトリは別途作ったほうがいいけど、今回は3DActionの1つ上を設定して
プロジェクト名を3DActionに
ソリューションエクスプローラーのソースファイルで右クリックして追加から既存の項目で3DAction.cpp 選択
ソリューションエクスプローラーでプロジェクト(ソリューションの下の3DAction)右クリックでプロパティ出して
構成プロパティの全般のとこで文字セットを「マルチバイト文字セットを使用する」に(Debug,Release共通)
VC++ディレクトリのとこで、インクルードとライブラリに、DXLibの「プロジェクトに追加すべきファイル_VC用」
を追加(Debug,Release共通)
C/C++のコード生成のとこで、ランタイムライブラリをMTd(Debug)、/MT(Relese)に変更
リンカーのすべてのオプションで「安全な例外ハンドラーを含む」いいえ(Releaseのみ)
これでビルドできると思う。
もちろん、ヘッダやライブラリは自分の環境に合わせてコピーするけどとりあえずね。
ディレクトリを1個上に指定したのは実行中に読み込むファイルがそこにあるからで
単体で実行するときはEXEと同じ場所におけばいい
って長々と書いたけど、要はサンプルの想定に合わせて
マルチバイト文字セットと/MTだけ気をつければいいかと
29 :
名前は開発中のものです。:2014/05/17(土) 14:12:44.55 ID:5QWD3SSE
うーん説明どおりにやってみたつもりではあるが
真っ黒い画面が表示されただけでそれっぽい物が写らない・・・
きっちり説明してくれたのに申し訳ない・・・
>>29 真っ黒なのは正常。bmpやらxやらが読めてないだけ。
デバッグ実行時のカレントディレクトリの把握がわかるまでは
とりあえずあちこちコピーしてみるか、EXEと同じとこにおいてEXEダブルクリックで実行するといいかも
明るさが足りないのではないか
遅レスだけども
プロジェクトのプロパティを開いて「構成オプション」→「デバッグ」のページの
「作業ディレクトリ」が、デバッグ実行したときのカレントディレクトリになる
初期値はたぶん「$(ProjectDir)」で、これは*.csprojファイルがあるディレクトリ
スレ落ちたかと思ったぞ
新スレ移行に鯖移転が重なったしなw
お、更新されてるやん
バグフィックスが主みたいだけど、一応目玉といえるのは3Dサウンドの関数かな?
欲しがってた人は結構居たみたいだし
歪みの国のアリスというノベルゲームで
文字がぐらぐら動く演出があるのですが
DXライブラリで可能でしょうか?
どういう処理かわからないけど、そういうのは工夫すればできる
>>38 >どういう処理かわからない
iPhoneのアプリを削除するとき
アイコンがぐらぐらするみたいな感じです
初心者には難しいですか?
無理そうなら諦めます。
>>39 毎秒5コマ単位くらいで表示座標に±2ドットほどを
ランダムに与えればいけそうでは?
>>40 ありがとうございます
難しそうですが、やってみます。
iPhoneなんて持ってねーよw
ウィンドウ切り替えるとBGMが多重再生される....
なんでだろ
ウィンドウサイズに割り当ててたdefineの値を変更したら
上手くコンパイルできなくなったんだけど、似たような現象経験した人いる?
過去にも何度かあって困ってるんだ
割り当ててた場所はSetGraphModeのX値とY値
これらの値を変更したら、ビルドしても各ソースの変数値は正常なのに異なる結果(バグった状態)になる
直したいんだけど、以前どうやって復旧させたか記憶に残ってないんだよね
新しいプロジェクト立ち上げて、ソースコピペするしかないのかな
コンパイルができないのか、コンパイルは成功するのに意図せぬ動作をするのかどっちだよ
後者ならお前のプログラムにバグがあるだけ
コンパイルは成功するよ
でも結果がバグってる
過去にもあった事だからわかるんだわ
ウィンドウサイズの値を変更した後に起こる
何がどうバグってるのか書かずに誰がわかるというのか・・・
とりあえずお前のミスか知識不足が原因なのは確か
もう一つ特徴を書くと、
ソース中のコードをコメントアウトしたり、変数に違う値を入れても
全く同じバグった状態が再現される
まぁ俺が変更した事が反映されない奇妙な状態
コンパイラのせいなのか、DxLibのせいなのかわからんけども
せめてこっちで再現させられるくらいの情報出してくれよ
数値を桁合わせのために前ゼロ入れてるとかそういう類の話じゃないよね?
桁合わせって何?
再現出来るほどの情報があるなら、ここで相談したりしませんわ
元々プログラマじゃないんで、ソースコードコピーで片付けて先に進む事にします
素人はどこが問題なのかわからないという典型例だな
自分のミスが原因なのに、そこは自信満々にスルーする
相談なり質問なりしたいなら、具体的に説明しないと意味ないぞ。
バグったってどうバグったのかもわからんし、そもそも何をどのタイミングでやろうとしてるのかもわからん。
DxLib_Init記述の前後を間違えてるとかそんなんじゃないの。
語彙の数からして素人じゃないみたいだけども。
そのSetGraphModeの値を変更したら、他の変数のアドレスが変わってしまう現象が起きたのだろう。
ソースコードをいじっても変化が現れないって事はそういう事だ。
kazukiの再来かと思った。
理解できない謎エスパーが
ほんと謎すぎるw
エラーや警告が無くコンパイル出来ても、実行時に異常が出るなら領域破壊
身に覚えが無いなら、不具合として報告しとけ
こんな場所で質問しても煽られるだけだし時間の無駄
この場合領域破壊にもいろいろ可能性が考えられるだろ
断定できるような情報がないから情報だせと言われてるだけだよ
>>57 「身に覚えがない」ってのは調べに調べて、他に考えられないってとこまで
行き着いてはじめて言える事だけど
現時点でそのような状況だとは思えないな。
現象が再現できる最低限のサンプルソースが出せるくらいじゃないと。
DXライブラリの3Dアクション基本を参考に当たり判定を実装していたんだけど、
サンプルではプレイヤーが動く処理の中で衝突判定と衝突応答をしているから、
多数のモデルで衝突判定、応答を実施すると位置に矛盾が出て結局めり込んでしまう現象が発生。。。
結局当たり判定は自力で作る必要があるかと思って、モデルの高さとか幅を取得するようなAPIを探していたんだけど、見つからない。
もしかしなくても、ワールド座標空間でのモデルの高さや幅を知りたい場合って全フレームを検索して自分で組み立てるしかないんだろうか。
当たり判定で、モデルの重なりコリジョンを使う場合は、
ゲームループ
最初に、現在位置と方向を変数に入れて保持する。
移動する。
もし、接触するならば、移動前の変数にある位置と方向へ戻す。(接触する前の場所へ戻す)
ループ
負荷が大きいと、めり込むかもしれない。
負荷は関係ないだろ
処理自体変わらないんだから
ライブラリのバージョンを入れ替えるだけでfpsがかなり変動する
3.10→60fps安定 3.11→20fpsぐらい 3.12→10fpsぐらい
一体何で負荷かかってるんだろう
こっちを直せばあっちが壊れる
保守の限界なのかもしれない
フォントのキャッシュの仕方が変わったからじゃない?
確かにフォントを使ったデバッグ用の情報表示を消しただけで快適になりましたね
フォントを多めに使用する処理に入るとまたガクっと遅くなるので、やはりそれが原因っぽいですね
一人では解決できそうになかったので助かりました、いやまぁ問題がわかっただけで解決はできそうにないですけど
フォントのキャッシュサイズを変更する関数があったはずだからそれでサイズ増やせばマシになるかと
LinuxのWineを使うと、VisualC++2005を今でもインストールできる。
(BasicやC#も出来るけど、それはひとまずおいておく)
そこにDXライブラリを入れてLinuxで(ってか、wineで)開発したいんだけど、
ちょっとバグがあって上手く動いてくれないみたいなんだよね。
linux側のグラフィックドライバによっては、ちゃんと動くこともあるみたい。
945系のグラフィックドライバだと、残念な結果になる。
これが上手く行くと、OSも含めてタダで開発が出来てしまうんだがなぁ。
69 :
名前は開発中のものです。:2014/06/22(日) 12:44:01.15 ID:CSRysG6i
質問すまん
最終的には手軽にプレイできる携帯ゲームを作りたいと思っとる初心者
DXライブラリでゲーム作って、移植は可能?
DXライブラリってプログラム書いたメモを、貼り付けるから初心者でも比較的簡単にゲーム作れますって奴だよな?
とりあえずDXでゲーム作る →c++に変換する→ 携帯ゲーム化
むリポ?
可能
DXライブラリと同じ名前の関数のライブラリを自分で作ればいい
それをPSPで実現させたのがDXライブラリPortable
もう開発停止してるけどな
出来なくはないけど無理だと思った方がいい、くらい。
ただまあ一度動くものを作っているなら、別環境で作り直すのは1から作るよりかなり楽だと言われる。
それができるなら俺も嬉しいんだがなぁw
>>70 71
とりあえずDXで作ってもまったく無駄ではないんだな
不安だったが、とりあえずDXでゲーム作ってみるわ
ありがとな
ではまずアナログコントローラに対応するところから
DXライブラリはどこがデラックスなんですか?
DXはデラックスのことじゃないよ、ダイレクトエックスのことだよ
カローラDXはどこがデラックスなんですか、、、いまDX無いかw
ここはゲーム制作技術の板だよ、車種・メーカーの板じゃないよ
ガンダムDXはどこがデラックスなんですか?
DXライブラリをインクルードするとexeのサイズが2MBに膨れ上がるだろ?
マツコデラックスは膨れ上がってるだろ?
そういうことだよ
俺のゲームもデラックスになってくれればいいのに
コピペダンジョンで苦労も2倍だな
83 :
名前は開発中のものです。:2014/07/28(月) 20:09:12.62 ID:Yi1KZATN
VisualC++2010Express使ってるんだけど、
毎回毎回、プロジェクトのパス設定とかが面倒です・・・・
コピペ用の空プロジェクト作っとけよ
Microsoft.Cpp.Win32.user.props
FileRead_gets( char *Buffer, int Num, int FileHandle ) ;について教えて欲しいのですが。
1行10文字のファイルを読み込ませる際にNumに要素数+3以上の値(13以上)を指定しないと読み込んだデータにズレが生じます
DXライブラリのリファレンスを見ると”Num で指定されたサイズ−1バイト分の文字列があった所までの文字列を Buffer に格納します。”とあります。
要素数分10バイト+ヌル文字1バイト+改行1バイト+【Num で指定されたサイズ−1バイト分】を補う分の1バイトで計13バイト必要という事でしょうか?
↓のように10*6の大きさ、外枠のみ’1’を入れてるマップデータが、2行目が1文字ずれ3行目に改行のみデータが入ります。
1111111111
1000000001
1000000001
1000000001
1000000001
1111111111
>>86 デバッグでブレークポイントとかで止めて中見たりするといいよ。
改行コードがCR+LFの2バイトになってるから計算あわないだけだと思うよ。
ぴったり読む用途にはgetsじゃないほうがいいと思うけどね。
PlayMovie、基本ちゃんと動くんだけど開始前のほんの1フレームくらい
別のクラスで読みこんどいた画像が出てきちゃうんだけど何か分かる方いませんかね
ごめん、自己解決しました
DXライブラリってDirectX10, 11じゃないの?
永遠に9のままです
4.xになるまでは無理じゃない?
3Dの壁の当たり判定が難しすぎる…
誰か簡単にできてる人はいない?手順だけでいいんだが
>> 3Dの壁の当たり判定が
見えるモデルと、当たり判定のエリアを別にする。当たり判定モデルはシンプルに
AABBによる重なり判定、直線との交差検出、を使う。
壁に対して、滑る時に引っかかり、動けなくなる。
これは、壁に光を当てて反射するような方向へ移動させる。
バウンティボックス?
3DSで配信されてる魔神少女、もとはDXライブラリで作られてたんだな
98 :
名前は開発中のものです。:2014/09/03(水) 18:23:21.85 ID:HpKvxe2r
DXライブラリで簡単なシューティング作ってるんだけど、
OPでムービーと音楽流してスタートボタン押すとゲームのメインにとぶってしたいんだけど
うまくいかないっす
どういうふうにコード書けばいいのか誰か教えてください
ゲームループはどうやってる?
普通にループでやってれば要領わかると思うけど
switch文理解してればできるよ
>3Dの壁の当たり判定が難しすぎる…
自分の場合は
3点で構成されるテクスチャの頂点座標をそれぞれABC
それにぶつかる今のフレームでの点の座標Dと
その点の前のフレームの座標Eとして保存しておいて
@ABCの法線ベクトルとAD・AEベクトルとでそれぞれ内積を取り
それぞれの内積値の符号が反対であればABC無限平面との貫通を確認
A次にABCの「テクスチャ上での貫通か?」の確認処理としては
ABCの法線ベクトルに対して、DAB・DBC・DCAの法線ベクトルとで
それぞれ内積を3個算出し
同じく
ABCの法線ベクトルに対して、EAB・EBC・ECAの法線ベクトルとでも
それぞれ内積を3個算出し
その6個の内積値が全て正の値である時に
点D・EはABCテクスチャ平面を法線方向に伸ばした三角柱内に存在を確認とし
この@A条件をともに満たしているときに
テクスチャ面上貫通判定にしている
昔作って使いまわしていたコードを読み直してみたらこんな感じだった
もっといい方法が有りそうな気もするが思いつかない・・・
102 :
名前は開発中のものです。:2014/09/04(木) 10:44:20.49 ID:dmacLK7g
>>101 そもそもそのその三角形はどうやって探すんで?
難しいよな
せめて3Dの平面の壁じゃなかったら簡単なのに
VS C++2010でやってるんだけど
一度でもbreakpointで処理止めて編集するとデバッグ終えるとき(最後の行まで正常に処理できている)に低確率でフリーズするようになった
処理を止めなかったときにフリーズは一度も起きていない
原因分かるエスパーいません?
再インストールとかウイルスソフト変更とかも試したけど直らない
初期化してない変数やポインタはありませんか?
メモリリークとか出口は監視してるけど、初期化しないとエラーが起きるの?
不定値が入るだけだと思ってた
詳しく教えてほしいです
いや、初期化してない事で不定値が入る事で予期せぬバグが発生するようになる
事はよくある事だから
編集してるから、予期しないメモリ位置に
想定外の数値が入ってそれが原因になってるとかは?
>>108 編集と入っても中断さえすれば
改行を入れて消すだけでもたまに起こるんだ
編集ってエディットコンティニューのことかいな
気にするな
どこかでヒープ破壊起こしてる、メモリリークではないから検出は容易じゃないが
関数をポインタや配列とか間違えそうなところを違う書き方でして入れ替えてくとか
>>107 横レスですが。
昨日日中、構造体配列用にmallocで確保した領域を読み書きしようと
したら使用出来ず、どうしたものかと1〜2時間頭を捻った挙句にリザーブだけ
して使っていなかった管理フラグにNOUSEと未使用フラグ立てたらアッサリ
正常動作しました。
確保しただけでは内容不定なの忘れてましたよ(^^;
>>98 だけどswitchでなんとか出来た
あざます!
DXライブラリでフルスクリーンを使ってるとWindousボタンを押すと
メニューにフォーカスが移ってフルスクリーンじゃなくなっちゃうじゃないですか。
あれを回避するために起動中Windousボタンを無効化するっていう関数があるって
聞いたことがあるんですが見つからないんです
見当はずれなこと言ってるかもしれないのですがわかる人いませんかね。。。
それはユーザー側でやることじゃないの?
ゲームプログラムで出来なくされてたらそうしたい時に不便じゃん
XYZが決定キャンセルアクションかつ操作が激しいゲームじゃない限り不必要に思える
それでもキーコフィ作ればいいだけだと思うが
F10キーと勘違いしてるんじゃないかなぁと思いつつも、わからないので聞き流してくれていい。
名前入力させたい時ってどうやってやるの?
ユーザーのIMEみたいなの使って
シューティングゲームとかブロック崩し作るよりも落ちものゲームって遥かに作るの難しくないですか?
最近簡単なシューティングゲームを作り終えて落ちものゲームで挫折した者ですが
落ちものっていったってテトリスぷよぷよあたりのシステム作るだけなら楽でしょ
テトリスの接触回転処理ぐらいか
作るの自体は簡単。
アイデアを出すのは難しい。というか無理w
まずテトリスやぷよぷよのシステムが組めないってのはただ単に基礎の力が足りないんですかね....
頑張らな
どちらも研究されて模倣品のソースが溢れているから
細かい挙動とかは無視してもまず自分で組んだうえで
他のソースを数種類ほど見ればより洗練された書き方ができるようになるね
いきなり他人のを見ちゃうとそれに思考が引っ張られるし
完成品見ながら作ると色々大変
機能ばらして個々のものができてから組み合わせればいい
平山尚のテトリス本はおすすめできない
なるほどなるほど
ありがとうございます!
ニコニコにテトリスを1時間で作る動画とかあるね
カクカクに動くテトリスやぷよぷよなら簡単だけど
連鎖アニメーションとか細かいところまでちゃんと作ると結構大変だよ
ニコニコにシューティングゲーム作る動画上げたからお前らみろ
今見返すとクソみたいなコーディングしてるけど
ドットインストールくらいの長さじゃないと見る気しない
どこにあるかもわからんわ
それ別人
それ投稿日去年じゃねーか。
>>128 これみて「そういや前に似たようなのあげたな」と思ったままレスしたらあんな日本語になった
Cの入門書ひと通りやっただけの初心者なんだけど
C++もやったほうがいいだろうか
Cの基礎を固めるか
C++もひと通りやるか
DXライブラリでゲーム作って実践の中で学ぶか
書いてて思ったけど上から順に全部やったほうがいいような気がしてきた
一番下の一択
基礎なんて学んだところで全部忘れるのがオチ
マジかよ
経験詰んだほうがいいのか
いや、全部やっとけ
@教科書を読む。
A実技をやってみる。
B教科書を読む。
C実技をやってみる。
この繰り返し。AとBでは理解度が違うのだよ。
最初に、最低限の基礎は教科書を読む。
コマンドの重要さは使ってみないとわからない。
(一度も使わない頻度の少ないコマンドが多数ある。)
@C言語の文法を学ぶ
Aゲームを作り始める
Bわからない所があったら調べる、概念的な疑問は2chで質問する
>>142 >Cの入門書ひと通りやっただけの初心者
ならば戻ってあと1〜2周やったほうがいい
「ポインタとか言う高度な概念はボクには難しすぎたので飛ばしました」
とか言う奴は銃殺じゃ
ポインタ飛ばしました(爆
それ俺だ
DXライブラリならだいたいポインタいらないし…
Cから初めてポインタ飛ばすのはないんじゃないかという気もするが
C++&DXライブラリでなら別にポインタ理解せずともゲームは作れるし……。
未だにポインタが難しいとか言ってる奴がいるのか
自分の視点でしか物事を考えられない人間は、頭が良いか悪いか。
ポインタはいろんな解説サイトめぐって自分に合う解説を見つければいい
箱とか住所とか何の暗号だよ普通にメモリとかアドレスでわかるよ
組み込み系の本読めばポインタ分かるよ
まともな人間ならポインタ使わないプログラムでもデバッグしてる途中で分かってくるようになる
ポインタって、参照とSTL使えればあんまし必要無くね?
参照が理解できるならポインタも理解できるわ
参照用の変数なんだから
Cを最初に学んだのはもう15年近く前だけど、
ポインタ「だけ」抽出して理解しようとしてたら、もしかすると自分は今でも覚えてなかったかもしれんなあ。
ポインターを使わず、ゲームを1本完成させ、
その後、ポインターを学べば理解される。
教科書だけを100回も読んでも理解されない、実践で意味をなす。
Cでポインタを学ぶより、多態っていう明確なメリットがあるC++で学んだ方が
ポインタは感覚的に理解しやすいかもしれない
「ポインタ理解してないけどゲームは作れてるぜ」って人はちょくちょく見るので
そのうちわかればいいやー、ぐらいの気楽な気持ちで構えた方がいいと思う
個人的な考えだけども
ポインタ理解しないで書くコードってグローバル変数使いまくってるとか?
たぶん書いてるコードはリエントラントなコードではないし
構造化とは無縁のコードになると思うが
俺はポインタ使えるようになった今でもグローバル変数使いまくってるな。
グローバル変数使わないようにと最初は頑張ってたが
作業が遅々として進まなかったので、諦めて使うようになったらさくさく進んだわ。
まあ、個人の開発規模なんてたかが知れてるからな
グローバル変数は起動時間ぐらいで全部シングルトンにぶちこんでるな
でも設定入力出力以外でグローバルだと逆に使いにくくない?
同じ文字使えないし
変数名被りはnamespaceで回避だ!
1つのプロジェクトでフレームワークでもないのに変数名がかぶるってひどい設計だな
被らないようにと余計なプリフィックスが付くよりは良い(かち合いの回避手段がある場合に限る)
そこらへんCだと排除は難しいね、よそのライブラリとかGNUのソースとか見てる限りは
namespaceとかは、Better Cでも比較的使いやすい部類よね?
そもそも名前がかぶるだのかぶらないだのって経験をまだしたことない俺は
存在意義を理解してないので、使いやすい部類だろうと覚えるのが難しい。
>>151 DXライブラリはツクールじゃないんだから
C言語は覚えなきゃならんしポインタも覚えなきゃならんだろ
いや、DXライブラリを使えば、C++をBASICの感覚で使えるようになるから、ポインタの知識は必須じゃないよ。
パラメータ渡しに &x とか使う部分はあるけど、ポインタの知識なしでも「そういう記述」と覚えればなんとかなるし。
実際俺がDXライブラリ使い出したのはもう8年以上前のはずだが
ポインタをちゃんと理解して使い出したのは今年に入ってからだ。
ポインタ語るとき、ポインタの用途として、ガチでメモリアドレスとして扱う場合と、
参照(&のことじゃなくて、JavaとかC#のような参照)として使う場合をごっちゃにしたらダメじゃね?
前者で、ポインタ直接インクリメントしたりする機会って、きょうびまともに設計したらありえないでしょ
後者に絞れば難しくない。後者で複雑なのはスタック上の先頭メモリが取れちゃうところだから、
まずスタックとヒープを理解して、変数宣言時の「*」の意味をちゃんと考える。
(つか宣言時に int *a みたいに右に付けて宣言する参考書撲滅しないと無理)
>(つか宣言時に int *a みたいに右に付けて宣言する参考書撲滅しないと無理)
そう、それ!
int *a が int* a の事だと知るまで混乱しまくって理解できなかった俺w
int* a;
だと、
int* a, b;
とかやらかすおそれがw
FILE* fp1, fp2;
ま、ポインタが複雑というより
ポインタに関するCの記法がちょっと複雑って感じよなぁ
ポインタ使わんとオブジェクトのソートも激重じゃん
ポインタはどこかのサイトとかじゃ使用例ほぼないよね
だから必要無いようにみえる
ポインタにかぎらず、どこかのサイトとかで
プログラミング技術を具体的にどのようにゲームに活かすか、が
例として挙げられてたのを見たことがない。
よっしゃ俺が動画作ってあげたるで
>>176 int * a;としとくのが一番平和になれる
面倒がってint*a;って書くこともあるけどな
>>183 コンパイラについてくるヘッダもそんな感じだね。
あとはtypedefするとかね。
なんだか乗算に見えてくるぜ…
乗算に見えてしまうから俺は
int* a; 派
>>176みたいな失敗する可能性もあるけど、「intポインタ型の変数を宣言した」と直感的にわかるし
ポインタでここでまで盛り上がるなら、構造体はどうでしょうか
大きめな構造体を関数に渡すときなどはポインタで渡そうとか思ったりしない?
基本的にポインタは構造体のためにあるようなものだと思ってる
全部クラスにしてるから構造体は1つもない
C++ではクラスも構造体も一緒やがな
クラスのポインタをSTLコンテナに詰めて管理するのがC++でのゲーム制作の基本スタイル
最近じゃ右辺値参照を適切に使ってクラスそのままをぶち込むのが良いんじゃ
生ポインタは使わずまずスマートポインタに入れてからだろうし
ここ何のスレだっけ??
int* a; にするなら
ポインタは1変数ごとに宣言を分ける
っていうオレオレルールを作れば問題ない
>>193 ぶっちゃけそこよりこっちのがゲームの話題出る気がする
>>195 ゲームの話題を取り扱うのはどっちのスレも一緒でしょう、ゲ製なんだから。
言語に強く関係するものはC/C++スレで話すべき。
そもそもC/C++スレは、このスレでDxLib関係ない言語の話題があまりに多かったから
分離したスレッドなので、こういう時に活用しなきゃ意味がない。
向こうとこっちの話題が逆だな
でもCは親クラスみたいなもんだしどうでもよくね
DXライブラリ使ってゲーム作るだけなら別にポインタ知識いらないよねってのが発端だしなぁ。
>>194 メンバなら省略せずに書く
ローカルなら適当に
そもそも別名のポインタを並べて宣言するのって、テストコードでしか使わない気がする
メニュー上のボタンが押されたら引っ込むようなアニメーションってひとつひとつ座標操作してんの?
俺は行き先の座標指定
少し行き過ぎて戻ったり、加減速、回転と往復するのは別で指定(x,y,mode,loop)
なつかしいなぁ
いま個人でどんなのが作れるんだろ
妙に金かけてそうなグラとか、丁寧なアニメーションとか個人には難しいよな
3Dゲーム作ってるんだけど、モデルとモーション適用ってどうやってる?
俺は3Dモデル(モーションなし)とモーションのみ(作成後モデル削除)のxファイルを作って3Dモデルに無理やり適用してるんだけど
これでも一応モーション間を繋げる動作は作れた
hoge = nullかもしれない変数
if(hoge == NULL || hoge->GetBool())
こういう処理ってどう書いてる?
これぬるぽされないかな?
たいていはhoge!=null && hoge->...じゃね
俺も>207と思ったが、意味変わってこないか?w
心配ならifを2回に分ければいいんじゃないかな
最近DXライブラリのプログラムをデバック実行するとウィンドウが生成された後かなりの確率でフリーズするんだけど俺の環境だけ?
デバッグの方にファイルがないとか言うオチじゃないのか
一つ教えてください
キャラごとにMV1_COLL_RESULT_POLY_DIM HitDim;で3D床壁の当たり判定をしてるんですが、
これをfor文で毎フレーム全ての床壁と判定することになるわけですが、重さ的に大丈夫なんでしょうか?
めちゃくちゃ重くなる気がするのですが…
なにか他に良い方法はありますか?
辺り判定のポリゴンをブロック単位に分けて距離の近いブロックのだけ判定させるのが基本
抜け対策としてマージンが十分ある場合に限るが判定を1フレーム毎に抜く
特に壁なんて床よりは重要度低いし押し返しの処理がしっかりしてればスムーズに動く
ありがとうございます
キャラの周りだけ抜き出すんですね…やってみます
初歩的過ぎる質問かもしれませんが
マップの図形を画面外に描画するようなコードを書くとグラボが壊れたりしますか?
画面外は描画しないように書かないとだめですか?
公式サイトのチュートリアルのコードだと
何かボタンが押されたらDxLib_Endが呼ばれて終了ですが
もしウィンドウの右上のバツを押して終了した場合
DxLib_Endの終了処理がされないと思うのですが問題有りますか?
どっちも問題ない。
右上のバツが押されたらループ関数のチェックが通らなくてそこから普通に終了処理に行くと思うぞ
Windowsゲームプログラミングでも読んで勉強しな
>>216 >>217 気になってたので助かりました。ありがとうございます。
バツが押されたことをプロセスメッセージが拾うのかな
勉強になりました
せめてブレイクポイントくらいは使えるようにしたいね
DXライブラリ使ってたら馬鹿にされたんですがどうすれば見返せますか?
>>221 その時何も言い返せなかったなら見返すなんて無理。
>>221 DirectXを勉強して自分でライブラリを作りましょう
目的が達成できれば道具はなんだっていいと思うがな
Direct3Dはオワコンだから何かOpenGLのライブラリに鞍替えする
OpenGLこそオワコンだろ
数年後に大規模仕様変更されるのに
大規模仕様変更=オワコンとなる意味がよくわからんのだけど
それは置いといても仕様変更の頻度はDirectXのがダンチじゃね
「DirectXは進化してないからオワコン」という言い分も聞いたことがある
Windowsはモバイルではさっぱり売れず爆死
さらにWebD3Dとかそんな物は作らず素直にWebGLに対応
デスクトップも永遠に安泰とは行かない
デスクトップにもAndroidが進出して更にシェアが喰われる恐れもある
OpenGLは非常に多くのプラットフォームで動くが
Direct3Dの動くプラットフォームってMSのだけだから少ない
それでもDirect3D使う意味って何なんだ
今学習しても数年後またOpenGL学習することになるって事だろ
どうせ新OpenGLに対応できない開発者が使い続けるんだろうからオワコンにはならないと思うけど
あ、これ俺の書き込みだわ
DSAは最近やっと標準になった
せっかく新規追加されたのにここまでシャドウマップの話題なし
俺も最近気付いたがこれで楽になる
MakeShadowMap シャドウマップを作成する
DeleteShadowMap シャドウマップを削除する
SetShadowMapLightDirection シャドウマップへの描画で想定するライトの方向を設定する
ShadowMap_DrawSetup シャドウマップへの描画の準備を行う
ShadowMap_DrawEnd シャドウマップへの描画を終了する
SetUseShadowMap 描画で使用するシャドウマップを変更する
SetShadowMapDrawArea シャドウマップに描画する範囲を設定する
SetShadowMapAdjustDepth シャドウマップを使用した3Dモデル描画時の深度判定の補正値を設定する
TestDrawShadowMap シャドウマップを画面にテスト描画する
グローバル関数だけで構成されたAPIからしてC++使えない人向けだから
馬鹿にされても仕方ない
設計思想としてC++の仕様は使わないようにしてあるだけだが
まーそれがわからんで馬鹿にしてる奴が本当のバカなんですけどねw
今時C++に拘っている時点でお察しw
C++が使いこなせるなら大概の言語は使いこなせるようになれると言われている昨今に、何を言ってるんだか
流行り廃りでゲーム作ってる人には縁のない言語ではあるよね、C++は
そもそもゲームは流行り廃りで遊ぶものじゃないだろ
でなけりゃVC以外に売りの無いWii Uはとっくに消えてるだろうし
今の流行りは萌えブームだ
DXライブラリは
>>232で言われている様なグローバルステート依存の糞仕様になってるじゃん
OpenGLの設計が古いとか何とか批判してるくせに理解してないの
C++使えば済むものを無理やりCにしても
関数名が長くなって冗長になるだけで誰得
OpenGLに行きたいなら黙っていけばいいのにさんざん文句を言って居座るから文句を言われるのに、理解すら出来ない馬鹿がいる
最近は多くなってきてるけどな
他言語から呼ぶ分にはCである必要があるのだが
そのわりにはC#の対応がお粗末だよな
Direct3Dの最新の機能を使いたいならDirect3D9の機能しかないDXライブラリなんて最初から選択するべきではない
Direct3D対応のライブラリが欲しいとしてもあえて数あるライブラリの中からDXライブラリを選ぶ理由ってあるの?
>>243 .NETならC++/CLIでC++コードも使えるだろ
>>244 日本語の情報が非常に多い
初心者にはこれが何よりもありがたい
3Dの機能不足を感じるなら有料の高性能エンジンを買えば幸せになれると思う
>>244 最新の機能よりも安定性がDXライブラリのウリだろ
安定性?ジョークか?
ベクトルについてお願いします
移動量と角度は分かっているんですが、これを移動ベクトルに変換するにはどういう処理を使えばいいんでしょうか?
>>249 x = cos( 角度(ラジアン) ) * 移動量
y = sin( 角度(ラジアン) ) * 移動量
>>250 ありがとうございます
どうもググっても単位が分からなかったので…
う〜ん、この意識高い系ウザグラマ具合
オープンソースならGitHub移行しちゃったほうがいいよねえ
ビルドによそのライブラリを持ってきてプロジェクトに追加する必要あるけどな
2Dでトライアンドエラーしてやっと思い通りの結果になった計算式が
アフィン変換で出て来て先人すげーって思った
あと出来るだけ調べてから作り始めようと思った
これだけは押さえとけってのがリストであるといいよね
3D系のプログラムで空とかの描写って、みんなどうやってるの?
でっかい球体つくって、内側にテクスチャー張って
全体をとりかこんでるの?
その方法でもいいし、雲のテクスチャ貼ったポリゴン浮かべるなり好きにすればいいのでは
普通は青いグラデテクスチャー使った球体だと思うけど、雲の画像が入ってると空が歪んで見えるからな
かといって雲テクスチャーをダイレクトに浮かせるとPS1ゲーみたいになるよね
ここら辺はシェーダーでなんとかすんのかな
雲がある高度まで飛ぶゲームとかでもない限り
スカイボックスで問題ないと思うけども・・・
あと視点が変わるから歪んで見えるのであって
常にカメラ位置から同じ相対位置に描画してれば
歪んでいるなんて認識されないと思う
手抜きするならキューブマップで
なるほど、ありがとうございます。
あとは自分の動きに合わせて球体を移動させればいいんですね?
なんかDirectXのD3DXCreateTextureFromFileEx関数でARGBが読めなかったのにDXライブラリのLoadGraphで読めるぞ・・・・
すげえなあ山田マジック
まぁDDS以外は展開してから読んでるし
>>263 つーか最後に描画してるから大きく見えるだけでヘルメットの大きさでいいんだぞ
一つ質問があるのですが
DXライブラリ置き場 使い方説明
(
ttp://homepage2.nifty.com/natupaji/DxLib/use/dxuse_vc2013express.html)
のページの、
4.DXライブラリを使用するためのプロジェクトの設定を行う
にある
@ VisualStudio Express 2013 for Windows Desktop のメニューの
『プロジェクト』→『(プロジェクト名) のプロパティ』を選んで、
プロジェクトのプロパティダイアログを開きます。
((プロジェクト名)の部分は、今回は『test』になっている筈です)
A 次にダイアログの左上にある『構成(C)』と
書かれている項目を『アクティブ(Debug)』から『すべての構成』に変更します。
B 次にダイアログの左側のリストから『構成プロパティ』→『全般』を選びます。
このAでダイアログ左上にある構成(C)と書かれている項目が、
「アクティブ(Debug)」ではなくN/Aとなっていて変更ができないのですが、
何が原因なのでしょうか?
自己解決しました…
単にAとBの順番がひっくり返って書かれているだけなんですね
DxLib.hとstdio.hを同時に使うことはできますか?
当然できる。
math.hなんかもおすすめや!
fastmath.hなんてどうよ!
VC++じゃ必要ないんだよなぁ・・・
ははは、欲張りなやつめ
なんだかよくわからないけど、DXライブラリでゲームを作ろうと思ってますよ。
情報も豊富そうですから。
お前がkazukiじゃないなら頑張れ
たまたま名前がkazukiだったら戦々恐々としてるとこだなw
ポナルポさん今度こそ本気出すんですか!せいぜい頑張ってください!
というのは冗談として
DXライブラリはあくまで補助ツールであって、
そもそもC及びC++でゲームを作る難易度はかなり高いぞ 気をつけろよー
(っても、最近はソース公開してる人も多いけど)
Unityみたいな中身もやってくれるフレームワークと違って、あくまで画像の描画と音楽の再生くらいしかやってくれないからな
ゲームの中身は全部自力必須や
むしろUnityってそんな中身も全部やってくれたりするのか。すげぇなw
それであれだけのゲームが作れるのかよw
俺のようなヘボプログラマには想像つかねぇ。
ゲーム固有の部分ではなく
既に存在するフレームワークの劣化コピー的なものを作るのに時間を費やすほど勿体無いことは無い
ま、お勉強には大事だけどな
結局自分でやらないと理解まではいかないことも多いしな
貼ってあったソースを改造したら妙な場所でバグが起きて、
しかもどう解決したらいいか分らないなんてあり得そうだから困る
所々スパゲッティと化した、失笑物のソースになったりもな
Unityはアクションゲーム特化だからな
みんながみんなアクションゲーム作りたいわけでもあるめぇ
特化というか向こうじゃゲームと言えばFPSしかないからな・・・
それ以外のゲームは海外に関心のあるゲーマーくらいしか知らない
RTSやフライトシミュなんて輸入品でしか遊んでないけど
日本なんてTPSのゲームしか無いじゃん
×みんなアクションゲームを作りたい
◯RPGやSLG(SIM)はマジで作るのが大変
いまやフル3D前提のレースゲームよりはある意味楽だけど、
それでも膨大な量のテキストとそれによって生じるバグの山、
複雑を極めるAIアルゴリズムの構築で死ねる
別にDXライブラリをゲーム以外の用途に使っても罰はあたらんわたわけ!
某スマホゲー用のツール(シミュレータ)作ってるけど
普通にDxライブラリ使わずにVCのみでやってたら
全く出来ないから助かってる
言語でゲーム制作どころか、プログラミングのプの字も書けない素人が
WOLFRPGエディターやZG-Editorみたいなゲーム製作ツールを作れるようになるには
何をどうすればいいんでしょうか、何年くらいかかりますか?
やっぱり頑張って金貯めて依頼した方が早い?
つかDXライブラリ使えばUnity並に簡単に作れるぞ
>>292 それは褒めちぎり過ぎ
てか全然カバーする範囲が違う
画像を??フレーム後に表示するってしたい場合どうすりゃいいの?
まずは思ったとおりに書いてみるのがいいかと
思いつくのは変数用意して毎フレームカウントダウン→0になったら実行、ですけど
例えば4フレーム後にはここ、8フレーム後にはここ、みたいになってくるとどうすればいいのかさっぱり
座標とか角度とか指定する引数?っていうの?を保存しておく変数も必要ではないか→
それだと画像100枚、それぞれ1〜100フレーム後の座標だけでも2万の変数が必要だと?→
それだけでもこれだけの数になるのに角度や不透明度や縦横の拡大率とかあるし
5秒後までの動きをあらかじめ指定したいなら300フレーム分必要だし
一体いくつの変数が画像を表示するためだけに必要なのさ!?って感じで
どんな風にすりゃいいのかさっぱりわかんないんです
よく考えてみろ、画像をピンポイントで座標指定して次の瞬間また別の指定座標に表示したい、なんてことは基本的に無い
外部のアニメーションファイルを読み込む場面だったり、アクションゲームの特殊な演出だとか、ユニークな場面だけだ
大抵「この座標まで1秒かけて移動してくれればいいや」とか「0.5秒で現在位置から左に3キャラ分移動させたい」とか、
現在座標と目標座標さえ分かってれば中間は補完出来るものばかりなはず
毎フレーム現在値を斬出する必要があるけど、使用するメモリが少なくて済む分そっちの方が良いってことですか?
「画像を??」って何のことかと思った
パソコンのメモリが8GBだの16GBだの言ってるこのご時世に
整数型変数(4バイト)が100個あろうが200個あろうが誤差にすらならん
なんでスタート地点と速度かゴール地点設定するだけの話にメモリ量の話が出てくるの
俺も、296が何をしたいのか理解できんのだがよく297は解るな。
わざと画像表示を遅延させるのかと思ったが違うよな。
2ちゃん名物、自問自答ですか?
304 :
296:2014/11/18(火) 10:46:30.91 ID:Tnt1S9/2
キャラアニメ劇をやりたいんだろ?
記録ポイントはフレーム主点で考えずに、移動ポイント主点で取れ
(フレーム値、X、Y)のリストでだ
リストの次のデータを参照したら
次のフレーム値までのフレーム数で座標の差を割って、毎フレームごとの座標値を増減させてやれ
実際に毎フレーム描画しなくても、だ
内部で毎フレーム座標計算さえしとけば
いきなり描画処理来ても、描きたい座標がわかるだろ
キャラが止まってようが、動いてようが座標計算処理はいつも同じだ
止まってる時と動いてる時で変える必要は全くない
複数の静止画を使ったアニメを再生するならTexture Packerを使うと管理が楽になるかもしれない
>>307 唯一とか個性的なとか、そういう意味じゃないの?
間違ってるとは思えないけど
プログラマのユニーク→唯一の
一般人のユニーク→個性的な
ダメもとで聴いてみる
今、矩形による当たり判定を勉強しているんだけど
http://d.hatena.ne.jp/ono36/20070718/p1 理解は出来たよ。
ただ、このやり方で通用するのはシューティング等に使える
「自分と相手が当たった」というアバウトな判定だけの話だよね?
マリオがクリボーを踏みつけたり、
忍者くんでいうところの自分が踏みつけられたら気絶する、とか
実装したいときには、その矩形の上側から当たったかどうか、相手の上側に当たったかどうか
わからないとダメだよね?
その処理はどうすればいいのか、バカだからわからないんだ。
教えてください
マリオは当たり判定で上とか下とかないけどな
マリオの位置、敵の位置、そして加速度の方向(上で登っている状態か下へ降りている状態か)
それは置いといて、そういう処理がしたいなら上側と下側の判定を別に作ればいいじゃん
一つのオブジェクトに判定はひとつじゃなくてもいいんだぜ
当たった相手の1フレーム前の位置を取得できれば上から当たったか横からか下からなのか計算できるだろ
過去フレームの位置か差分の移動ベクトルはなにかと使うので動くキャラに持たせると便利
部位破壊や弱点があるオブジェクトは判定をいくつも作る必要があるし、
オブジェクトは単一の判定のみで構成されているという概念は捨てた方がいい 単一の方が作るの楽だけど
まあ、マリオの場合はちょっと特殊な判定になってそうだけど
地上で足元すくわれたら死亡なのに、空中で足元当てたら撃破って単純そうでそうでもなさそう
もしかして、撃破判定が足元から伸びて地中にめり込んでる?
>>311 >マリオの位置、敵の位置、そして加速度の方向(上で登っている状態か下へ降りている状態か)
うん、それも考えたんだ。
でも、それだとプレイヤーがジャンプ中、つまり斜め移動中に
敵もジャンプしていたら、ややこしいことにならないかなあって。
ジャンプ移動中同士でぶつかったらお互いが弾き飛ばされるって処理をしたい場合、
横ジャンプ中だと降下中もX軸の移動量もあるから
「降りてる状態」だけの情報だけじゃ、判断出来ないと思うんだけど
違うかな????
あと、
>一つのオブジェクトに判定はひとつじゃなくてもいいんだぜ
これは、どんな感じになりますか?
疑似言語で構いませんので、ざっと流れを書いてみてほすい、、、、、
>>312 あ、それ、いい!
相手のぶつかる前の座標位置と
ぶつかったときの自分の座標位置を比較すれば
相手が自分に対してどこにいたか判断出来るってことだよね?
マジでそれで解決しそうだけど、、、、ほんと?????
それで進めてみるけど、ほんとにいける??
>>314 マリオだとジャンプ上り中に横からぶつかった場合でも、マリオの足が敵の頭に触れてたら踏んだ判定になる
>ジャンプ移動中同士でぶつかったらお互いが弾き飛ばされるって処理をしたい
マリオにはそういう処理ないけどそういうこともしたいのか?
まずはやりたいことを洗い出して、それからじっくり何が必要か考える作業が必要じゃないかね
>>316 いや、やりたいことは
矩形当たり判定で、相手のどの面に当たったかを認識できるようにする、なんだ。
マリオの話は、例えとして出したゲーム。
>>318 え、四点必要なの??
お互いの矩形の左上の座標だけじゃダメ?
ちなみにこの方法だと超高速で飛んでくる物体(マリオだと走る速度の5倍くらい)には誤爆するからあとはごまかしの技術
>>319 左上の座標+物体のXサイズYサイズの情報があればそれで4点あるのと同じだろ(原点、原点+x、原点+y、原点+x+y)
その数値を使って重なった位置を求めるだけ
余計なおせっかいだが、マリオみたいなゲームなら地上側の下座標を原点として考えるのをおすすめする
>>321 >左上の座標+物体のXサイズYサイズの情報があればそれで4点あるのと同じだろ(原点、原点+x、原点+y、原点+x+y)
あ、そうだった。ごめんごめん
>>320 >あとはごまかしの技術
これも気になる、、というか
>>312の方法はあんまりお薦めしないってこと??
ID:XOzf+VjYは別のお薦め方法があるよってわけではない?
別に無いなら、
>>310の概念図とあなたのくれた画像と
>>312の内容で
進めてみようと思うんだけども。
アクションゲームを作りたいという前提で説明すると、
踏み付けとか体当たりというのは下や横への攻撃だから、
相手のどの面に当たったかじゃなくて、攻撃判定を特定方向に出すと考える。
自分も敵もキャラサイズより小さめのダメージ判定を持たせる。
ジャンプ下降中や体当たり中は、自分のダメージ判定をはみ出す形で、
足の位置や体側面に攻撃判定を作る。
連続書き込み引っかかったわ
>>322 >>312のはあたったオブジェクトが動いてた方向がわかるだけで、あたった面を判定する処理とは別だよ
斜めに動く物体があると高確率で誤判定する
ほぼ縦に動いてる物体同士が真横同士でぶつかった場合でも、
>>312の方法だと縦に衝突したと判定される
俺の解説した方法で判定しきれない高速物体との衝突の時、補助として使うといい
ごまかしが必要というのは初心者向けの判定方法だから。厳密にやるとお前のレベルだと対応しきれない複雑な処理になる
Box2Dとかに丸投げするのはどうだろう
色々と意見が出てから言うのもなんだけど、
ジャンプアクションならアクション特化のエディターで作った方がいいと思う
俺はどうあってもC++でゲーム制作技術を習得するんだ!とか、
既存のエディターではどうしても再現できない独創的な仕様がある!ってんでもない限りはね…
そんなん言ったら全部Unityでいいじゃん
個人的には、今だにこういうライブラリ使ってる人って実行ファイル全て手作りしたいというか、開発工程も楽しみたい人だと思うんだよね
「俺の考えた最高の神ゲー」の方向にベクトルが向いてない作業はやりたくないというかなんというか
エディタの学習コストだってバカには出来ないし、エディタが想定していること以上の事は出来ないしわけだし
うん、エディタは使いたく無いよ
今は、C++でがんばりたい。
ただ、
>>324 >
>>312のはあたったオブジェクトが動いてた方向がわかるだけで、
>あたった面を判定する処理とは別だよ 、斜めに動く物体があると高確率で誤判定する
が気になってね。
俺のやろうとしてることはそんなに面倒なことなんだ?と。
キャラは16×16のサイズで作るんだが、1フレームの移動量もしれてる。
斜め同士で誤判定するかな?
最初にあたる場所って、必ず四面のうちのどこか一面じゃない?
当たった瞬間のキャラの方向計算して
角度範囲を区分けすりゃいいだけだろ
移動量は方向には関係ないから容赦なく誤判定するぞ
もっとハッキリいうと「正しい方法じゃない」
移動量が少しなら尚の事
>>318で済ませるべき
面倒だとか言ってるが、ゲーム制作においてこの程度全然面倒なレベルじゃないぞ
普通にゲーム作ってりゃ、1ループは数千行以上になるからな
ここんとこDXライブラリ関係ない話ばっかでてないか?
332 :
名前は開発中のものです。:2014/11/20(木) 19:36:33.97 ID:jtv/JIIc
自キャラと敵、それぞれに上半分、下半分の矩形を作って、
\敵 上 下
自\
上 跳 潰
下 死 跳
とかやったら良いんじゃね?
もっと単純に、矩形が衝突したら原点を比べて、
敵の原点より自機が上なら「踏み}、同じか下なら「ヤラレ」
くらいの判定でいいんじゃないのかな
マリオだとそれプラス、縦の速度で判定範囲が変わる感じだね
天体の周りを回るロケットのシミュレータっぽいのをDXライブラリで作ろうと思って
ロケットのコックピットから進行方向前方を見た視点を実装したくなったんだけど、
1メートルくらいの至近距離から数万キロの彼方まで描画範囲に含めるのはやっぱり無理?
ワールド座標系の単位をメートルとみなして1メートル〜10万キロまでの範囲を描画範囲にする
(SetCameraNearFarで手前クリップ距離を1、奥クリップ距離を10万×1000にする)と
Zバッファの精度が足りなくなって表示が破綻するし、そうかといって単位を1000キロとみなして
手前クリップ距離を100万分の1、奥クリップ距離を100くらいに設定すると今度は手前クリップ距離が
小さすぎてまたまた表示がおかしくなってしまう
超至近距離から超遠距離までの表示を破綻なく行わせるうまいやり方があれば教えてください
描画を複数回に分けてその描画結果を合成すりゃいいじゃん
>>336 レスサンクス
それって最初はロケットの近くだけを描画するようクリップ距離を設定して
その後遠くの天体だけを描画するようにクリップ距離を変更するってこと?
なにぶんDXライブラリに慣れてないので概念とどういう関数を使えばいいのかだけでも
教えてもらえるとありがたいです・・・
描画可能な画像ハンドルはMakeScreen関数で作成できる
数万キロの彼方を実装するのはともかく、
表示するだけならある程度以降はガワだけにした方がいいというのはある
重いではすまないとんでもない世界がそこにはある…
なおテキトーな尺を設定して数万キロと言い張る事もできる模様
では諸君に聞くがUnityが2d対応の今なぜ使うのかということだ
宇宙にいけば光年単位で異動できるなw
>>338-339 うーん・・・やっぱり厳しいのかな
MakeScreen関数についてはちょっと調べてみます
どのくらい置くのかは知らないけど、
1m〜10万km以内の全てのオブジェクト全部表示ははっきり言って現実的ではないね
自分の近場のオブジェクトだけ表示して、後は背景でごまかしちゃうのが一番いい
物にもよるけど実際に表示したとしても多分見えないし…
これはかなりよく使う手だよ
344 :
名前は開発中のものです。:2014/11/28(金) 11:03:42.37 ID:wmQxOI0f
335読む限り、遠くの天体はやっぱり背景が良いんじゃないかね
労力と計算コストに対して、あんまり目立った変化なさそう
EVEオンラインとかどうやってんだろうな
天体の星も場所によって見え方が違うし、その方角に実際に星もあるし
LoVの応用でいけるか
マリオの話だけど「状態」を考えるといいよ
静止状態 0
歩き 1
ジャンプ上昇中 2
ジャンプ下降中 3
もう少し状態を持つと
しゃがみかどうか 1 か0
右向きか左向きか 1か0
これでマリオの全ての状態を番号で表現出来た
ジャンプ中、2か3の状態のとき、しゃがみ状態なら、壁との当たり判定が小さいから
高いところのすきまに入れるとか
ジャンプ下降中のときしか敵を踏めない。上昇中ならダメージになる
switch文で状態番号で処理を分岐できるでしょ
これでもうまく判断しきれないことがあって
マリオが壁にめり込んだりするんだけどねw
めり込みバグなら本家にもあるししゃーない
>>343 サンクス
オブジェクト自体はロケットを表す球2つに中心の天体、あとはロケットの軌跡を描画するための
線分が合計で2000くらいだから大した数じゃないとは思うけど、ゲームなら背景でごまかしてもいいんだけど
シミュレータだからそれだと辛いんですよね・・・
まあでも仕様上キツそうならどこか妥協するしかないのかな
星の数にもよるけど Z バッファを切ってしまって
Z ソートして遠い順に描画するって手もある
全体用の縮尺されたデータと近距離視界用の細かいデータの2種類を用意すればいいだけだと
思うんだが、それじゃだめなん?
351 :
名前は開発中のものです。:2014/11/28(金) 23:29:34.56 ID:FYuC5tAf
>>340 XPから7に移行したようなありがちなPCじゃ処理落ちするから
>>351 うーん・・超至近距離は諦めた方がよさそうですね
FPS視点なしでTPS視点のみの実装にすれば最小距離は数キロメートルレベルで問題なくなるんで
まずはそっちに絞って作ってみることにします
354 :
名前は開発中のものです。:2014/11/30(日) 12:23:19.96 ID:jtyusrx4
それが、地球と月くらいの範囲ならば細かく出来る。
計算してみてください。
宇宙を扱う別の方法として、
VC++のLongを使う、32bit整数型。
計算をLongを行い、描画だけをfloatに代入して行う。
まず、やってみてください。
地球と月くらいの範囲じゃないから困ってるんだろう
俺は数段階描画するしかないと思うけどな
必要な最小単位が違う以上数度の描画にしないとどうしようもない
>>354-355 サンクス
範囲自体は地球の周りでせいぜい数万キロなので、月までの範囲よりは一桁くらい小さいです
ただ実装したい手前側の最小範囲がそれこそ1メートルレベルなので8桁くらいの範囲にまたがってしまうため
そこが問題になっているようで・・・
数段階描画ってのは例えば2桁のスケールで区切るとして
1:カメラから1000キロ〜10万キロの範囲を描画
2:カメラから10キロ〜1000キロの範囲を描画
3:カメラから100メートル〜10キロの範囲を描画
4:カメラから1メートル〜100メートルの範囲を描画
としてそれを合成するっていう理解でOKですか?
>>357 どうも
単純計算で描画時の負荷が4倍になりそうだけどやってみる価値はありそうですね
ちょっと試してみます
鉄ヲタのお前らに聞きたいんだけど、鉄道模型シミュレーターってあるじゃない?
あれだと遠景の建物がかなり接近してからじゃないと描画されないからリアリティいまいちなんだけど、
もしあんなかんじの一から自作したとしたら
グラボはここ4??5年のなら2-3キロ先の建物もうまく描画されますかね?
360 :
名前は開発中のものです。:2014/12/01(月) 17:08:44.10 ID:f97ALZGw
建物とか風景だと、個々のオブジェクトの作りこみにも拠る
前方3kmの半円の範囲で14km^2内の建物の数とかちょっと気が遠くなる
ゲームだと一定の距離以上のオブジェクトと近景用のオブジェクトを差し替えたりして
計算量を減らす努力する
鉄ヲタは2、3キロ先の建物も見えるの?
鉄オタじゃないけど、少なくとも2〜3km先が何もない空間にはなってないな
間に障害物があるから先が見えないだけで、
2〜3キロ先の建物なら見えないのは目が見えない人くらいだと思う
ためしに高い所から見下ろせばすぐわかる
公式の掲示板見てると中の人は本当によく対応してるよなあ。
なんかもう馬鹿みたいな奴のトンチキ質問にも丁寧にちゃんと答えてて感心するよ。
わからない人の気持ちがわかる人なんだろうな
本人は出来る奴でも、出来ない奴の気持ちがわからない奴は結構いるし
総じてそういう奴らは教えるのが下手だ
教えるのが下手な教師についてしまうと悲惨だから
成績がいいって理由だけで教師を決めないでほしい
名選手が必ず名監督になるわけじゃないんやで
そういうのあるよね。
頭いいからこそ頭悪い人の思考ルーチンがわからず、自分のルーチンを押し付ける。
それも厳密には分かっているとは言いがたいんだがな
なんとなくこうできてしまうのでやっているというのは反射で動くひよっこと一緒
理系を名乗るからにはやはり理論を確立せねば
>わからない人の気持ちがわかる人
単純に、すげー人だなあとおもった
気持ちが分かるってか、どこでけつまづいてるのか分かるというか
それが分かれば後はそれに従って指示を出すだけ
「だけ」っていうけどそれを何年も延々とやってんだぜ・・・
ときどきぶしつけな態度のやつもいるしさ。
凄いと思うよ。
DXライブラリを使った簡易的な画像ビューアを作ろうとしているのですが、
DrawGraphのTransFlagをFALSEにするとPNGのαチャンネルが有効になりません。
かといって、TransFlagをTRUEにすると何かしらの色が透過されてしまい、
どんな画像が読み込まれるかわからない以上使うわけにはいきません。
αは使うけれど透過色は使わない方法をどなたか伝授してくださりませんでしょうか
単なる画像ビューアならファイル内で指定された色を透過するだけじゃろ
>>372 LoadGraphの前にSetUseTransColor(FALSE);実行すればおk
マップの配列を外部読み込みにしたいのですが
2次元配列がどうしてもうまく読み込めません
FileRead_getsを使用するのは間違いでしょうか?
>>375 データを入れる配列は二次元配列である必要はない
1次元配列を作って
y座標*横幅 + x座標
でアクセスすれば良かろう
二次元配列も内部では一次元配列なので
FileRead_read((char*)&data[0],sizeof(char)*x*y,hn);(←適当)
こんな感じでまとめて読めるのでは
FileRead_getcでも
for (int y=0...) {
for (int x=0...) {
data[x][y]=FileRead_getc(hn);
}
}
でいけるんじゃないかな
>>377 >二次元配列も内部では一次元配列なので
newで動的に確保するとそれは無理。
>>376 すみません、よくわかりません
それでなぜアクセスできるのでしょうか
>>379 [00][01][02][03][04]
[05][06][07][08][09]
[10][11][12][13][14]
↑これは1次元配列を横幅5で並べたものだが
Y=1 で X=2 はどこかって言うと、 Y * 5 + X で [07] だとわかる。
もちろん左上の座標は(0,0)ね。
cairoで描いたグラフィックをcubeのテクスチャに貼りたいのですが3Dになるとcairoが描画してくれません。
どなたか詳しい方いませんか?
DirectX11を学ぶのはDXライブラリを学ぶ何倍ぐらい難しいですか
DXライブラリって学ぶことあったっけ。
全部やってくれるでしょ。
ゼロ除算が発生しそうな会話だ…
ゼロ女産
しかしホントこれいいな
まさかVBでこんなお手軽にDirect3Dアプリが作れるとは思わなかった
VC++&生DirectXでやろうとしたらまず間違いなく挫折してたわ・・・
マイクロソフトもDXライブラリみたいなサブセットくらい用意すりゃいいのにと思うよな。
ゲーム作りたい人なんかほとんどこういうので事足りるんだから。
実際はテンプレートな設定を肩代わりしてほとんどラッパーだとしてもその作業、本当にめんどくさいからな。
しかもゲーム作りとほとんど関係ないし。
DorectXTKとかあるけど
DirectXTKはデバイスの初期化を簡単にできるインターフェースがあればいいのに
その昔、XNAというものがあってのう…
ブラウザー戦争みたいにMS製のUnityのパチモンは見たいな
MSといえばパチモンで稼いだ企業だからなw
DXUTもCodePlexにあるで
MSみたいなプラットフォーマーがXNAみたいなの作るとどうしても自社プラットフォーム専用になるから難しいところ
そのイイトコどりを有志がやる、と
質問させてください。
AddFontResourceExを使ってフォントを読み込んだ場合
RemoveFontResourceExで削除する、というのは理解できるのですが
Microsoftのリファレンスによると
FR_PRIVATEであれば
プロセスが終了すると、システムは、そのプロセスが AddFontResourceEx 関数を使って
インストールしたすべてのフォントを削除します。
と書かれているのですが、
その下の解説には
アプリケーションが、AddFontResourceEx 関数を呼び出してロードしたフォントリソースを必要としなくなった場合は、
RemoveFontResourceEx 関数を呼び出してリソースを削除してください。
と書かれています。
これは、アプリケーションの起動中にフォントが必要なくなったらRemoveFontResourceExで削除してね、
あとはアプリケーションの終了と同時に削除するよ
という解釈でいいのでしょうか?
お願いします。
Microsoft リファレンス :
http://msdn.microsoft.com/ja-jp/library/cc428288.aspx
なんでMSDNにはっきりくっきり条件が書いてあるのに勝手な解釈してるの?
MSDNに書いてあることがすべて。勝手に推測する必要はない
ロードされたフォントはプログラムが終わったら自動的に削除しとくけど
使い終わった後すぐ削除したかったらこの関数使ってご自由にどうぞ〜
やっと理解することができました。
ありがとうございます。
サイトで使い方を調べていたら
必ずと言っていいほどRemoveFontResourceExが書かれていたり
ロードしたフォントはRemoveFontResourceExを使わないと
残ったままになると書いている人もいたので混乱してしまいました。
フォントはふぉんとうに容量がバカにならないからね ナンチテ
山田君、座布団全部もってって
質問です。
DXライブラリで3Dのアクションゲームを作っています。
キャラクターメイキングを実装しようと思うのですが、どのように実装すべきでしょうか。
Skyrimやデザインドールのようなパラメーターで変形は行わず、
いくつかある素体とそれに付け足す服や小物を選択していくようなものにしたいと思っています。
DXライブラリではモデルごとに物理演算を行っているようなので
別モデルをダミーボーンにつける方式だとスカートなどの貫通が起こってしまい、
剛体のアタリ判定を切れないので同モデル別フレームにアクセサリを配置して
表示非表示を切り替えるという方式では選択していないアクセサリのアタリ判定にぶつかってしまいます。
新しい方向性でも打開策でもいいのでアドバイスを頂けたら幸いです。
自己解決しました。
アクセサリ側に素体と同じ剛体を埋め込むことで解決できそうです。
アクセサリ同士の貫通はしょうがないですね。諦めます。たぶん。
質問です。
衝突後の位置と回転なんかの物理演算は自前でやるのかと思ってたのですが、
MV1PhysicsCalculation は何に使うのですか
>>405基本的にDXライブラリで物理演算っていったらMMDモデルの物理演算のことになると思います。
モデルごとの演算のようなので移動、衝突時の判定は自前か物理エンジンライブラリの力になるのではないでしょうか。
なるほど。MMDを知りませんでした。ありがとうございます。
使ってないグラフィックハンドルは早めにDeleteGraph( int GrHandle ) ;でメモリから削除した方がいいよね
指定のグラフィックハンドルを使ってるか使ってないかチェックする仕組みってどんな風に作ればいいんだろ?
1分に1回くらいのペースで消し損ねをチェックする仕組みを作りたいんだけどアドバイス下さい
1分に一回は効率悪い
普通はシーンごとに生成するはずだから、シーンが終了したときにチェックすればいい
あと、複数のシーンで使いまわすものはリストに登録しておいて、使ったら先頭に持ってくると
使用頻度が少ないものは後のほうになるので、決めた個数オーバーしたのは適当に削除する
でもね、今の時代は富豪的プログラムしていいのよ?
あと、お手軽なのはハンドルを参照カウンタで保持するの
ハンドルは使いまわすだろうから、どれからも参照されなくなった時点で勝手に解放される
でも、たとえば一か所からしか参照されなくて、さらにわりと頻繁にロードされるような画像の場合は効率が下がるので
シーンの最初で、ハンドルをつかんで離さないオブジェクトとか作ると回避可能
ほう、なるほどね(参照カウンタってなんだよ…教えてグーグル先生…)
グーグル先生「このエロ画像でも見て休め・・・」
通信関数使ってゲームをつくろうとしてるのですがチャットやゲームの情報などをのデータの受け渡し
をする際どのようにすれば区別するようにできるのでしょうか
プロトコルを作る
そしてヘッダに情報載せればいいかと
>>412 お前そんなものばっかり見てるんだろ、ハゲだし
|
| 彡⌒ミ
\ (´・ω・`)また髪の話してる
(| |)::::
(γ /:::::::
し \:::
\
よっぽどVRAMを消費するようなゲームでない限り、起動時に一括で読み込んでそのままの方がいい
無駄なロード・開放を減らすためのメモリ容量だ
それもある意味富豪的 まあ、使用容量にもよるけど
そう考えると今は本当に余裕ができるようになったよな
今はVRAM256MBはあるのが普通で、512*512の画像1枚で1MBだから、100枚や200枚は読み込んでおいても問題ない
読み込みや解放が手間だからって、
果たしてゲーム中一度でも使うかどうかすら分からない画像をあらかじめ読み込み
結局使わずに遊ばせておくってのは個人的にはもやっとする
まあ、ギガビットのメモリがある時代に一桁メガビットのメモリ領域なんてのは、
反対側が遠くにかすむほどでかい倉庫の片隅にそっと積まれた荷物のようなものだけど
一応、メガビットメモリPCでブラウザ開いてゲームやる奴くらいは
想定しておいた方がいいのだろうか?
実装されているVRAMがあるからって実際にGPUカード上に乗るかは別だし
OSの描画にすら使われてるんだし無駄遣いは避けたいな
DirectX9の場合デバイスロストも繁盛に起きるしそのたびに作り直しが発生してるし
フルスクリーンでalt+tab
セキュリティソフト起動
スクリーンセーバー起動etc...
どれもゲーム起動中に結構な確率で起こり得る現象だから困る
DXライブラリはDirectX9を使っているから、これにも対応しなきゃいかんのか…
フルスクリーンでalt+tab
セキュリティソフト起動
スクリーンセーバー起動etc...
どれもゲーム起動中に結構な確率で起こり得る現象だから困る
DXライブラリはDirectX9を使っているから、これにも対応しなきゃいかんのか…
リカバリしてくれる関数があったろ?たしか
DXライブラリはデフォルトである程度は自動で復旧してくれるぞ
まぁMakeGraphとかで作った画像は作り直さなきゃいけないけど
>>423 ゲーム側でそれらは潰しておくのが無難だな
もう修正されたけど今現在の最新版はデバイスロスト復旧時にバグが起こるんだよな
もうXP以前のサポート切れてるわけだし、DirectX9Exベースになっちゃえば良いのに、とは思う
でも9Exベースにするのと、もう一手間(一手間で済むか?)かけて10か11対応にするのと
どっちが良いんだろう・・・
MSもやる気ないしDirectXは9.1まででいいよ
>>426 ゲーム本体で制御している訳ではない動作や、
他のソフトの挙動をどうやって抑えれバインダー
いくら無難ってもそれを実装する方が難しそうだ
>>428 X10やX11に対応する気があったらもうとっくにやってると思う…そのくらい手間がかかりそう
まあ、「実はDXライブラリの使い勝手はそのままに、DirectX11に対応したDXライブラリX11を作ってみました!」
って可能性はない訳ではないけど
>>428 9Exが動く環境なら9Exで動作しなかったか?
大きなアップデート控えてるんだっけ
433 :
名前は開発中のものです。:2015/01/10(土) 11:04:22.24 ID:k9lYd7J6
>>428 DXライブラリのソース見れば分かるけどdirectX11に対応始めてる
ぼくちんDirectX9と11の違いがわからない
シェーダの機能が増えるだけ?
DirectX11SDKでDirectX9のハードウェアをターゲットにしたアプリは
開発出来るからOS的な縛りがないんなら移行すべき
俺もDirectXは9対応まででいいように思うなあ
DXライブラリをインクルードしてもPI(円周率)が使えないんだけど
これって自分で#defineしないとダメなの?
11になるとxpは切り捨てになるぞ
はたしてテッセレーションとか
シェーダ関連やりたい人がどれほどいるのか
3つぐらい定義されたテッセレート関係のシェーダー
もう馬鹿かとアホかと
よーしパパ、ポリゴン分割しちゃうぞーとか思ってるのかね
忌々しいデバイスロストがなくなるだけでも
十分価値があるように思える
GPUリセットとかイレギュラーな事が起きた場合ダメだけど
数学関連の関数は大抵mathに入ってるよ
CやC++の関数辞典でも見て好きな物を持っていくといい
PIはDX_PIとかDX_PI_Fじゃだめなんか?
445 :
名前は開発中のものです。:2015/01/11(日) 23:16:31.26 ID:dXkX7Ek3
いまや画像データは暗号化してソフト側で復号が当たり前だからな
必然的に例の関数を多用することになってデバイスロスト時に問題が起きる
ちゃんと対応できる関数が用意されているからいいけど、
やっぱり起こらないに越したことはないなぁ
DXライブラリって暗号化して読み込んでもデバイスロスト時は自動で復旧してくれるんだよな
ただしメモリは普通に読み込むより掛るからやっぱり自作復元使うんだけどね
デバイス消失なんて滅多に起きないと思うけどみんな用心してんだな
ロストしたかどうか監視するだけならDirectxの関数でも簡単にできるし念のために書いておくか
すぐ調子が悪くなるけど安くてよく売れるジョイスティックのユーザが
>>449 を襲う…っ
DX使う分にはほとんど影響なさそうなんで
11に対応出来るんならして欲しいな
流石にもうXPは考えなくてもいいと思うsteamとかでも
もう3%とかそんなもんだし
インターネットに接続しないWindowsXpが多い。
どうやってゲームを手に入れるんだ?
ネットサーフィン用のPCだろ
俺も7ノーパソオンライン XPデスクトップオフラインだし
流石に
>>454みたいなのは全力で放置していいような気がしてきたw
>>453 CD-ROMとかDVD-ROMとか
そういや、Blu-rayは聞かないな
別にまだXP動かしてること自体は何も悪くないと思うけど
とっくにサポートが切れている古いOSであるという自覚を持って使って欲しいかなー・・・
俺がDirextX9使ってるのはxpに対応するためではない
単にマトモな日本語資料が無さそうだからだ
11の日本語リファレンスもあるけど
使用感とかどこにどんな癖やバグがあるのかってユーザー間の情報が少ないよね
こういうのを「枯れてない」って言うんだっけ?
>>455>>457 旧型でないと動かないゲームがあるから持つってのもいるにはいる
もちろん、そういう人達の事も考えなくてよい
このスレは生で使う人のスレでないので
大変なのは中の人かな
>>459 単に誰も使ってないんだと思う
11使うならいっそソフトウェアレンダラーを自分で作った方が・・・
だからこのスレのネタじゃねぇだろう
勝手に自作してろよw
DXライブラリのフレームとメタセコのレイヤーとMMDのボーンの関係を教えてくださいな
いまこんなツールがあるんだ
三年ほどゲーム作りから離れてたら
467 :
名前は開発中のものです。:2015/01/16(金) 22:01:42.06 ID:r/orV/32
MMDモデルのボーンとかフレームの名前は付属のモデルビューワーで確認できたような?
いったん描画した画面の画像をピクセル単位で編集したいのですが、
SaveDrawScreen 以外でできる方法ってありますか?
ピクセル単位で編集してまた画面に描画するのか、それともファイルに保存するだけかで方法が変わると思うんだけど、どちら?
471 :
468:2015/01/17(土) 21:10:58.01 ID:j+s0LTMz
ユーザーが使ってる font をポリゴン化出来ないかなと。画面の bmp をハイトマップとして使うとか。
つまり画面に描画する必要は無いんだね
ならMakeXRGB8ColorSoftImageで作成したソフト画像にGetDrawScreenSoftImageで描画結果を取り込んで
GetPixelSoftImageで1ピクセル毎でアクセスすればいいんじゃないかと
なるほど!まさにそれです。ありがとうございます。
もっとリファレンスしっかり見ないといけませんね。助かりました。
>>465 いや2001年から今もなお更新され続けてる、むしろ古くさいツールなんだが
475 :
名前は開発中のものです。:2015/01/18(日) 09:00:19.46 ID:KhZUPy30
これずっと使ってて、ちょっとDirectXについて興味湧いてきたんだけど
これソース覗けばDirectX9の基本が分かったりというか、
わかりやすかったりする?
はい
477 :
名前は開発中のものです。:2015/01/18(日) 16:10:34.50 ID:StaVlKBS
いいえ
どちらとも言えない
実装の参考にはなるだろうけど
基本は本なりWebなりで学んだ方がわかりやすいと思う
まずはSDK入れてサンプルからだなあ
>>417 試しに使う予定の画像の合計面積を出してみたんだが
この面積×4÷1000000で使用するVRAMがおよそ何MBかわかるんだよな?
思いのほか小さかったから起動時に全ロードするやり方で行こうかな
DXライブラリのグラフィックってグラフィックボードのVRAMにロードしてるの?システム
メモリじゃなくて。
>>481 その計算式でおk
16bitで読み込む場合はサイズは半分になる
>>482 基本VRAM
しかし設定関数で切り替えることも可能だったはず
多関節キャラの作り方教えてください
ぶっちゃけ、unity使いたくなってきた
使っちゃえよ・・・
VRAMじゃなくてメインメモリにテクスチャを置く意味ってあるか?
VRAMだけじゃ足りないって言うのならまずメモリ不足を起こすその設計を見直す事をお勧めする
うにその他のゲームエンジンで作れる物を、
わざわざCとDXライブラリで作るのはあまり意味がない
どうやってもできないからというくらいの理由でもなければゲームエンジンマジオススメ
>>487 あなたの言うゲームエンジンとは、具体的に何を示す?
>>489 このリスト更新されてんのか?
Wikiのシステム自体も古臭いし
エロゲー作るのに最適なゲームエンジンを教えてください
アリスソフトやエスクードみたいなゲームを作りたい
まずはアリスソフトに入社しましょう
おわり
吉里吉里
>>491 アリスソフトのエンジンはフリー公開されてた
今もされてるかは知らないけど探せば見つかるんじゃね
>>490 ここに書かれているようなのをググって見つければよろし
っつーか、リスト内で現役のエンジンもいくつかある
496 :
名前は開発中のものです。:2015/01/24(土) 23:33:42.45 ID:aDlfnXLN
DXライブラリで作られたアドベンチャーゲームて
見たことありますか?
知ってましたら教えてくれると助かります。
シェアゲームでもフリーゲームでも構いません。
ノベルゲー、では無く
アドベンチャーゲームです。
見たこと無いので。
>>496 Wolf RPGエディターはDXライブラリ使ってるから、
そのエディター製のゲーム全て当てはまるよ
それはなんか違くね?
アドベンチャーゲームの作り方を知らないのなら、
C言語でアドベンチャーゲームをつくることができない。
「ツクール」、「ゲームエンジン」が魔法の杖では無い、
アドベンチャーゲームの動作原理と それを実行する方法を学ぶべきです。
http://www.atariarchives.org/adventure/ Creating Adventure Games On Your Computer
ここにアドベンチャーゲームの作り方が書いてある。
ま、ライブラリやフレームワークのレイヤーが違うからね
アドベンチャーゲームを作りたいならアドベンチャーゲームブックを遊んでみるといい
なぜならアドベンチャーゲームの元ネタがアドベンチャーゲームブックだから
そして、それをどうやったらコンピューターゲーム化出来るか考えればいい
コンピュータのアドベンチャーゲームとゲームブックを検索してみたが、
コンピュータのアドベンチャーゲームの方が古いみたいだぞ?
そういやゲームブックの紹介はパソコン雑誌からのものが多かったしなあ。
ボードのシミュレーションゲームやテーブルトークRPGの初期はPC使わないものが先だったけど
アドベンチャーものは比較的新しいし、PCのゲームが元ネタのものが多いな。
PCが普及する前で、まだ持って無い層向けだったのかも。
吉里吉里使えばいいのに
スクリプトエンジンっぽいものは何年か前に作ったことあるけど
それで満足してゲームには全く手を付けずに終わったという
昔、首をハネられるハメになった男が
打首を命じた男に向かって、恨みで末代まで祟ってやると吠えたのに対して
そんなことが出来るなら、首をハネられた後に目の前の石にかじりついてみせてくれと言った
そしてハネられた首はなんと石にかじりついてみせた
周囲の者は恐れ慄いたが
男は、
こいつは目の前の石にかじりつこうとすることに夢中になり
末代まで祟るという怨念を抱くこと無く死んだだけだ、と言って周囲を収めた
( ;∀;) イイハナシダナー
int GHandle で宣言した変数に画像データを叩き込んで、
DrawGraphで表示するところまではうまくいくんだけど、
その後裏画面でDeleteGraphを使って解放したはずなのに
それを表画面にScreenFlipで表画面に反映しても表示済みの画像が消えない
これって、この画像だけ消すことはできないんだろうか
明確に避けたい理由が無い限り、裏画面への描画は毎フレームやるもんっすよ。
なので、ifなり何なりで描画をしないようにするだけで消える。
根本的に勘違いしてた
メモリから消すだけじゃダメで、全部消して書きたい物だけで書き直さないと…
画像スタンプを作る
スタンプを紙の裏面に押す
紙をひっくり返す
途中でスタンプ捨てても変わらん
アリスソフトのエンジン使ったゲームがSteamにリリースされてて
驚いた
世の中にはブラウザで動かそうとしてる人とかもいるんだな
すげぇわ
514 :
名前は開発中のものです。:2015/02/05(木) 00:21:32.38 ID:AX0X0DjT
BASEIMAGEの構造がわからん
3Dライブラリを作った人がいるな
クォータニオンが使えるんだって ありがたい話だ
517 :
名前は開発中のものです。:2015/02/07(土) 20:03:29.57 ID:KFYTQmKw
SetAlwaysRunFlag(TRUE)としてもタイトルバーをつかんでウィンドウを動かすと処理が止まるのを回避したいのだがどうすればよいか教えてください
マルチスレッド
タイトルバーを消すという方法もあるぞ(冗談だが
>>519kwsk
ウィンドウプログラミングはやったことがないのでソースごとあげてくださると助かります
マルチスレッド処理を使ってでも止めたくない処理がなんなのかは開発者の君しか知らない
そもそも自分で調べようとしない、考えようとしない奴に
マルチスレッドなんて100万年早い
マルチスレッドって何となにわけんの?
更新と描画かとおもってたらなんか違うらしいし
ロード画面を動かすぐらい
アクションなどでメイン処理と並行してテロップなどを画面に表示する事もできる
>>518です
なんか押され気味なので口調変わります。
で、作っているのはただのアクションゲームです。
FPSに合わせて移動速度を変えて毎秒あたりの移動速度をそろえようとしたところ、
フレーム移動などで更新が止まると次のフレームでの移動量が半端ないことになり、貫通してしまう状態となっています。
その他にも更新を止めるわけにはいかない理由は多々ありますが、叩かれそうなので伏せておきます。
なので分けたい処理はしいて言えばウインドウ制御とその他全部となるでしょうか。
どう実装したらいいのでしょうか。移動処理を別スレッドでループさせるだけではダメな気がしますし。。。
主従が逆というか何というか。
普通、内部処理の結果を元に映像を出力するのであって
映像出力を元に内部処理を行う(変更する)わけではないんじゃね?
フレームレートの制御は、
主に 演算処理と描画になる。
演算処理は常に実行させる、描画処理はfpsが低い時は間引きになるかもしれない。
ここで、演算処理を間引いてはいけない。
530 :
>>518:2015/02/11(水) 00:30:08.21 ID:e2FrKk2r
>>528 DXライブラリで処理が止まるのはScreenFlipのところという認識でよろしいのでしょうか
だとすれば毎フレームやってる描画を別スレッドに分ければ止まらずに動くはずでしょうが。。。
表画面以外のスクリーンに対する描画でも処理は止まってしまうのでしょうか。。
もっと実験が必要そうです。
ウィンドウモードで画面の位置を動かせないソフトは困るだろ…
本気でジョークをすすめようとするなよ
処理を止めてるのはProcessMessageだと思う
そもそも経過時間が長くなったら貫通するという動作自体が論外だから、そっちを何とかするべき
1,一定距離以上は移動しないようにする
2,一定以上の経過時間は無視する
3,一定距離移動ごとに判定を挟んでおく
適当に思いついただけでもこんだけの対処法があるじゃないか、どれかやってみろよ、そっちのがはやい
他の理由?伏せてるってことは無視していいほどくだらんことだよな
貫通するってことは壁に引っ付いて少しラグったら貫通しそうなんだが大丈夫か
>>526 あれ?なんか描画は同一のスレッドじゃないとダメとかなかったっけ?
Androidだけか
よくわからんが前フレームから0.016秒以上立ってたら0.016秒で計算されるよう正規化すればいいんじゃね?
ウインドウドラッグ中に描画する方法はないこともないけど、、、やらんほうがいいような
つーか、むしろ俺はドラッグ中内部処理を止めてるんだが
その辺り、どっちがいいかはゲームごとに変えればいいんじゃないかな
板違いだが、ゲーム以外のソフトを作ってる人も居るらしいしね
複数プレイヤーでオンラインやるとなるとドラッグで処理止まると困るよなぁ
面倒そうだ
ドラッグ中にゲームの動作が止まるのは
Windowsのメッセージループがドラッグ中のメッセージを処理している間
ゲーム側の処理を実行しないからだ
実時間を使ったリアルタイムな処理を扱う場合は困るだろうな
メッセージループとは別のスレッドでゲームループを作ればそれを回避できるが
DXライブラリはそういった処理に対応できるかな?
俺の記憶ではドラッグ中描画が止まってても内部では動いてはずなんだが・・・・
じゃないと過去にわざわざ内部処理止める部分を書くはずがない。
Windowドラッグイベント処理 + 1フレーム分ゲーム処理→
Windowドラッグイベント処理 + 1フレーム分ゲーム処理→…
という感じで1ループごとに溜まったWindowsイベント処理も入るから、
それが1フレームの処理時間の足を引っ張って結果的にカクカクなるってことで
ゲーム処理が完全に止まってるわけではないね
ProcessMessage()を 1秒に60回呼んでくれって書いてあるから
止まるのは dxlibのせいではない
545 :
>>518:2015/02/11(水) 23:56:27.32 ID:e2FrKk2r
>>540わぉ、読まれてる
伏せてた別の理由ってのはこれなんですが、マルチスレッドが100万年早いといわれるようではオンラインは1000万年早いとか言われそうだったので伏せてました
オンライン化する上でプレイヤーの移動処理に正確な同期がをとるため、またUDPでのタイムアウトが起きないようにするために処理を止めないのは必須でした
移動処理は軌道を判定すれば何とかなりそうですがオンライン化の方はそうもいかずってわけです
フレームの行列を取得してビュー行列にすることでMMDのボーン追従カメラみたいなことがしたかったのですが、
いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。
SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
フレームの行列を取得してビュー行列にすることでMMDのボーン追従カメラみたいなことがしたかったのですが、
いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。
SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
フレームの行列を取得してビュー行列にすることでMMDのボーン追従カメラみたいなことがしたかったのですが、
いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。
SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
フレームの行列を取得してビュー行列にすることでMMDのボーン追従カメラみたいなことがしたかったのですが、
いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。
SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
すみません、専ブラの調子がおかしくて多重投稿してしまいました
お赦しください
>>546逆行列で解決しました。
Z軸マイナスに向けるためには180度回す必要がありましたが
オンラインだからって常に信号の送受信が滞りなく行われるという
前提でプログラムを組むのは危険なのでは?
ドラッグで画面掴んだらプログラム停止みたいな意図して起こせるものはもちろん、
信号が送れなくなる・受け取れなくなる理由なんて掘ればいくらでも出てくるし
信号が切れた時間で単に何も入力がなかった扱いにするか切断するか決めちゃえば?
なにやっても絶対切れないプログラムの組み方考えるよりずっと早くて現実的
ドラッグ等で処理が止まった場合そのプレイヤーは無操作と同じ状態になっていて、対戦ゲームならおそらく止まっている間に他のプレイヤーにボコボコにされている
ドラッグを止めて処理が再開したタイミングで他の生きているコンピュータの状況を頼りに状態を更新、そこでボコボコにされているであろう自分が映る
……というのが理想なんかな
全プレイヤーが一斉にドラッグした場合?ハハッワロス
鯖無いと無理だこれ
大量に発生するドラッグ中のウィンドウメッセージの処理中でも定期的な描画と入力を出来るようにするだけだろ
通信入れるならそれこそマルチスレッドでメッセージプロシャージャの影響受けないような仕組みのが綺麗に書けるけど
>>553 鯖作っちゃおうず
どうせデータの管理は鯖側でしないとろくなことにならんし
っても敷居やっぱり高いよなぁ、鯖
送受信が止まっている間にクライアント側で行われた入力を、
送信が再開された瞬間に反映すると、
あの悪名高いワープが起こる っつーか、意図して起こせる
なので、クライアント側で入力があってもそれが送信されて反映されなかった場合、
送受信が再開されたらそれまでの入力が反映されていない事を示すデータを送る
(最後に更新された位置で無入力だった扱いにする)のが無難な作り方
当然、対象は元の位置でボコボコにされることになるが…
オンラインでベストな同期の仕方って何なんだろう
遅延が1フレームに収まるなら簡単だけどWANだとそうもいかないし
最も長い遅延に合わせて操作を遅らせるのも体感できるレベルになると不満が出るし
移動先を推測するのは丁寧にバグをつぶさないと貫通したりする
PvPとかを鯖なしでできるようになるのはいつになるんだろう
関西CEDECっていう特別版だなそれは。
鯖なしでもどれかをマスターにしてその中でゲーム本体を動かすっしょ
それをサーバに持ってくほうがやりやすいけど
ラグがないように見せかけるのはそれぞれ個別に対応する、結構姑息な手も使う
鯖蔵型のほうが簡単な気がするんだが
ひょっとして俺が思ってる以上にp2pのほうが処理の記述楽なのか
モンハンなんかはサーバーはないけど、だれかひとりがホストになってる
コンシューマみたいなほぼ間違いなくみんな同じ環境でやってる物なら、
誰か一人をホストにしても問題はないだろうけど、
はたして千差万別なPCのどれか一台をホストにするという実装は大丈夫なのだろうか?
まあ、営利でやってる訳じゃないので鯖管理にする必要もないけど
MOとMMOはちゃうんやで
少人数限定のMOなら誰かをホストにするのが普通
せいぜいロビーくらいよね
アクションゲームを作らなければいい
#defineに日本語が使えると気づいて鼻血が出そう
これ使えば可読性の高いコードになるわ
>>566 言わんとする事は分かるが・・・お勧めしない。
やってる内に面倒になってくると思う。
と言うか、今どきはマクロ識別子は大文字だけで書いて区別ってしないの?
defineだけじゃなく
今のコンパイラは変数名とか関数名も
日本語使えるよね
>>568 そうなの?
SetDrawBlendMode(DX_BLENDMODE_ADD,255);とか
SetDrawBlendMode(DX_BLENDMODE_INVSRC,255);とか書いてあるより
#define 加算 DX_BLENDMODE_ADD
#define ネガポジ DX_BLENDMODE_INVSRCとしておいて
SetDrawBlendMode(加算,255);
SetDrawBlendMode(ネガポジ,255);みたいに書いてある方が見た時にわかりやすくない?
せめて関数ごとやれよ、そして日本語関数名でも良いわけだ
あとdefineは単純置き換えで名前空間が関係ないから使い辛い
少なくともVC2010は日本語使えんな defineなら使える
もしかしてUnicodeにすれば使えたりするのか?
FFのエフェクト凄いよな
アホみたいに加算合成してる白いだけのエフェクトと違って
暗い色とか綺麗にでてるしどうやってんの?
αによって加算率とか変えてんのかな
>>573 スクリーンをお勧めする
要するに反転して乗算して反転する処理
真っ白でも合成しない限り白飛びしない
>>573 二重三重に異なる表示処理を加えてるんでね?
最初に半透明表示で半透明を、最後に加算表示で光沢をとか
>>570 いやまあ、私自身通り過ぎた道なので全否定はしないから。
コード共有する仲間から責められでもしない限り。
でもコード書く時とコメントで日本語書く時って思考が違うから、少しスイッチ
しないとイカンから自然と辞めたのだけど・・・俺だけ?
それなら半角大文字で辞書使って英語の語彙広げた方が後々に良いので、
今はそうしています。
コンパイラがSJIS全角でエラーになる時代でもないしね、まずは気が済むまでやってみて。
まぁ書いてるうちに慣れてきて結局日本語とかめんどくさくなるってだけだな
半年後の自分が日本語で#defineされまくったソースなんか見たら、
多分布団を頭からかぶってバタバタすると思う
それに、CプリプロセッサはあくまでCの規格だから
C++で書くならあんまりむやみに使わない方が…
ふーん、やっぱり経験を積むとこういうのはダメだって思うようになるんだなあ
こういうやり方推奨してる解説サイトとか皆無だもんね
今の自分にはこれが便利に見えてしょうがないんだけど、経験積んでスキルが上がって行けば俺もそうなれるのかな?
早くそんなレベルまで上がりたいけど、半年でいける気がしないwがんばるw
ピンポイントで上手く使えば可読性向上に繋がる予感はするんだけどねぇ
その辺を考察した記事とか無いのかしら
あったとしても支持してるのは素人が書いた記事だけだと思うよ
人に見せて恥ずかしいコードは質問するときに何かと不便だよ
だからたとえ一人で開発してても見せられるコードにしておこう
そのうえで日本語識別子は移植性に難があるから受け入れられない
というか英語使えない低学歴とみられて終わり
就職とかしたいならせめてローマ字にしとこう
誰かに見せることもないけど英語でも可読性変わらない気がするけど
キーボードで日本語と英語切り替えるのが煩わしいし、日本語は日本国圏内に絞られるのでお勧めしない。
多少長くても日本で一般的じゃない英単語でも意味が伝わる変数名にするよな
length(長さ)とかangle(角度)でもnagasaとかkakudoが見受けられるのに、
果たしてこれ以上一般的でない英単語が理解されるかどうか
俺は使うけどね!
エキサイト翻訳さんには割とお世話になっている
ローマ字でやたら長いのって一昔前の情報の教科書みたい
いや今のはどうなのか知らんが行番号付きのBASICなんて使わないよね?
辞書引きながら長い専門用語とか無駄な省略表記するぐらいなら
コーディングの思考停止されるよりは日本語そのままのが良いわ
あとで気に入らないとかエディタで置換するだけだし
命名にしてもAngleとかLengthなんてのは型の方に情報として入れちゃうな
思考停止の意味を間違ってるあたり、頭弱い系だってのがわかる
この盛り上がりっぷりからすると、この道通った奴って思ったより多そう
日本語でdefineした変数もどきを入力するために
ローマ字入力と英数入力をポチポチ切り替えながら書いてるのを想像しただけで、
真面目な場面ですら失笑を禁じえないくらい滑稽な絵面だな
これで計算が意図した順序で行われずバグってるのなんか見たら5分は笑うぞ
>>590 俺もガチの初心者の頃は「小文字って直感的じゃないから変数は全部大文字に」みたいな馬鹿なことやってたなw
1日でサクっと組んじゃうお遊びプログラムなら日本語使ったりもするが、まともなゲーム開発なんかじゃやらないな
何度も使う数値ほど入力しやすい方がいい
変数名ルールを皆は知らないんだな
先生!知らないから教えて!
俺がコーディング規約だ
変数は1文字で。
足りなくなったら2文字。
機械語直打ちすれば何も気にすることはない
申し訳ないがバイナリはNG
バイナリは中間言語
真の機械語(0と1)は多分打っているうちに頭がおかしくなる
バイナリ(binary)自体が「0と1」って意味なんだけど
ばいなりなりよ
質問!変数Aのビット8をOFFにしたいけど、ONかOFFかは分かってない場合
こう書けばいいと判断したんですが、合ってますか?
A &= ~8
そこまでわかるなら
テストコードなりデバッガなりで自分で検証しる
だんだんDXライブラリから離れとるぞ
命名規則スレとかないのかよ
んで質問だがDXライブラリでGameTickの概念はどう実装すればいいの?
1.メインスレッドで描画処理をして移動を別スレッドに追い出せばいいの?
2.たぶんそれだといくらFPSが高くてもガックガクの表示になるはずだけどその辺の補完は?
3.そもそもDXライブラリの関数は別スレッドでは動かせないとかいう噂もあるわけだがその辺は?
1は感覚的にはあってそう
2はどうにかなる
3は。。。うん。まあね
世間のゲームではできてるから無理なことははないはずだがDXライブラリでできるのか。
http://minecraft-ja.gamepedia.com/Tick
>>602 ビット演算の確認は全部一度2進数でどっかに書いてみるといいよ。
オレ、入門した処理系では0x00とか000と同レベルで0b00って2進数扱えたから、
ANSIとかの規格で扱えないのを知った時はカルチャーショックだった。
そいや、独自拡張って釘刺されていたけれど、その重要性を理解していなかった。
Cの高級言語化に逆行するけれど、その辺りはちゃんと埋めて欲しいなあ。
ごめん、DxLib以前の問題だ。
C++14(11だったかも?)で2進数が扱えるようになったけど
処理系の対応としてはどんなもんだろう
gccは元々独自拡張で実装済み、
clangはgcc拡張のほとんどに対応してたからたぶん大丈夫、
VC++はお察しってとこじゃないの
マクロで4,294,967,296個定義すればいいんじゃないの?
それ以上も必要なだけ存分に
板のテクスチャをMV1SeTextureGraphHandleで透過画像を設定したら、不透明の物体は透けて描画されるが
同じ方法で作ったモデルのテクスチャが表示されないのですが、原因分かる方はいませんか?
モデルが(カメラ目線で見かけ上)重なっている部分のテクスチャを描画していない、といった感じです
半透明で描画するとそれより奥のものを後から描画しても重なってる部分は描画されんぞ
自分で工夫して半透明部分だけ後から描画したり、奥から順番に描画する必要がある
>>612 横槍でですまないが、その工夫ってどうあがいてもできない範囲があるよな
植物の表現でよく見るα抜きしたテクスチャの平面ポリゴンを交差させるやつとかどうZソートして良いのやら
半透明をとは言わないから完全に透明なテクセルについてはZ値を上書きしない的なのDXライブラリでできないかね
シェーダーかくしかないのかな。。。
>>613 MV1SetMaterialDrawAlphaTest使えばできるんじゃないかと
615 :
611:2015/02/25(水) 06:13:23.49 ID:hNxi6KZQ
ありがとうございます
zソートしないといけなかったんですね
別のモデルが交差したときと
2D(背景)→3D→2D(パラメータとか)の処理が面倒そうですね…
透明度が0か1のテクスチャなら交差してもいけるけど半透明だと打つ手無しかな
すげー困ったから助けて(´・ω・`)
「VC2013で」デバッグで「ブレークポイントで止めてる時」
この条件の時にメモ帳だろうが検索エンジンの入力欄だろうがに文字を打ち込むと全部のアプリケーションが完全に止まる。1文字につき10秒くらい
DXLib_Init()する前でもVC2010でも何ともなかったから、VC2013とDxLibとの組み合わせが最悪っぽいんだけれども
自己解決みっともない原因だった
SetAlwaysRunFlag(TRUE)のせいでデバッグ中フォーカス行ってなくてもキー入力行って処理がえらいことになってただけだったバージョン関係無かった
今までSetAlwaysRunFlagオフにしてて今回オンラインを見越してオンにしたんけどデバッグ中は絶対やめた方がいいねってことを学習した
半透明ポリゴンが交差していけないのならが3Dエフェクトとかどうやって作るん?
動的に三角形分割しとるんか?
MakeGraphの使い道がわからん、思いつかん
どんな時に使うのコレ?
MakeGraphは裏で動的に画像いじるときに使うんでしょ
公式のリファレンスにサンプルあるじゃん
画面を取り込んで使える
東方文花帖みたいな、写真撮影ゲームで画面の内容を取り込む等の用途が考えられる
とりあえず GetDrawScreenGraph() の準備用関数だと思っておけば特に困らない気がする。
他にも上手い使い方はあるんだろうけどさ。
自分の場合は、ステージクリア型のゲームで、クリアした瞬間の画像をキャプチャするのに使ったなあ。
リザルト画面に表示させたり、シーン遷移時にエフェクトとともに使ったり。
隠し関数ってどのファイル覗けば全部見れる?
その程度の姿勢なら止めとけというしかない
マニュアルにあるのが公開関数としたら、
ヘッダにあってマニュアルにないもの、
ヘッダにも無いけどstaticでないもの、とかあるけど
関数仕様がどこかに書いてあるけどマニュアルにないもの、のことなんだろうなあ
>ヘッダにも無いけどstaticでないもの、とかあるけど
そんなものもあるのか!
今度はUE4無料化か
フリーゲーがどんどん熱くなるな
しかしツクールの人気は変わらないのだった
ぼくのオンボじゃ物理的な意味で熱くなっちゃうし無縁なんだけどね
リアルなグラフィックだけがゲームじゃあるめぇ
.pmxファイルを読み込んで表示したらライティング計算ができませんでした。
同じ内容の.xファイルでは計算がなされます。
リファレンスにある「但し、pmx は pmd 相当の機能だけを使用していた場合のみ正常に読み込める仮対応状態です」と関係があるのでしょうか?
対策を教えてください
ポリゴンがクソなのにシェーダーだけすごいゲームが流行るな
マイクラとかそうじゃね
ブロック遊びがコンセプトなんだからマイクラはあれでいいんでしょ