[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/25 20:51 / Filesize : 266 KB / Number-of Response : 992
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2009/12/04(金) 16:49:13 ID:7SKA4I5z]
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

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

【過去スレ】
DXライブラリ 総合スレッド
pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
pc11.2ch.net/test/read.cgi/gamedev/1249822550/


329 名前:名前は開発中のものです。 mailto:sage [2009/12/25(金) 21:00:26 ID:2weq8SiY]
DXライブラリの拡大縮小機能を使って
擬似3Dを今まさに作ってる俺には手が届かない話題だな。

330 名前:名前は開発中のものです。 mailto:sage [2009/12/25(金) 22:10:40 ID:EP1DxHaQ]
一方通行なわけか

331 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 02:21:18 ID:h7BLtdtN]
3Dモーションは、trueSpaceを使ってみ。フリーだ
www.caligari.com/downloads.html
古いバージョンがよければ、一番下にSerialNumberが書いてある。

機能が多くて安かったが、MSの介入があってこのザマだ。
Xファイルのインポートエクスポートがある。


332 名前:328 mailto:sage [2009/12/26(土) 13:42:22 ID:UrPNO9E9]
>>328の続きです。

ModTool7.5でFBXを出力、これをDxLibModelViewerで読み込むと強制終了する。
公式のFBXViewerでは正常にアニメーション表示できているのでDxLibModelViewerのバグかもしれないが、ModTool7.5のエクスポータにも色々と問題がありそう。

メタセコイア(Keynote)でFBXを出力、これをDxLibModelViewerで読み込むとエラー。
メタセコイア(Keynote)でXファイルを出力、これをDxLibModelViewerでアニメーション表示OK。

PMD(モデルデータ)をDxLibModelViewerで表示OK。
しかし、Xファイル出力するとデータが壊れることがある。MV1出力は問題なし。
VMD(モーションデータ)をDxLibModelViewerでアニメーション表示OKだが、データによっては読み込めない場合もある。
エラーメッセージも表示されないし、今のところ原因不明。

まだまだ不安定ではあるもののMMDが結構良さげな印象だった。

333 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 13:44:47 ID:R/WYZk+C]
乙。報告あるとのちのち使う人がいたとき参考になるからな

334 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 16:52:38 ID:IeIeiG58]
C++スレから誘導されてきました。
今学習に使っているのは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){ 内で
処理できるようにしたいのですが・・・。

335 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 17:01:21 ID:EuBBUaJe]
move(){
  static before_time;
  if(before_time - now_time() > 指定病数){
    before_time = now_time();
    IdouHose();
  }
}

336 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 17:03:21 ID:EuBBUaJe]
引き算逆だった

337 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 17:15:36 ID:IeIeiG58]
これは//子機発射処理 の上に記述していいんでしょうか。
move(){を中にまた使うということですか?
nowtimeの初期値はGetNowCountなどの取得で合っているでしょうか。
    IdouHose(); とは何のことでしょうか。

質問ばかりですいません。
現在改造しながら勉強しているのですが、ここがどうしてもできないもので…。




338 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 17:24:29 ID:vrlJW694]
改造とかしないで基本からやったほうがいいぞ

339 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 17:29:32 ID:EuBBUaJe]
その本持ってないんで適当です。
GetNowCountが最大値超えた場合とか考慮必要。
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); //子機移動
}

340 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 17:29:32 ID:IeIeiG58]
本に載っている内容はとりあえず一通りやりました。
次は改造かな、と思ったのですが…

341 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 17:32:22 ID:IeIeiG58]
>>339
これでできました!ありがとうございます!!
10時からやっていたので本当にうれしいです。
本当にありがとうございました。

342 名前:名前は開発中のものです。 [2009/12/26(土) 17:54:19 ID:E9OJHMux]
3Dゲーム創りたいんだけど、最近3D対応したばかりのDXライブラリより
EASY3DとかSeleneのほうがいいのかな?
ここで聞くのは野暮だと思うけど、2DゲームでDXライブラリを使って良かったので、
3D機能についての現状を知りたい。

343 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 18:16:38 ID:t2+el/7e]
>>341
もう解決してるけどそういう「何フレーム化に一度」の処理は、1Fごとに++するTimeみたいな変数を作って、
if (Time%60==0)みたいに使ったほうが良い
特にGetNowCountは音ゲー作るかFPS計測する時など1ミリ秒のズレも許されない時以外はあまり使うべきではない

344 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 20:29:54 ID:R/WYZk+C]
>>342

