DXライブラリ 総合スレッド その5
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/12/04(金) 16:49:13ID:7SKA4I5zGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
0324名前は開発中のものです。
2009/12/25(金) 19:03:16ID:EP1DxHaQRocdebone2でもボーン入れる作業はできるよ
こっちは線形のボーン。詳しくはおちゃっこLABで
たいしてメタセコイアで骨入れる場合はmikoto形式のものがある
こっちは三角形ボーンに影響度のアンカーボックスタイプでござる
詳しくはここら辺がいい
ボーンの作り方
http://homepage3.nifty.com/ghpk/e3d/rb2007.htm
http://umemori69.hp.infoseek.co.jp/umemori69_014.htm
http://umemori69.hp.infoseek.co.jp/umemori69_013.htm
モデリングテク
http://mattaku.sa-ra-sa.com/
0325名前は開発中のものです。
2009/12/25(金) 19:05:23ID:EP1DxHaQ逆転の発想
0326名前は開発中のものです。
2009/12/25(金) 19:08:48ID:V52nYqVjDxLibModelViewerで確認してみた?
>>322
ToyStudioには無償版と有償版(5000円)があって、残念ながらXファイルをエクスポートできるのは有償版だけなんですよね・・・
まだ仮対応らしいけどMMDのPMDを使うか、FBXからMV1に変換して使うとかも検討してみて。
0327名前は開発中のものです。
2009/12/25(金) 19:09:24ID:ZhGjQlkx>>344
モーションひとつ作るのだけで大変そうですねえ・・・挫折しそうだorz
エルフレイナというやつ、まだチェックしてなかったので見てみました
使いやすそうですけど、やはりフリーだとxファイル出力ができないのですね・・・
>>322での出力もできないというのも、シェア版にしないといけないみたいですね
RokDeBoneが現状自分の最後の望みみたいなので、ボーンの作り方等読んでがんばってみます。
親切にレスありがとうございます(つA`)
>>325
3Dゲーム以外も作ってみたいのでDXライブラリがんばってみますw
0328名前は開発中のものです。
2009/12/25(金) 20:26:29ID:V52nYqVjRokDeBone2付属サンプルの「glow.sig」を編集してXファイルに出力。
これをDirectXVierwer、DxLibModelViewerで読み込んでアニメーション表示OK。
MSサンプルの「dude.fbx」をDxLibModelViewerで読み込んでXファイルに出力。
これをDirectXVierwer、DxLibModelViewerで読み込んでアニメーション表示OK。
しかし、これをRokDeBone2で読み込むと原因不明のエラー。
0329名前は開発中のものです。
2009/12/25(金) 21:00:26ID:2weq8SiY擬似3Dを今まさに作ってる俺には手が届かない話題だな。
0330名前は開発中のものです。
2009/12/25(金) 22:10:40ID:EP1DxHaQ0331名前は開発中のものです。
2009/12/26(土) 02:21:18ID:h7BLtdtNhttp://www.caligari.com/downloads.html
古いバージョンがよければ、一番下にSerialNumberが書いてある。
機能が多くて安かったが、MSの介入があってこのザマだ。
Xファイルのインポートエクスポートがある。
0332328
2009/12/26(土) 13:42:22ID:UrPNO9E9ModTool7.5でFBXを出力、これをDxLibModelViewerで読み込むと強制終了する。
公式のFBXViewerでは正常にアニメーション表示できているのでDxLibModelViewerのバグかもしれないが、ModTool7.5のエクスポータにも色々と問題がありそう。
メタセコイア(Keynote)でFBXを出力、これをDxLibModelViewerで読み込むとエラー。
メタセコイア(Keynote)でXファイルを出力、これをDxLibModelViewerでアニメーション表示OK。
PMD(モデルデータ)をDxLibModelViewerで表示OK。
しかし、Xファイル出力するとデータが壊れることがある。MV1出力は問題なし。
VMD(モーションデータ)をDxLibModelViewerでアニメーション表示OKだが、データによっては読み込めない場合もある。
エラーメッセージも表示されないし、今のところ原因不明。
まだまだ不安定ではあるもののMMDが結構良さげな印象だった。
0333名前は開発中のものです。
2009/12/26(土) 13:44:47ID:R/WYZk+C0334名前は開発中のものです。
2009/12/26(土) 16:52:38ID:IeIeiG58今学習に使っているのは14歳から始めるC++ゲームプログラミングで、 現在サンプルを触ってみている状態です。
void TekiControl::move(float jx, float jy){
list<CharaData>::iterator it;
it = tekilist.begin();
(*it).anim->draw(0, (*it).x, (*it).y);
//子機発射処理 ※この部分を指定秒数ごとに実行したい
float dy = GameFrame::IdouHosei(8);
podsally( (*it).x+64, (*it).y+32, 20, 0,-dy);
podsally( (*it).x+64, (*it).y+32, 10, 0,-dy);
podsally( (*it).x+64, (*it).y+32, 20, 0,dy);
podsally( (*it).x+64, (*it).y+32, 10, 0,dy);
podmove(jx,jy); //子機移動
}
子機発射処理のみを指定秒数で実行するようにしたいのですが、
どのような方法があるでしょうか?
できればvoid TekiControl::move(float jx, float jy){ 内で
処理できるようにしたいのですが・・・。
0335名前は開発中のものです。
2009/12/26(土) 17:01:21ID:EuBBUaJestatic before_time;
if(before_time - now_time() > 指定病数){
before_time = now_time();
IdouHose();
}
}
0336名前は開発中のものです。
2009/12/26(土) 17:03:21ID:EuBBUaJe0337名前は開発中のものです。
2009/12/26(土) 17:15:36ID:IeIeiG58move(){を中にまた使うということですか?
nowtimeの初期値はGetNowCountなどの取得で合っているでしょうか。
IdouHose(); とは何のことでしょうか。
質問ばかりですいません。
現在改造しながら勉強しているのですが、ここがどうしてもできないもので…。
0338名前は開発中のものです。
2009/12/26(土) 17:24:29ID:vrlJW6940339名前は開発中のものです。
2009/12/26(土) 17:29:32ID:EuBBUaJeGetNowCountが最大値超えた場合とか考慮必要。
void TekiControl::move(float jx, float jy){
list<CharaData>::iterator it;
it = tekilist.begin();
(*it).anim->draw(0, (*it).x, (*it).y);
static unsigned int before_time;
if((GetNowCount() - before_time) > 指定秒数*1000){
before_time = GetNowCount();
//子機発射処理
}
float dy = GameFrame::IdouHosei(8);
podsally( (*it).x+64, (*it).y+32, 20, 0,-dy);
podsally( (*it).x+64, (*it).y+32, 10, 0,-dy);
podsally( (*it).x+64, (*it).y+32, 20, 0,dy);
podsally( (*it).x+64, (*it).y+32, 10, 0,dy);
podmove(jx,jy); //子機移動
}
0340名前は開発中のものです。
2009/12/26(土) 17:29:32ID:IeIeiG58次は改造かな、と思ったのですが…
0341名前は開発中のものです。
2009/12/26(土) 17:32:22ID:IeIeiG58これでできました!ありがとうございます!!
10時からやっていたので本当にうれしいです。
本当にありがとうございました。
0342名前は開発中のものです。
2009/12/26(土) 17:54:19ID:E9OJHMuxEASY3DとかSeleneのほうがいいのかな?
ここで聞くのは野暮だと思うけど、2DゲームでDXライブラリを使って良かったので、
3D機能についての現状を知りたい。
0343名前は開発中のものです。
2009/12/26(土) 18:16:38ID:t2+el/7eもう解決してるけどそういう「何フレーム化に一度」の処理は、1Fごとに++するTimeみたいな変数を作って、
if (Time%60==0)みたいに使ったほうが良い
特にGetNowCountは音ゲー作るかFPS計測する時など1ミリ秒のズレも許されない時以外はあまり使うべきではない
0344名前は開発中のものです。
2009/12/26(土) 20:29:54ID:R/WYZk+C俺
DXlib 3D使ったことない
Selene 使ったことない
Easy3D HSP版だけ使った
HSPで3Dは楽だし結構いろんなことできるしよかったよ
ただ演算多くなる場合は断然cが速すぎ
0345名前は開発中のものです。
2009/12/26(土) 22:19:58ID:UrPNO9E9基本的な機能は揃っているし十分3Dゲームを作れるよ。
ニコ動でDXライブラリを使って作られた3Dゲームが公開されているので一度見てみるといいよ。
しかし、Seleneと比較するとやや機能不足な点もある。
シェーダー、ポストエフェクト、GUI、物理エンジン、スプライト(パーティクル)など。
特にシェーダーが使えないというのはレンダリングの品質に大きく差が出る。(PS3とPS2ぐらい違う)
逆に言えばDXライブラリの方が扱いが簡単なので、3D初心者ならこっちの方が向いてると思う。
0346名前は開発中のものです。
2009/12/26(土) 23:51:39ID:FO5uRkla無いものは自前で実装すりゃいいけど、その頻度が増えると
DXライブラリで無理して作ってる感じになる
ならSeleneとか他の3Dが充実してるライブラリ使ったほうがいい
もしくはDirectX直
どの程度のものを作るかによるってことだな
>>332
FBXならBlenderが良いよ
X、FBX,、PMD+VMDの話題は前にも見た気がする
0347名前は開発中のものです。
2009/12/27(日) 00:12:09ID:kPK58SfxそこらへんがDXライブラリじゃ駄目といわれる所以だよね
出来なくても無いけど2Dほど簡単ではないし、それならちょっと頑張って他のライブラリ使ったほうがずっと天井が高い
0348名前は開発中のものです。
2009/12/27(日) 00:28:01ID:MBrvOJgDつい最近対応したばかりだから仕方ない話だといえばそれまでなんだけど
0349332
2009/12/27(日) 01:02:13ID:bc5V7EbG>X、FBX,、PMD+VMDの話題は前にも見た気がする
情報ありがとう。
前スレ見てなかったけど、Blenderの出力したFBXは問題ないようですね。
ただUIが独特で個人的には使いにくかったので・・・
あとToyStudioの出力したXファイルも問題ないみたいなのでこっちも良いかも。
0350346
2009/12/27(日) 01:27:46ID:GGjOngErつっても、あくまで現時点ね
>>348が言うように、3D対応されたばかりで機能が足らないのは仕方ない
個人的には期待してる
PMD化するのは手間だけど
PMD+VMDは3Dを扱う敷居がぐっと下がる
モーションが連番で別ファイルになってるのも、使ってみればかなり便利
最終的にはMV1にしてもいいしね
3D機能の充実は時間かかるだろうけど、作者にはがんばってもらいたい
0351名前は開発中のものです。
2009/12/27(日) 13:06:29ID:2vbWXkV1高機能で簡単、というのはただ単に高機能というだけよりよっぽど作るのが難しい。
DXライブラリはお手軽なところが受けてるだろうから、あまり機能追加しすぎて複雑にならないことを祈る。
0352名前は開発中のものです。
2009/12/27(日) 14:00:34ID:uhSQPV5X同程度のライブラリでDrakGDKを使ってれば良いと思う。
C言語の初級からでも扱える3Dライブラリで難易度が低い
これで3Dの技術を身に付けて、
2年後くらいにDXライブラリ3Dを始めるのもよい
3Dは表面化されない小さいトラブルが多い。
そして、わけのわからん専門用語も出てくるし....
0353名前は開発中のものです。
2009/12/27(日) 17:13:24ID:z8YG6h4bある程度のレベルのものは創れそうだよ。
少なくとも64以上のものは簡単に作れるだろうし、努力しだいではPS2レベルのも出来るんだろう。
本格的に目指すのでない限りは更新速度や質問できる環境などを考えると、
DXライブラリでぜんぜんいいと思った。
まだ3Dモデルを動かすとこまでしかやってないけどね。
0354名前は開発中のものです。
2009/12/27(日) 17:59:53ID:yZAsy6xSしかし管理人さんって何者なんだろうな
0355名前は開発中のものです。
2009/12/27(日) 18:49:06ID:8drOPqxx0356名前は開発中のものです。
2009/12/27(日) 18:51:42ID:A9L3SGsA0357名前は開発中のものです。
2009/12/27(日) 18:56:35ID:8drOPqxxまで入力したら入力補間で命令がズラっと出るという夢をみた。
いや、まぁ自分で改造すればいいのかもしれんけど…
0358名前は開発中のものです。
2009/12/27(日) 19:16:58ID:z8YG6h4b0359名前は開発中のものです。
2009/12/27(日) 20:07:35ID:M0Cw0Z6WDxLib::
0360名前は開発中のものです。
2009/12/27(日) 20:23:19ID:LDM1qCXB0361名前は開発中のものです。
2009/12/27(日) 20:32:01ID:jKh1EiXg変数は全てグローバル変数で管理して
各ファンクションもサブルーチンとしてしか認識していなかったが
普通に作れた
0362名前は開発中のものです。
2009/12/27(日) 20:37:49ID:bc5V7EbG「ブラー」はモデルを半透明にして重ねて描画じゃダメ?
「鏡」は3Dに限らず描画先を指定できないと思うので無理そう。
>>360
C言語の知識だけで十分だよ。
まあ、14歳でも使えるらしいので。
0363名前は開発中のものです。
2009/12/27(日) 21:54:18ID:mBfODTUHゲーム完成させたらソースコードが12000行とかになって悶絶した
クラス使わないなら関数化は必須に近い・・・
VCの左画面様様だわ
0364名前は開発中のものです。
2009/12/27(日) 22:06:33ID:8drOPqxxアクセス制限が邪魔なら全部publicでもいいからクラス使った方が
変数名とか関数名の管理が楽だぞ
0365名前は開発中のものです。
2009/12/28(月) 01:07:57ID:3r1xx2ry>ブラーとか鏡
今試してみたら3Dでも、SetDrawScreen()でテクスチャにも
レンダリングできたよ。管理人さんが昨日直してくれたバージョンだと
DrawExtendGraph()でも表示できた。
ずらしたり拡大縮小すれば、DirectXの本とかに良く載っているAAや
被写界深度の表現も出来そうな感じ。
できないのはテクスチャをロックしてピクセル単位でいじること
じゃないかな。つまりブラーや鏡とかは可能だけどレンダリングした
画像にポスト処理とかはできない…と思う。
ただこのへんの処理やソートとかは、DirectX直接いじる時と同じで
自分で実装しないといけないぽいので、その意味では既出のように
低レベル(ハード寄り)なので2D機能よりは敷居高い部分あるかも。
0366名前は開発中のものです。
2009/12/28(月) 03:34:23ID:9l/NWr9Wこのエラーは何が原因なんでしょうか?
LINK : fatal error LNK1104:DxLib_VC2005用.exe' を開くことができません。
0367名前は開発中のものです。
2009/12/28(月) 03:42:52ID:/F5FiFDi0368名前は開発中のものです。
2009/12/28(月) 07:59:40ID:TSFI1pm5DXライブラリのエラーではない、以上。
変な場所で実行してるんじゃなければ、
exeファイルのパーミッション確認しとけ。
0369名前は開発中のものです。
2009/12/28(月) 10:27:15ID:9l/NWr9W0370名前は開発中のものです。
2009/12/28(月) 11:44:34ID:Us5hvkZh14歳より歳いってて、Cは授業で少しくらいの自分がいまいち理解できないとちょっと悲しくなるタイトルだと思うんだ。
0371名前は開発中のものです。
2009/12/28(月) 11:45:38ID:dBTW62Xp0372名前は開発中のものです。
2009/12/28(月) 11:49:28ID:jpOTUZve0373名前は開発中のものです。
2009/12/28(月) 11:57:25ID:yuCthtY8SetDrawScreen関数は任意のテクスチャを描画先に指定できないと思うんですがやり方があるんでしょうか?
0374名前は開発中のものです。
2009/12/28(月) 12:43:57ID:u/qep0of0375名前は開発中のものです。
2009/12/28(月) 12:58:13ID:3EFD++9F色々面倒になってグローバルも積極的に使うようにしたがな
0376名前は開発中のものです。
2009/12/28(月) 12:59:10ID:3EFD++9F×グローバル関数
○グローバル変数
まあどうでもいいことだけど
0377名前は開発中のものです。
2009/12/28(月) 13:16:08ID:jpOTUZve0378名前は開発中のものです。
2009/12/28(月) 13:46:53ID:yuCthtY8掲示板(2009/12/27(Sun) 13:35)に投稿されているバージョンで試してみたけど確かに挙動が違う。
ウィンドウの拡縮が反映されてないね。
0379名前は開発中のものです。
2009/12/28(月) 14:29:28ID:vxFbJ2Ow0380名前は開発中のものです。
2009/12/28(月) 14:41:43ID:TSFI1pm5どこから突っ込めばいいんだい?
0381名前は開発中のものです。
2009/12/28(月) 14:49:03ID:YIPGDrjp0382名前は開発中のものです。
2009/12/28(月) 14:54:14ID:jpOTUZve0383名前は開発中のものです。
2009/12/28(月) 15:42:28ID:0XgsQP9Xとりあえずマジレスするが
まずスレチな
次にelseな
elseを使わないと想定していないエラーが起きる場合もあるから
else ifって形にするべき
0384名前は開発中のものです。
2009/12/28(月) 15:43:55ID:vxFbJ2Owelse ifのところのelseをぬいてもおなじように動いたので、
いるのかなと思って
C言語のすれにいきます。
0385名前は開発中のものです。
2009/12/28(月) 15:46:54ID:vxFbJ2Owすっきりしました^^
0386名前は開発中のものです。
2009/12/28(月) 16:46:29ID:EmomTfPw0387365
2009/12/28(月) 17:40:27ID:3r1xx2ry試したことはないけどpng等から作ったテクスチャとか
「任意なテクスチャ」には無理だと思う。
たぶんテクスチャにレンダリングしたい時は、描画可能な
テクスチャを専用で作らないといけないはず。
具体的には、SetDrawValidAlphaChannelGraphCreateFlag()等で
指定してから、MakeGraph()で作ったテクスチャになら
レンダリングできる。
あとはそのテクスチャを普通にDrawGraph()とかで描画できるけど
UVやビルボードに使えるかはまだ試してないので分からない。
このへんを含めてリファレンスには載っていない関数も
かなり多いので、Dxlibのソースや公式掲示板の過去ログ
とか見ると使い方も含めていろいろ発見あるかも。
0388373
2009/12/28(月) 18:48:57ID:yuCthtY8ありがとうございます。
SetDrawScreen関数はMakeGraph関数で作成したグラフィックも指定できるんですね。
リファレンスに書かれていない機能だったとは・・・
0389名前は開発中のものです。
2009/12/28(月) 18:52:49ID:dBTW62Xpなんで隠すんだろうな
0390名前は開発中のものです。
2009/12/29(火) 00:11:37ID:MjH8+OO8「ゲームプログラマになる前に覚えておきたい技術」のシングルトンが変
普通シングルトンといったらpublic static getInstance()内部で初回呼び出し時に
インスタンスを作成するのに、別にインスタンス作成のためのpublic static create()というメソッドがある。
そして、クラス外部のどこかでcreate()を呼び出してインスタンスを作成している。
二回createしたら落ちるだとさ。つまり複数インスタンスをcreateするコードをかけてしまう。
これでは、実行時に落ちるとはいえ、コンパイル時にエラーを検出できない。
たとえば、複数のプログラマが、コードの一部分を分担してそれぞれ作っているときに
それぞれがcreate()していると、コードを分けている段階では問題なくても
一つにマージしたときにエラーが発生するというシナリオが起きてしまう。
0391名前は開発中のものです。
2009/12/29(火) 00:18:26ID:IYgt3GZP0392名前は開発中のものです。
2009/12/29(火) 01:19:32ID:0CS2MVBj教育担当者ですらその程度
だからあそこまで落ちぶれた
0393名前は開発中のものです。
2009/12/29(火) 02:24:27ID:RokfBydottp://ameblo.jp/woooh-p/entry-10031871696.html
2回create()を呼び出すと落ちるのは問題だが
初期化関数を別に用意したほうがいい場合もある
0394名前は開発中のものです。
2009/12/29(火) 10:12:58ID:Mul0eZVk0395名前は開発中のものです。
2009/12/29(火) 10:14:09ID:qD3DEd6e0396名前は開発中のものです。
2009/12/29(火) 10:31:45ID:Mul0eZVkグローバル変数だと意識して使うのは勝手だけどさ
0397名前は開発中のものです。
2009/12/29(火) 11:41:51ID:4TKwhtv10398名前は開発中のものです。
2009/12/29(火) 12:33:29ID:MJuE+QA30399名前は開発中のものです。
2009/12/29(火) 12:33:57ID:IYgt3GZP0400名前は開発中のものです。
2009/12/30(水) 18:16:44ID:UY2bjnZL↑でフォントを変更すると異常に重くなる。
これ以外で文字も目立たせる方法ってあります?
たくさんの色つかってる背景なので、文字が目立たなくて見にくい
0401名前は開発中のものです。
2009/12/30(水) 18:19:27ID:61sxYcJT0402名前は開発中のものです。
2010/01/01(金) 10:45:01ID:OYP4V88L{}のつながりがわかるじゃないか。
bccのときはこめんとひっつでした。
ただぎょうがわかればいいな〜〜
0403名前は開発中のものです。
2010/01/01(金) 10:49:31ID:usKzGBmk0404名前は開発中のものです。
2010/01/01(金) 10:52:44ID:tpzydI5S0405名前は開発中のものです。
2010/01/01(金) 12:36:09ID:WC0TdB7Oメニューの[ツール]->[オプション]->[テキストエディタ]->[C/C++]->[全般]
で行番号をチェック
0406名前は開発中のものです。
2010/01/01(金) 13:08:58ID:/td8CeQEそれはお前のインデントが悪い
0407名前は開発中のものです。
2010/01/01(金) 15:11:34ID:7pzjYUfBそれにVC#はガベジなんちゃらというので急に重くなるそうじゃないか
アクションとかシューティングに向くの?
0408名前は開発中のものです。
2010/01/01(金) 15:26:26ID:rtNA4Eqo0409名前は開発中のものです。
2010/01/01(金) 16:19:43ID:oXGgPpta.NETのガベージコレクションは優秀だから重くなることは無いよ
Xbox360では多少難あるけどね
実行速度遅くて困るなんてことは今の時代のPCスペックじゃ有り得ないそ
Javaのゲームも余裕で動く時代だし
アクション、シューティングもネットブックで動かせたよ
0410名前は開発中のものです。
2010/01/01(金) 16:32:52ID:i5316gGW0411名前は開発中のものです。
2010/01/01(金) 16:44:58ID:usKzGBmkそんなカツカツの高負荷のゲーム作るんだったらそもそもDXライブラリなんか使うべきじゃないしな
それはともかく>>403は単にIDEの出来だけを言ったつもりだった
0412名前は開発中のものです。
2010/01/01(金) 16:48:57ID:qgsN6nSc0413名前は開発中のものです。
2010/01/01(金) 17:46:25ID:+lDteCCNまず
・設計を改める
削れる処理はないか。
もっと速い処理はないか。 特に算術演算はコンパイラでさえ最適化しきれない「なにがやりてーんだタココラ」って効率の悪いコードになりがち。
セオリーから外れてないか。 ウェイトを「カウントアップ」でやろうとしてないか。
などを見直し、それでもダメだ!1ヨクトセカンドでも遅れるのは許されぬ!ってとき
ハードウェアとダチ公になる
のだ。
遅れるってのは結局「OSのスリープに頼っているから」である。
OSのスリープはもちろんOSがやることなので「今は特に眠くないです。」といったらスリープしてもらえない。
そこをハードウェアとダチトモコレクションすることで、強制的にスリープするのだ。
0414名前は開発中のものです。
2010/01/01(金) 17:52:47ID:+lDteCCN気絶などのステータスもある。何のモーションのとき何が何でキャンセルできるのか
そういうことも常に演算する対象だが、これを
if(cancell_OK == 1)
とかやってるやつは基本がなってない。
char cancell_OK, cancell_NG, cancell_only_special・・・・・・・
などと延々必要になるではないか。
ステータス管理の変数は1つにまとめろ。それは可能である。
というふうに、効率の悪いコードになっているのを改めることでだいぶ良くなる。
0415名前は開発中のものです。
2010/01/01(金) 18:19:25ID:Xn7CcDBAへぇ〜どうなるの 40文字以内で教えてください
0416名前は開発中のものです。
2010/01/01(金) 18:20:21ID:ulJ3MFDLこれについて教えて下さい
0417名前は開発中のものです。
2010/01/01(金) 18:20:50ID:+lDteCCN分かるだろ。の
0418名前は開発中のものです。
2010/01/01(金) 18:22:58ID:qgsN6nSccancell…
ステータスはビット演算でやってもいいが可読性が著しく低いから、
boolの配列作って0〜nの数字をそれぞれステータス名でenumしてる
スパゲッティどころか脳髄の如く絡まってるコード持って自慢げにメモリ使用量が〜〜とか言ってる奴いるとぶん殴りたくなる
というかぶん殴る
0419名前は開発中のものです。
2010/01/01(金) 18:23:47ID:+lDteCCN信じられないことに、いまだに良く見るんだが
for(i=0, i < During; i++)
のこと。逆も然り。
for(i=During; i !=0; i--)
のような
これ数えてる間、CPUがずっとそれに占有されるだろ
これじゃウェイト、スリープの意味がない。
0420名前は開発中のものです。
2010/01/01(金) 18:25:49ID:ulJ3MFDLこれ駄目なの?普通に使ってた
代わりにどう書けばいいの?
0421名前は開発中のものです。
2010/01/01(金) 18:27:56ID:+lDteCCN「何もしないんだから、その間他の処理をさせよう」
ってのが基本だ。また、そうでないとウェイトしてる間他の何の処理もできないから
極端に言えば画面が停止することになる。
普通は、OS越しに駆動するゲームだったらOSに用意されるスリープ命令を使う。
OSがない組み込みなどで動かすゲームなら、割り込みを使う。
0422名前は開発中のものです。
2010/01/01(金) 18:38:45ID:ulJ3MFDL0423名前は開発中のものです。
2010/01/01(金) 19:16:43ID:CHW7ms0X■ このスレッドは過去ログ倉庫に格納されています