DXlib 3D使ったことない
Selene 使ったことない
Easy3D HSP版だけ使った

HSPで3Dは楽だし結構いろんなことできるしよかったよ
ただ演算多くなる場合は断然cが速すぎ

345 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 22:19:58 ID:UrPNO9E9]
>>342
基本的な機能は揃っているし十分3Dゲームを作れるよ。
ニコ動でDXライブラリを使って作られた3Dゲームが公開されているので一度見てみるといいよ。
しかし、Seleneと比較するとやや機能不足な点もある。
シェーダー、ポストエフェクト、GUI、物理エンジン、スプライト(パーティクル)など。
特にシェーダーが使えないというのはレンダリングの品質に大きく差が出る。(PS3とPS2ぐらい違う)
逆に言えばDXライブラリの方が扱いが簡単なので、3D初心者ならこっちの方が向いてると思う。

346 名前:名前は開発中のものです。 mailto:sage [2009/12/26(土) 23:51:39 ID:FO5uRkla]
あと、空間分割とかないな
無いものは自前で実装すりゃいいけど、その頻度が増えると
DXライブラリで無理して作ってる感じになる
ならSeleneとか他の3Dが充実してるライブラリ使ったほうがいい
もしくはDirectX直
どの程度のものを作るかによるってことだな

>>332
FBXならBlenderが良いよ
X、FBX,、PMD+VMDの話題は前にも見た気がする


347 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 00:12:09 ID:kPK58Sfx]
>>346
そこらへんがDXライブラリじゃ駄目といわれる所以だよね
出来なくても無いけど2Dほど簡単ではないし、それならちょっと頑張って他のライブラリ使ったほうがずっと天井が高い



348 名前:名前は開発中のものです。 mailto:さ [2009/12/27(日) 00:28:01 ID:MBrvOJgD]
結局このライブラリは3Dに関してはまだ遅れているってことなのかな
つい最近対応したばかりだから仕方ない話だといえばそれまでなんだけど

349 名前:332 mailto:sage [2009/12/27(日) 01:02:13 ID:bc5V7EbG]
>>346
>X、FBX,、PMD+VMDの話題は前にも見た気がする
情報ありがとう。
前スレ見てなかったけど、Blenderの出力したFBXは問題ないようですね。
ただUIが独特で個人的には使いにくかったので・・・
あとToyStudioの出力したXファイルも問題ないみたいなのでこっちも良いかも。

350 名前:346 mailto:sage [2009/12/27(日) 01:27:46 ID:GGjOngEr]
>>347
つっても、あくまで現時点ね
>>348が言うように、3D対応されたばかりで機能が足らないのは仕方ない
個人的には期待してる
PMD化するのは手間だけど
PMD+VMDは3Dを扱う敷居がぐっと下がる
モーションが連番で別ファイルになってるのも、使ってみればかなり便利
最終的にはMV1にしてもいいしね
3D機能の充実は時間かかるだろうけど、作者にはがんばってもらいたい


351 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 13:06:29 ID:2vbWXkV1]
でもあまり機能が充実しすぎるとお手軽ライブラリじゃなくなるのよね。
高機能で簡単、というのはただ単に高機能というだけよりよっぽど作るのが難しい。
DXライブラリはお手軽なところが受けてるだろうから、あまり機能追加しすぎて複雑にならないことを祈る。


352 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 14:00:34 ID:uhSQPV5X]
DXライブラリの3Dライブラリは、安定するまでに2年くらい必要だろう

同程度のライブラリでDrakGDKを使ってれば良いと思う。
C言語の初級からでも扱える3Dライブラリで難易度が低い
これで3Dの技術を身に付けて、
2年後くらいにDXライブラリ3Dを始めるのもよい

3Dは表面化されない小さいトラブルが多い。
そして、わけのわからん専門用語も出てくるし....

353 名前:名前は開発中のものです。 [2009/12/27(日) 17:13:24 ID:z8YG6h4b]
今サンプルを参考にちょろっと創った感じだと、現時点でもかなり簡単に
ある程度のレベルのものは創れそうだよ。
少なくとも64以上のものは簡単に作れるだろうし、努力しだいではPS2レベルのも出来るんだろう。
本格的に目指すのでない限りは更新速度や質問できる環境などを考えると、
DXライブラリでぜんぜんいいと思った。
まだ3Dモデルを動かすとこまでしかやってないけどね。

354 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 17:59:53 ID:yZAsy6xS]
直接質問できる環境は大きいよな
しかし管理人さんって何者なんだろうな

355 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 18:49:06 ID:8drOPqxx]
作者って14歳の中のひとなんだろうか…

356 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 18:51:42 ID:A9L3SGsA]
クラスとか使ってC++に最適化されたDxLibも作って欲しいわ

357 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 18:56:35 ID:8drOPqxx]
Dx.
まで入力したら入力補間で命令がズラっと出るという夢をみた。
いや、まぁ自分で改造すればいいのかもしれんけど…



358 名前:名前は開発中のものです。 [2009/12/27(日) 19:16:58 ID:z8YG6h4b]
これってブラーとか鏡(レンダリングした結果をテクスチャに)とかはまだ実装されてない?

359 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 20:07:35 ID:M0Cw0Z6W]
>>357
DxLib::

360 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 20:23:19 ID:LDM1qCXB]
すいませんこのソフトってオブジェクト指向を理解してないと利用できないのでしょうか?

361 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 20:32:01 ID:jKh1EiXg]
自分はHSPから移動してきたので
変数は全てグローバル変数で管理して
各ファンクションもサブルーチンとしてしか認識していなかったが
普通に作れた

362 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 20:37:49 ID:bc5V7EbG]
>>358
「ブラー」はモデルを半透明にして重ねて描画じゃダメ?
「鏡」は3Dに限らず描画先を指定できないと思うので無理そう。

>>360
C言語の知識だけで十分だよ。
まあ、14歳でも使えるらしいので。

363 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 21:54:18 ID:mBfODTUH]
ガチで99%の変数をグローバルにして
ゲーム完成させたらソースコードが12000行とかになって悶絶した
クラス使わないなら関数化は必須に近い・・・
VCの左画面様様だわ

364 名前:名前は開発中のものです。 mailto:sage [2009/12/27(日) 22:06:33 ID:8drOPqxx]
俺もHSPから移行組だったからグローバル当たり前が染み付いていたけど
アクセス制限が邪魔なら全部publicでもいいからクラス使った方が
変数名とか関数名の管理が楽だぞ

365 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 01:07:57 ID:3r1xx2ry]
>>358
>ブラーとか鏡
今試してみたら3Dでも、SetDrawScreen()でテクスチャにも
レンダリングできたよ。管理人さんが昨日直してくれたバージョンだと
DrawExtendGraph()でも表示できた。
ずらしたり拡大縮小すれば、DirectXの本とかに良く載っているAAや
被写界深度の表現も出来そうな感じ。

できないのはテクスチャをロックしてピクセル単位でいじること
じゃないかな。つまりブラーや鏡とかは可能だけどレンダリングした
画像にポスト処理とかはできない…と思う。

ただこのへんの処理やソートとかは、DirectX直接いじる時と同じで
自分で実装しないといけないぽいので、その意味では既出のように
低レベル(ハード寄り)なので2D機能よりは敷居高い部分あるかも。

366 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 03:34:23 ID:9l/NWr9W]
すみません。
このエラーは何が原因なんでしょうか?

LINK : fatal error LNK1104:DxLib_VC2005用.exe' を開くことができません。

367 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 03:42:52 ID:/F5FiFDi]
良い感じにPMDの問題報告→修正されてきてるな



368 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 07:59:40 ID:TSFI1pm5]
>>366
DXライブラリのエラーではない、以上。


変な場所で実行してるんじゃなければ、
exeファイルのパーミッション確認しとけ。

369 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 10:27:15 ID:9l/NWr9W]
わかりました。ありがとうございます。

370 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 11:44:34 ID:Us5hvkZh]
>>362
14歳より歳いってて、Cは授業で少しくらいの自分がいまいち理解できないとちょっと悲しくなるタイトルだと思うんだ。

371 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 11:45:38 ID:dBTW62Xp]
俺なんか14歳以下どころか猫以下だぜ・・・

372 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 11:49:28 ID:jpOTUZve]
あの猫高知能すぎだよな…

373 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 11:57:25 ID:yuCthtY8]
>>365
SetDrawScreen関数は任意のテクスチャを描画先に指定できないと思うんですがやり方があるんでしょうか?

374 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 12:43:57 ID:u/qep0of]
あんなレベルの猫や猿が標準だったら今頃世界から人間滅ぼされてるよな・・・

375 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 12:58:13 ID:3EFD++9F]
俺は逆にグローバル関数出来るだけ使わないように拘ってたが
色々面倒になってグローバルも積極的に使うようにしたがな

376 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 12:59:10 ID:3EFD++9F]
間違えた
×グローバル関数
○グローバル変数
まあどうでもいいことだけど

377 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 13:16:08 ID:jpOTUZve]
最新(掲示板)の奴、ウィンドウの拡大縮小すると変にならね?



378 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 13:46:53 ID:yuCthtY8]
>>377
掲示板(2009/12/27(Sun) 13:35)に投稿されているバージョンで試してみたけど確かに挙動が違う。
ウィンドウの拡縮が反映されてないね。

379 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 14:29:28 ID:vxFbJ2Ow]
ifってeles使わなくてもifで固めればeles使う必要あるのかな?

380 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 14:41:43 ID:TSFI1pm5]
>>379
どこから突っ込めばいいんだい?

381 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 14:49:03 ID:YIPGDrjp]
日本語からじゃない?

382 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 14:54:14 ID:jpOTUZve]
スレチって所からだな

383 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 15:42:28 ID:0XgsQP9X]
>>379
とりあえずマジレスするが
まずスレチな
次にelseな
elseを使わないと想定していないエラーが起きる場合もあるから
else ifって形にするべき

384 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 15:43:55 ID:vxFbJ2Ow]
すいませんでした。
else ifのところのelseをぬいてもおなじように動いたので、
いるのかなと思って
C言語のすれにいきます。

385 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 15:46:54 ID:vxFbJ2Ow]
ですよね、些細な疑問にマジレスありです。
すっきりしました^^



386 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 16:46:29 ID:EmomTfPw]
友蔵心の俳句

387 名前:365 mailto:sage [2009/12/28(月) 17:40:27 ID:3r1xx2ry]
>>373
試したことはないけどpng等から作ったテクスチャとか
「任意なテクスチャ」には無理だと思う。

たぶんテクスチャにレンダリングしたい時は、描画可能な
テクスチャを専用で作らないといけないはず。
具体的には、SetDrawValidAlphaChannelGraphCreateFlag()等で
指定してから、MakeGraph()で作ったテクスチャになら
レンダリングできる。
あとはそのテクスチャを普通にDrawGraph()とかで描画できるけど
UVやビルボードに使えるかはまだ試してないので分からない。

このへんを含めてリファレンスには載っていない関数も
かなり多いので、Dxlibのソースや公式掲示板の過去ログ
とか見ると使い方も含めていろいろ発見あるかも。



388 名前:373 mailto:sage [2009/12/28(月) 18:48:57 ID:yuCthtY8]
>>387
ありがとうございます。
SetDrawScreen関数はMakeGraph関数で作成したグラフィックも指定できるんですね。
リファレンスに書かれていない機能だったとは・・・

389 名前:名前は開発中のものです。 mailto:sage [2009/12/28(月) 18:52:49 ID:dBTW62Xp]
ほうほうそれは知らんかった
なんで隠すんだろうな

390 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 00:11:37 ID:MjH8+OO8]
関係ないスレだろうけど、ぐぐって検索したらここが見つかったのでここで書く。

「ゲームプログラマになる前に覚えておきたい技術」のシングルトンが変

普通シングルトンといったらpublic static getInstance()内部で初回呼び出し時に
インスタンスを作成するのに、別にインスタンス作成のためのpublic static create()というメソッドがある。

そして、クラス外部のどこかでcreate()を呼び出してインスタンスを作成している。
二回createしたら落ちるだとさ。つまり複数インスタンスをcreateするコードをかけてしまう。
これでは、実行時に落ちるとはいえ、コンパイル時にエラーを検出できない。

たとえば、複数のプログラマが、コードの一部分を分担してそれぞれ作っているときに
それぞれがcreate()していると、コードを分けている段階では問題なくても
一つにマージしたときにエラーが発生するというシナリオが起きてしまう。

391 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 00:18:26 ID:IYgt3GZP]
あの本は結構適当だからな

392 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 01:19:32 ID:0CS2MVBj]
セガの限界です
教育担当者ですらその程度
だからあそこまで落ちぶれた

393 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 02:24:27 ID:RokfBydo]
Singleton の構築|Code++
ttp://ameblo.jp/woooh-p/entry-10031871696.html

2回create()を呼び出すと落ちるのは問題だが
初期化関数を別に用意したほうがいい場合もある

394 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 10:12:58 ID:Mul0eZVk]
まあシングルトンなんか使う時点で…

395 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 10:14:09 ID:qD3DEd6e]
シングルトンは普通に使うだろ

396 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 10:31:45 ID:Mul0eZVk]
とりあえずシングルトンにしとけばオブジェクト指向っぽいしどこからでもアクセスできて便利と思ってる奴が多すぎる
グローバル変数だと意識して使うのは勝手だけどさ

397 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 11:41:51 ID:4TKwhtv1]
SEGAはプログラマが悪いんじゃなくて企画が悪いんじゃね?



398 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 12:33:29 ID:MJuE+QA3]
宣伝が悪い

399 名前:名前は開発中のものです。 mailto:sage [2009/12/29(火) 12:33:57 ID:IYgt3GZP]
つまりなにもかも悪いのか

400 名前:名前は開発中のものです。 mailto:sage [2009/12/30(水) 18:16:44 ID:UY2bjnZL]
ChangeFontType(DX_FONTTYPE_ANTIALIASING_EDGE);
↑でフォントを変更すると異常に重くなる。
これ以外で文字も目立たせる方法ってあります?
たくさんの色つかってる背景なので、文字が目立たなくて見にくい

401 名前:名前は開発中のものです。 mailto:sage [2009/12/30(水) 18:19:27 ID:61sxYcJT]
CreateFontToHandle

402 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 10:45:01 ID:OYP4V88L]
VC++確かにべんりだーー。
{}のつながりがわかるじゃないか。
bccのときはこめんとひっつでした。
ただぎょうがわかればいいな〜〜


403 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 10:49:31 ID:usKzGBmk]
一度VC#やVB触ったらVC++なんかゴミにしか感じられなくなるけどな

404 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 10:52:44 ID:tpzydI5S]
VC#やVBも機械語と比べたらゴミにしか感じられないけどな

405 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 12:36:09 ID:WC0TdB7O]
>>402
メニューの[ツール]->[オプション]->[テキストエディタ]->[C/C++]->[全般]
で行番号をチェック

406 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 13:08:58 ID:/td8CeQE]
>>402
それはお前のインデントが悪い

407 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 15:11:34 ID:7pzjYUfB]
VC#やVBってVC++より遅いんだろ?
それにVC#はガベジなんちゃらというので急に重くなるそうじゃないか
アクションとかシューティングに向くの?



408 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 15:26:26 ID:rtNA4Eqo]
その通りだからC++でやりなよ

409 名前:名前は開発中のものです。 mailto:さ [2010/01/01(金) 16:19:43 ID:oXGgPpta]
>>407
.NETのガベージコレクションは優秀だから重くなることは無いよ
Xbox360では多少難あるけどね
実行速度遅くて困るなんてことは今の時代のPCスペックじゃ有り得ないそ
Javaのゲームも余裕で動く時代だし
アクション、シューティングもネットブックで動かせたよ

410 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 16:32:52 ID:i5316gGW]
勝手に動いたガベコレが2フレームくらい時を止めても困る

411 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 16:44:58 ID:usKzGBmk]
今時そんな細かい処理速度が表に出てくるほどのゲームを作るのは大変だぞ
そんなカツカツの高負荷のゲーム作るんだったらそもそもDXライブラリなんか使うべきじゃないしな
それはともかく>>403は単にIDEの出来だけを言ったつもりだった

412 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 16:48:57 ID:qgsN6nSc]
VC#()笑 VB()爆

413 名前:名前は開発中のものです。 [2010/01/01(金) 17:46:25 ID:+lDteCCN]
ゼタセカンドでさえ遅れるのを許されない設計の場合

まず
・設計を改める
 削れる処理はないか。
 もっと速い処理はないか。  特に算術演算はコンパイラでさえ最適化しきれない「なにがやりてーんだタココラ」って効率の悪いコードになりがち。
 セオリーから外れてないか。 ウェイトを「カウントアップ」でやろうとしてないか。

などを見直し、それでもダメだ!1ヨクトセカンドでも遅れるのは許されぬ!ってとき

ハードウェアとダチ公になる


のだ。
遅れるってのは結局「OSのスリープに頼っているから」である。
OSのスリープはもちろんOSがやることなので「今は特に眠くないです。」といったらスリープしてもらえない。
そこをハードウェアとダチトモコレクションすることで、強制的にスリープするのだ。

414 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 17:52:47 ID:+lDteCCN]
格闘ゲームだったら体力が0になったとき義塾大学になるのはもちろんだが、
気絶などのステータスもある。何のモーションのとき何が何でキャンセルできるのか

そういうことも常に演算する対象だが、これを

if(cancell_OK == 1)

とかやってるやつは基本がなってない。

char  cancell_OK, cancell_NG, cancell_only_special・・・・・・・

などと延々必要になるではないか。
ステータス管理の変数は1つにまとめろ。それは可能である。


というふうに、効率の悪いコードになっているのを改めることでだいぶ良くなる。



415 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 18:19:25 ID:Xn7CcDBA]
>ステータス管理の変数は1つにまとめろ。それは可能である。
へぇ〜どうなるの 40文字以内で教えてください

416 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 18:20:21 ID:ulJ3MFDL]
>ウェイトを「カウントアップ」でやろうとしてないか。
これについて教えて下さい

417 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 18:20:50 ID:+lDteCCN]
結局のところ、格闘ゲームにおけるステータスってのは0か1しかない。
分かるだろ。の



418 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 18:22:58 ID:qgsN6nSc]
>>414
cancell…

ステータスはビット演算でやってもいいが可読性が著しく低いから、
boolの配列作って0〜nの数字をそれぞれステータス名でenumしてる
スパゲッティどころか脳髄の如く絡まってるコード持って自慢げにメモリ使用量が〜〜とか言ってる奴いるとぶん殴りたくなる
というかぶん殴る

419 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 18:23:47 ID:+lDteCCN]
カウントアップウェイト

信じられないことに、いまだに良く見るんだが
for(i=0, i < During; i++)

のこと。逆も然り。
for(i=During; i !=0; i--)

のような


これ数えてる間、CPUがずっとそれに占有されるだろ
これじゃウェイト、スリープの意味がない。

420 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 18:25:49 ID:ulJ3MFDL]
>>419
これ駄目なの?普通に使ってた
代わりにどう書けばいいの?

421 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 18:27:56 ID:+lDteCCN]
ウェイトやスリープってのは、

「何もしないんだから、その間他の処理をさせよう」

ってのが基本だ。また、そうでないとウェイトしてる間他の何の処理もできないから
極端に言えば画面が停止することになる。


普通は、OS越しに駆動するゲームだったらOSに用意されるスリープ命令を使う。
OSがない組み込みなどで動かすゲームなら、割り込みを使う。

422 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 18:38:45 ID:ulJ3MFDL]


423 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 19:16:43 ID:CHW7ms0X]
ループ処理の話かと思った

424 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 19:24:26 ID:Xn7CcDBA]
unsigned long stat;
#define CANCEL_OK 0x00000001
,,,
 if (stat & CANCEL_OK)
 ...
 else if (stat & CANCEL_NG)
 ...
とか書くのかな

>boolの配列作って0〜nの数字をそれぞれステータス名でenumしてる
みたいなほうが好きだ
ただ例にあげてるとおりに格闘ゲームだとするとキャラクターの1フレームごとの変数の数が増えるのをきらうのはわかる

425 名前:名前は開発中のものです。 [2010/01/01(金) 19:28:11 ID:DuVCrQzJ]
>OSがない組み込みなどで動かすゲームなら、割り込みを使う。

GBAとかMSXとか古いゲーム機の時のことでしょ
懐かしいな

426 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 19:28:36 ID:+lDteCCN]
時間軸で考えると、
例えば「1時間後に働けよ」というのがスリープの考え方。

「じゃあその1時間何をするか」。
1時間、ずーっと1,2,3,4,5,6,7,8,・・・・と声に出して数え上げるとする。
これじゃ、なんか用事があっても何も出来ない。

「じゃあ本でも読むか」となれば、別の処理(本を読んで知識を得る)が出来る。

どっちやっててもシステム時間として1時間は過ぎるが
片方は「実質的に意味のあることを何もしてないのにパワーだけ食う」
片方は「実質的に何もしないんだから別のことをする」

どっちが効率的か分かるだろう

427 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 19:31:29 ID:+lDteCCN]
また、ループも

for(i=0; i < During; i++){
 Plus += Exactly;
}

ではなく、
if(During == FuckingAss){
 Plus += Exactly;
 Plus += Exactly;
 Plus += Exactly;
 Plus += Exactly;
 Plus += Exactly;
 Plus += Exactly;
}

などとしたりすることがある。
基本的にコッチのほうが速いからだ。
CPUとコンパイラにもよるが。



428 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 19:32:53 ID:ulJ3MFDL]
>>427
へー

429 名前:名前は開発中のものです。 mailto:sage [2010/01/01(金) 19:35:16 ID:ulJ3MFDL]
でも1000回のループとかだと、1000行書いてたらさすがにソース長くなって鬱陶しいよね
大体何回までのループなら>>427の↓のパターンで書いてもいいの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<266KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef