[表示 : 全て 最新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/


697 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:14:13 ID:D7qew4lJ]
>>696
てめーなに中だよコラ
リファレンスに目を通してから質問しろカス

698 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:16:13 ID:eQLJYwgf]
あのさ↓の意味ちゃんと解って使ってる?

SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128);
LoadGraphScreen( 30, 10, "a.bmp", TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0);

1行目で「これから描画するものはアルファブレンドモードにしますよ」
2行目で「a.bmpを読み込んで描画しますよ」
3行目で「これから描画するものはブレンドなしにしますよ」

ってだけだよ?

699 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:16:22 ID:VlaGcRFB]
DrawGraphでもブレンド処理可能みたいですね・・・。
ありがとうございます。


700 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:18:42 ID:VlaGcRFB]
>>697
ヤンデレの人ありがとうございました。

701 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 16:23:54 ID:eUrMXCBM]
まあ常識的に考えてブレンド処理なんて頻繁に使われるものがDrawGraphで使えないわけないわな

702 名前:名前は開発中のものです。 [2010/01/27(水) 17:37:50 ID:SU7TxAxC]
int zeikin[1000000];
int amakudari;

for(amakudari=0;amakudari<1000000;amakudari++){
zeikin[amakudari]=LoadGraph("官僚.bmp");
}



703 名前:名前は開発中のものです。 mailto:sage [2010/01/27(水) 18:42:02 ID:4CYQjQL/]
だいたい4MBくらいか。たいしたことないな。

704 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 14:26:55 ID:DRAuGFCj]
小手先のテクとかはそれなりに分かってきたと思うんだけどゲームの作り方が分からん
うーんバイトでも探して勉強させてもらおうかな。でも使えないバイトとか来たら迷惑かな

705 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 15:45:51 ID:yml/58A3]
>>704
そもそも採用してもらえないと思うけど・・・
どこまで作れるのか知らないけど解説サイトも本もいっぱいあるし、いくらでも勉強できると思うんだけどなあ。



706 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 16:04:31 ID:X4/enaKn]
むしろ小手先にテクニックの方が理解は難しいと思うが。

いったいどんなゲームを目指してるんだ。

707 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 17:52:34 ID:DRAuGFCj]
シューティングで勉強してるけど思うようにいかない
とりあえず自機も敵機も○で表現して
直進する玉を打ったり衝突判定したりとかなら一応できたんだけど
なんか死ぬほど処理が重いし(処理落ちしまくり)、拡張しにくそうだし
機体のパラメータデータとかステージデータの扱い方とかもわからないし
今はちょっとハードルを下げてインベーダーに変えようかなと思ってる

708 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 17:55:43 ID:jCVSqiZx]
龍神録は見たか?

709 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 18:24:47 ID:kJL+rTdA]
>>707

どこの部分で処理食ってるか調べるんだ。

「衝突判定」が怪しいから、衝突判定を飛ばしてみて
処理落ちするかどうか確認するとか。

710 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 18:38:06 ID:DRAuGFCj]
>>708
まだなので、ちょっと読んできますね

>>709
というかボトルネックは衝突判定と玉の生成破棄ぐらいしか思いつかない
モートン順序とかネットで読んだりしたけどなかなか理解と実装までいけないですわ・・・

711 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 18:38:15 ID:jCVSqiZx]
dxlib使ってる環境で衝突判定による処理落ちはあまり考えられないんじゃないかなあ
俺はloadgraphとか自発的なSleepを疑う

712 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 19:21:22 ID:bXBGYPJV]
重いのは上司と女のケツ

713 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 19:23:42 ID:Pa0ASUM2]
足りないのは知識じゃなくて情熱

714 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 20:40:58 ID:/bsOILuR]
PCのスペックも分からんし、
「死ぬほど重い」がどれくらいなのかも分からない(FPS60で重いと言う人だっている)、
ゲームの内容もさっぱりだしなあ。

それでもプレイ出来ないほど重くなるとは考えにくいんだが。

715 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 20:57:24 ID:QBlyvB6i]
LoadGraphScreenをしてる、とか?
知り合いがなんか思いって言ってたからソース見たら、毎フレームスクリーンショットを取るという謎な動作してたりした。
ぶっちゃけ、重いってのはなんか変な事してるんだと思うよ。



716 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 21:35:34 ID:VeYpTI6t]
何が変なことかわかる経験をお持ちでないから仕方が無いことよ

717 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 21:37:02 ID:Pa0ASUM2]
俺も低スペックPCだと重くなる。
それもFPSがなぜか半分になる。
ウィンドウがノンアクティブでも動作する設定にしてノンアクティブにしたときの動作と似ている。
DXlib特有の何かがあるんだと思う。

718 名前:名前は開発中のものです。 mailto:sage [2010/01/29(金) 21:38:36 ID:QBlyvB6i]
ソースっていうかプロジェクトうpったらアドバイス貰えるかもね
ソース晒すの抵抗あるだろうし、個人的にVC++かVSじゃないと困るけど

719 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 00:36:37 ID:zzrUYLD6]
画像Aの(x, y)に画像Bの(x1, y1, x2, y2)を転送ってできます?

720 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 00:38:24 ID:cifYwtzO]
うん

721 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 06:43:38 ID:P5qgz5J8]
>>710
思いつく思いつかないじゃなくて
各セクションごとの消費時間調べて
どこがボトルネックなのか調べるぐらいはすべき

722 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 09:38:05 ID:BdSu0ysP]
PCのスペックも分からんし、
「死ぬほど重い」がどれくらいなのかも分からない
ゲームの内容もさっぱりだしなあ。

723 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 09:48:06 ID:EF522hf9]
昔、STGの敵を一体だけ出してテストしてたときに
妙に動きが重いなーと思ったら
300体の敵がピタリ重なって表示されていた

724 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 11:23:55 ID:BdSu0ysP]
俺もあったなw

725 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 11:50:08 ID:mWel1DHT]
あるあるw



726 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 12:31:38 ID:zzrUYLD6]
>>720
すいませんそれは一体どうやればいいんでしょう?
SetDrawScreen(handle);
Draw〜〜
とやってもバグってウィンドウの外に描画されてしまいます

727 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 12:46:37 ID:cifYwtzO]
>>726
BltSoftImage

728 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 12:49:56 ID:zzrUYLD6]
SoftImageって遅くないですか?

729 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 12:51:56 ID:cifYwtzO]
使い方による

730 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 15:02:29 ID:zvCh6Jzw]
そもそも早さを気にするような関数なのか?

731 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 16:16:41 ID:zzrUYLD6]
ソフトイメージ使ってみました
これは便利なものですね
しかしCreateGraphFromSoftImageで変換しないとアルファブレンドができないのが難点ですね

732 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 16:23:02 ID:cifYwtzO]
そもそも変換して使うもん
しないと君の言うとおり非常に表示が遅くなるよ

733 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 17:03:39 ID:zzrUYLD6]
おや、FillSoftImageがバグってますねこれ

734 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 17:04:55 ID:TNYZudKh]
ID:zzrUYLD6
(#^ω^)ビキビキ

735 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 17:07:37 ID:zzrUYLD6]
>>734
なにか?



736 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 17:21:39 ID:GX4pyXso]
愚痴ならチラシの裏にでも書いとけよ

737 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 18:18:02 ID:QgRnLSPg]
馬鹿な発言からして*SoftImageの解説を読んで無いな

738 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 19:10:19 ID:BdSu0ysP]
>>735
関係者なんだろ


739 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 20:21:19 ID:UcIFEpC1]
ID:zzrUYLD6
(#^ω^)ビキビキ

740 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 20:29:33 ID:zzrUYLD6]
>>739
言いたいことが有るならハッキリ言ったらどうです
コピーアンドペーストしかできないというわけではないんでしょう?

741 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 21:04:41 ID:wCFnb5ju]
>>733バグがあるって言うなら、ちゃんと症状を書いて欲しい
ちゃんと検証をしないでバグがあるって言うのは荒らしと同じだよ

742 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 21:10:38 ID:cifYwtzO]
どう考えてもこいつの仕様把握ミスか使い方間違ってるかだけどな

743 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 21:47:57 ID:zzrUYLD6]
codepad.org/JesphHgh
www1.axfc.net/uploader/Img/so/71545

バグだろ

744 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:05:12 ID:BIjXD56Q]
会話で否定から入るタイプ
礼を言わない自分のことばかり

745 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:16:56 ID:nicWHVwK]
こういう奴はなぜか自分が嫌われてることに気づかないんだよなw



746 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:22:34 ID:dQt5iAcR]
もうそのへんにしとこうぜ。

747 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:46:17 ID:zzrUYLD6]
>>743に問題が有るとして、それを指摘できるレベルの人間はここにはいないと言うことでよろしいでしょうか?
もし問題がないのなら、私に対していわれのない批判を向けた人たちは謝罪するべきです
私はそれが社会人としての最低限のマナーだと考えます

748 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:55:31 ID:cifYwtzO]
何かモノを教えてもらった際にはお礼を言いましょう
私はそれが社会人としての最低限のマナーだと考えます

749 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 22:58:58 ID:ZFqeJ0u6]
そもそも何がしたいのかわからん

750 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 23:02:09 ID:dQt5iAcR]
>>747
>もし問題がないのなら、私に対していわれのない批判を向けた人たちは謝罪するべきです

俺は静観してただけだから無関係だが、
説明しなければ批判受けてもしょうがなかろう。

751 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 23:11:56 ID:m0apTEno]
DXライブラリをビルドできる環境が無いのでなんとも言えないが
Ver 3.01 での NS_FillBaseImage関数 (DxBaseImage.cpp の5124行目あたり) で
DWORD の Color が WORD にキャストされているので、ARGBのうち、ARが捨てられている気がする
このキャストをなくせばいいんじゃないかなー


752 名前:名前は開発中のものです。 mailto:sage [2010/01/30(土) 23:28:01 ID:zzrUYLD6]
>>751
DWORDに修正してビルドし先のコードで試したところ正常に動くようになりました
丁寧に修正箇所も教えていただいて、どうもありがとうございました!

753 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 06:29:35 ID:7H/reV3I]
馬鹿ばっかり・・・

754 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 13:54:18 ID:HHPX/Q69]
>>753
もっと蔑んだ目で言って下さい

755 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 14:32:44 ID:CuC3sxxQ]
>>754
      | |/ノ二__‐──ァ   ヽニニ二二二ヾ } ,'⌒ヽ
     /⌒!|  =彳o。ト ̄ヽ     '´ !o_シ`ヾ | i/ ヽ ! 
     ! ハ!|  ー─ '  i  !    `'   '' "   ||ヽ l |



756 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 15:25:26 ID:JBJvvpkE]
>>754
        ',::r、:|  <●>  <●>  !> イ
        |:、`{  `> .::  、      __ノ
       |::∧ヘ  /、__r)\   |:::::|

757 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:18:12 ID:2P10BkIV]
アニメーション作りたかったから
double owari;
do{
DrawGraph(0,0,player[3],TRUE);
DrawGraph(0,0,player[4],TRUE);
DrawGraph(0,0,player[5],TRUE);
DrawGraph(0,0,player[6],TRUE);
owari = FALSE
}while(owari = TRUE);
やったらパソコンが動かなくなったよ!
誰か助けて

758 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:22:47 ID:JBJvvpkE]
owari==true

759 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:25:48 ID:2P10BkIV]
出来ました!!
ありがとうございます
しかし画像が動いてない・・・

760 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:43:27 ID:PA+3lzr7]
そりゃScreenFlip挟んでないからな…

761 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:45:11 ID:2P10BkIV]
画像も動いたし一件落着かと思ったんですが
double owari;
do{
SetDrawScreen( DX_SCREEN_BACK ) ;
ClsDrawScreen() ;
DrawGraph(0,0,player[3],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[4],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[5],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[6],TRUE);
ScreenFlip() ;
WaitTimer(500);
owari = FALSE;
}while(owari == FALSE);
これじゃあゲームが終わりません
誰かアニメーションの書き方を教えてください


762 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 17:52:12 ID:PA+3lzr7]
ClsDrawScreen();

static int a = 0;
DrawGraph(0,0,player[3+a],TRUE);
if(a<3)a++;

WaitTimer(500);
ScreenFlip() ;

763 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:01:12 ID:2P10BkIV]
ありがとうございます
試してみたんですが、画像が動いてくれません
これはwhileの中に入れて使用するんでしょうか?


764 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:13:29 ID:c9TXpFDF]
コピペするだけじゃなくて、その命令の意味をよく考えてみよう。

765 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:16:33 ID:JBJvvpkE]
とりあえず龍神録読んで来い



766 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:29:11 ID:W0mdJ7eW]
それ以前にリファレンスを嫁
あんだけわかりやすいのがあるんだから・・・

767 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:31:18 ID:HHPX/Q69]
基本的な考えを理解してないな。
例えば絵が1ドットずつ動くプログラムだとすると

  座標0に表示
    ↓
  座標1に表示
    ↓
  座標2に表示
    ↓
  座標3に表示
    ↓
     :

って書くんじゃなくて(これは>761の書き方)、

  座標xに表示 ←―┐
    ↓        |
  xを+1する      | 繰り返す
    ↓        |
    └―――――┘

って書くのを意識するといいよ

768 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 18:35:18 ID:1VFB3DYv]
かわいいなw

769 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:00:00 ID:2P10BkIV]
double owari;
do{
ClsDrawScreen();
static int a = 0;
DrawGraph(0,0,player[3+a],TRUE);
if(a<3)a++;

WaitTimer(500);
ScreenFlip() ;
owari = FALSE;
}while(owari == FALSE);
こうやってみました
aが0に戻らなくて[6]がずっと表示されてしまいます
あと、できればdo{}while();は使いたくないです



770 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:07:41 ID:dC7YcGqj]
static intがまずいんじゃなか?

771 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:10:47 ID:PA+3lzr7]
>>769
>aが0に戻らなくて[6]がずっと表示されてしまいます
わかってんならaを0に戻せよ…
whileでもforでも好きなもんを使えよ…
>>764-767無視すんなよ…

772 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:13:09 ID:CfyGLtto]
まずはC言語勉強してこい

773 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:23:57 ID:2P10BkIV]
>>771
すいませんでした
if(a>3)a=0;を追加したんですが止まってしまいます
>>764
考えて>>769をつくってみました!
>>765
そのサイト、アニメーションについて載ってなくて…
>>766
homepage2.nifty.com/natupaji/DxLib/dxfunc.html
このページでしょうか?
何回か読んだのですがアニメーションについて載ってなかったです…
>>767
座標を動かさないようにするんですか?
>>768
ありがとうございます
>>770
消してみたんですが、動きすらしなくなりました



774 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:32:13 ID:JBJvvpkE]
アニメーションでなく根本的な所から理解出来てない
龍神録一通りやってゲームプログラミングの基礎を学べ

775 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:36:09 ID:2P10BkIV]
すいませんでした
まだ自分はなにも理解していないみたいなので
もう一度最初から学び直してきます
みなさんありがとうございました



776 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:36:15 ID:PA+3lzr7]
>>773
もうDXライブラリ以前の問題だからVIPで聞け
yutori7.2ch.net/test/read.cgi/news4vip/1264908880/

777 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:36:48 ID:GeAXL5Qw]
a=3になってるから

778 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:37:45 ID:Di+guFUQ]
>>770
>>772

>>773
if(a<3)a++;
if(a>3)a=0;

こうしたんなら a=3 の場合はどっちも掛からないから a=3 のまま止まるわなあ

779 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:43:39 ID:2P10BkIV]
>>777
>>778
if(a>=3)A=0;
にしたらきちんと動いてくれました!
でも学び直してきます
ありがとうございました
>>776
ありがとうございます
次からはそこで質問しますね

780 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 19:44:26 ID:2P10BkIV]
うそです
Aじゃなくてaです

781 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 20:01:10 ID:uYVfFOYk]
このライブラリって64bit windowsでも
問題なく動くの?

782 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 20:09:34 ID:CfyGLtto]
動かないんじゃね?
ライブラリをDLLにすれば動くかも

783 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 20:09:49 ID:0ATLaas4]
なんで?

784 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 22:57:51 ID:W0mdJ7eW]
普通に動くよw
ネイティブでって意味ならたぶん動かないけど、そういう事じゃないだろ?

785 名前:名前は開発中のものです。 mailto:sage [2010/01/31(日) 23:29:30 ID:CfyGLtto]
ゲームが実行出来るかじゃなくて
正常にビルド出来るかって意味かと思った
つーかそれだとDLLでも動かないねすまん



786 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 00:07:00 ID:2kqPhNjN]
ビルドもVSとか使ってるなら通るはずだよ
俺この間までWin7の64bitと、XPの32bitで出先<->家での開発してたし

787 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 01:01:10 ID:YQ/gjtQh]
本体のビット数とDLLのビット数が違うとダメだけどね。


DXライブラリでもゲーム制作の話でもないけど
この間それで問題が起きてね……w

788 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 16:57:45 ID:Lf2Nvhz5]
なんで?

789 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 17:45:18 ID:ooYrGYNe]
なんだっていいさ

790 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 18:32:39 ID:864q13BL]
long doubleとか使って試せば
787かいいたいことがわかるとおもう
たぶん

791 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 18:36:19 ID:PxBHY40/]
いや、32bitアプリからは64bitDLLは使えないし
64bitアプリからは32bitDLLは使えない。
だから通常、DLLまで用意する場合じゃ無けりゃ32bitで作ればいいんだけど
.NET FrameworkでAny CPUで作った場合はまることがある。
DLLはネイティブで32bit固定なのに、EXEは実行環境によって32/64変わるから
開発時の環境が32bitだと気がつかない。

ということじゃないかなあ。

792 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 18:52:33 ID:Lf2Nvhz5]
それで?

793 名前:名前は開発中のものです。 mailto:sage [2010/02/01(月) 18:58:44 ID:xufADCF/]
ググレカス

794 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 13:39:47 ID:EWwGB+Nl]
libを32bitで作って64bitマシンでコンパイルしたオブジェクトとリンクしても問題ないの?

795 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 13:53:12 ID:ZXzo3Aq8]
なんで?



796 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 13:54:59 ID:6T1hs+2r]
ビルド時のターゲットはビルド環境とは関係ない

797 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 18:27:35 ID:NU2kONNz]
「64bitマシンでビルドする」というのと、「64bit用アプリとしてビルドする」というのは別物ってことよね。
コンパイラが対応しているかどうかは別として。(比較的最近のVisualStudioなら問題なし)
もちろん、32bitでも同様。

で、開発マシンが32/64問わず、
 64bit用としてビルドしたアプリ本体 + 32bit用としてビルドしたDLL → 動かない
 32bit用としてビルドしたアプリ本体 + 32bit用としてビルドしたDLL → たぶん動く
であると。

798 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 21:43:09 ID:ZXzo3Aq8]
それで?

799 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 22:29:37 ID:ocqUn9yT]
なにが?

800 名前:名前は開発中のものです。 mailto:sage [2010/02/02(火) 23:35:47 ID:3geZi3lZ]
つーか64Bitアプリにするほどメモリ使うゲームを作るのかと。

801 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 05:04:33 ID:U8Pd5rkG]
なんで?

802 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 05:54:02 ID:XTUJJ4Iu]
基本的には32bitアプリでも動くって話だけど
その基本的って部分がちょっとだけ気になる。

803 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 08:44:53 ID:g7fkj8BM]
64BitOSで動かすことを気にしてるなら
従前どおりの32Bitアプリが何の問題もなく動くので徒労。

メモリを4GB以上使いたい場合以外にあえて64Bit化する意味は薄い。

804 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 14:05:09 ID:5f3a6r9D]
シューティングの画像ってサイズ奇数にして中心にオブジェクトのxyを持ってきた方が作り易い気がするんだが、みんな普通にx1y1x2y2でやってるの?

805 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 14:18:36 ID:gyXnlokN]
場合による。

長方形のキャラ(回転なし)とかだと後者の方が便利だし。



806 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 15:51:20 ID:U8Pd5rkG]
なんで?

807 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 22:19:22 ID:WAfqMpru]
お前を食べるためさ!

808 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 22:40:10 ID:U8Pd5rkG]
変態

809 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 23:31:20 ID:y+n9ea+J]
DxLIBだとインストール済みのフォントデータしか使えないのかな?
思っていたより使い勝手悪いな…

810 名前:名前は開発中のものです。 mailto:sage [2010/02/03(水) 23:39:52 ID:mUdTkHdF]
よくわからんがフォントリソースとして読み込んでから使えとか見た気がするな

811 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 01:32:44 ID:9yr7SgZz]
d
AddFontResourceを使ってゲーム起動時に追加出来た

812 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 10:22:35 ID:B+CnvqXs]
思っていたより使い勝手悪いな…

813 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 15:03:56 ID:0uWBCETA]
DXLIBのデータファイルの暗号化機能を使おうかと思うんだけど
パスワードってリテラルでEXEに埋め込んじゃってダイジョブなん?

814 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 15:08:11 ID:WAZ4oke5]
思っていたより使い勝手悪いな…

815 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 18:53:49 ID:QxyExYir]
なにがどう大丈夫なのか解らんが、
自分で何とかできないのなら諦めて普通に使うしかないだろう。



816 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 18:55:51 ID:0uWBCETA]
いや、キーがバイナリエディタとかで見えちゃうんじゃないかなと思って・・・

817 名前:名前は開発中のものです。 mailto:sage [2010/02/04(木) 19:04:15 ID:1Mq3yDnQ]
>>816
ようは
「入力された文字」==「キー」
ってやってもだいじょうぶかきいてるんだろ?

キーはみえる


818 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 01:25:04 ID:a9qwHvOS]
乱数とかつかって謎の文字列を生成する関数とか作って
それをキーに使ったほうがわかりにくくていいんかな

819 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 01:30:13 ID:y9Rl8Gqj]
自分でそれができるのならやればいいのでは。
どうしてそこまで隠したがるのか知らないけど。

俺は、俺の作ったゲームをプレイした人が
「このゲームの生データ見てみたい!」
って思ってくれるほど魅力があるデータを作れた自信がないから
そこまで心配はしてないな。

820 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 01:31:15 ID:RCBVAjHS]
>>816
暗号鍵を何かでエンコードしてリテラルとしてソースコード埋め込んどいて、SetDXArchiveKeyStringにデコードして渡すとか?

821 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 02:23:43 ID:9VhG5z2Z]
暗号化の機構と、暗号鍵と、暗号化の対象が全て一箇所にある以上
どうしようもない気はする

822 名前:名前は開発中のものです。 [2010/02/05(金) 16:46:58 ID:N9JJZcSG]
キャラのポリゴン数ってどれくらいが理想?
今のところ10000ポリゴンはあるんだが。
ちなみにメタセコでCark(分割)4の曲面化つかったデータね
ちなみに胴体だけです
これじゃ動かないかなあ

823 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 16:50:07 ID:qcSvBbHw]
みんな画像や音声のロードってどうしてるの?
NowLoading...のアニメーションを動かしながらロード、ってのをしたいんだけど、
読み込みとアニメーションを並行してやる方法が分からないんだ

824 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 16:52:34 ID:Ir4+43zS]
>>822
>>492

825 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 19:50:51 ID:EoD901Y8]
マルチスレッドじゃね



826 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:17:16 ID:Ir4+43zS]
>>823
1フレームに1つずつファイルを読み込みながらアニメーション表示させる。
マルチスレッドを使ってもいいけどこっちの方が簡単。

827 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:25:49 ID:qcSvBbHw]
>>825
公式の掲示板の過去ログで、2007年にLoadGraphはマルチスレッドに対応してないみたいな事を管理人さんが・・・

>>826
音声ファイルとかだと1フレームの間にロードし終わってくれますかね・・・?

828 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:30:27 ID:g1+Hi/0a]
俺も>>826の方法だけど
たしかにちょっと止まるな

829 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:30:28 ID:EoD901Y8]
起動時に全部読み込んで後でNowLoadingだけ表示しとけばいいんじゃね

830 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:38:57 ID:XWwIt0Ve]
本末転倒w

831 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 20:58:53 ID:Ir4+43zS]
個人的な感覚でだけど>>829の方法が可能ならこれでいいんじゃないかな。
そもそもプレイヤーにストレスを与えないようにするのが目的だし、実際「NowLoading...」と表示しておきながら読み込み以外の処理もしてたりするしね。
あと>>826の方法は確かに処理落ちする可能性はあるけど何か問題あるの?
どうせプログレスバーを表示させるぐらいじゃないの?

832 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 21:03:23 ID:g1+Hi/0a]
>>829はネタレスだろw

833 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 21:04:42 ID:qcSvBbHw]
>>831
起動時に全部読み込むと、読み込みファイルのサイズが大きくなったときにちょっと・・・。
できるだけ逐次ロードしたいから・・・。
あと、最初に読み込もうとすると数秒止まっちゃって、それが気にくわないというかストレス。

834 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 21:37:34 ID:RBAQ2+kz]
マルチスレッドなしならなうろーでぃんぐはアニメーションさせないのが一番

835 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 21:58:05 ID:RjYJfLjO]
かなりいい加減なコードだけど、スレッドを使った Now Loading のサンプル
ttp://codepad.org/HMbYruHZ




836 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 22:31:40 ID:qcSvBbHw]
>>835
おお・・・ 参考にしてみまする

837 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 22:43:27 ID:Xzk70bEL]
i=0;
なんかループ{
  なんかロード1コ
  なんかナウローディングとか表示
  なんか四角とか描画(x, y ,x+i, y);
  画面更新


CとかDirectXライブラリの記述方法は忘れた

838 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 22:55:33 ID:9VhG5z2Z]
DXライブラリはともかく、Cの表記とゲームプログラミングの作法は忘れんなw

839 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:11:28 ID:a9qwHvOS]
ファイル単位で読み込もうとするからデカイファイルのせいで処理落ちするコマが出てくるんじゃね?

while(!end())
{
read( Nバイト );
draw();
}

これならフレームレート安定するだろう
でもわざわざ読み込み速度を意図的に落としてまでやるべきなのかは疑問

840 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:14:04 ID:+ZQFEOdr]
DXライブラリで
>read( Nバイト );
ってどうやんの?

841 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:19:28 ID:qcSvBbHw]
スレッド使ってロードしようとしたらエラー吐いて落ちた・・・。
やっぱりLoadGraphはマルチスレッド対応してないってことなのかな・・・。

>>839
kwsk

842 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:29:20 ID:ax38IgEf]
>>835のコードだったらわざわざマルチスレッドにせずとも>>826でやればいいような気もするが

843 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:31:09 ID:9VhG5z2Z]
自己満足で!(超重要

844 名前:名前は開発中のものです。 mailto:sage [2010/02/05(金) 23:45:43 ID:tUrF1ELA]
スレッド系はきっちり作らないと他人の環境限定で
ある日突然落ちたりしてデバッグで泣くことになるぞ。

CPUのコア数によって出たり出なかったりとかするからな。

845 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 02:01:00 ID:npht8xA6]
Now loading...のアニメーションを動画にしたらどうかな?



846 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 02:46:06 ID:Y+vgz54E]
その動画を読み込ん出る間のNow Loading画面が欲しくなるね!

847 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 03:13:17 ID:ryKI6KOb]
Now loading...をLoading Complete!に修正すればよくね

848 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 04:54:47 ID:sLGxAtvo]
「ロードした」なら使ってもいい!

849 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 07:42:28 ID:heYW4fwh]
>>829はネタのつもりで書いただろうけど、実際にやってる人を見たことあるよ。
静止画を表示しながら読み込み(2秒間)⇒「NowLoading...」(0.2秒)
本人曰く「ただ気分を味わいたかった」と。
でも実際のゲームを見てみるとプレイヤーからはそれは分からないし、むしろ「ロード早いなあ」という印象すら受けた・・・
これも一つの答えなんだと思ったよw

マルチスレッドを使う方法は↓に書いてある。
hpcgi2.nifty.com/natupaji/aska.cgi

あと画像はLoadDivGraphで分割読み込みができる。

850 名前:849 mailto:sage [2010/02/06(土) 07:48:32 ID:heYW4fwh]
すみません。
掲示板のリンクがダメですね・・・
記事No「1896」です。

851 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 09:42:16 ID:AjOTNEN+]
>>849
LoadDivGraphで分割読み込み、ってアレはひとつの画像を複数の画像に分割するんであって、
分割してひとつの画像読み込むわけじゃないっていう

マルチスレッドの方は読んでみた
応用してやれないか試してみる

852 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 13:12:13 ID:6i+WO82B]
そもそも円滑にアニメーションさせる必要なくね?
要所要所で動作が若干止まったりしたほうが読み込んでるっぽくてユーザも安心するし

853 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 13:15:04 ID:m1I5HW8a]
じじいの酷い言い訳

854 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 13:30:09 ID:xpV9NzXE]
じじいくらべならまけませんよ?

855 名前:名前は開発中のものです。 [2010/02/06(土) 14:19:32 ID:heYW4fwh]
アニメーションの種類によるんじゃなかな?
読み込みの進捗を表示させるようなタイプなら>>823で多少カクカクしても問題ないと思うし、むしろマルチスレッドにすると同期を取るのがめんどくさいし。
逆にもっと派手なアニメーションだと処理落ちすると見栄えが悪くなるのでマルチスレッドにするしかないと思う。
ただ個人的には同人ゲームなら静止画で「NowLoading...」と表示させておくだけで十分だと思うんだけど・・・



856 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 15:27:53 ID:hilmmGtE]
静止画1枚だとフリーズしてんのかな?って不安になる

857 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 16:16:36 ID:+7JZw7l0]
カクカクでもいいならマルチスレッド必要ないよな

858 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 16:21:12 ID:AjOTNEN+]
せめてNowLoading... [ ココ ]   で何かのアニメーションはさせたいよね

859 名前:名前は開発中のものです。 [2010/02/06(土) 22:28:44 ID:fMJ0B1gK]
そこは操気弾のアニメを

860 名前:名前は開発中のものです。 [2010/02/06(土) 23:38:51 ID:cCb1U7aq]
これって3dもつくれるんだよね?
Blenderにも対応してる?

861 名前:名前は開発中のものです。 mailto:sage [2010/02/07(日) 07:39:53 ID:cnkJTmx7]
>>860
>これって3dもつくれるんだよね?
作れるよ。

>Blenderにも対応してる?
モデリングソフトの対応状況は過去レスを見てみて。
BlenderはFBXが使えるみたい。

862 名前:名前は開発中のものです。 mailto:sage [2010/02/11(木) 23:41:27 ID:AgKonL0C]
メタセコで武器だけ作って、それを3Dのキャラモデルに持たせるのはどうやるんだろう。
DXライブラリの範疇ではないのかな。

なにか調べる取っ掛かりはない?

863 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 02:48:39 ID:iGppiI+j]
位置とか角度の親子関係を作れればいいんじゃないかな

864 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 04:35:23 ID:Z51oc7q7]
>>862
DXライブラリは知らんけどリアルタイムレンダリングがデフォじゃない?

865 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 07:46:33 ID:gSVuHgsF]
>>862
「コンストレイント」で検索してみるといいよ。
やり方は簡単で>>863の言う通り、「手」の移動と回転を「武器」に加えるだけ。



866 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 15:42:11 ID:9oJmNhGP]
DrawChipMapってどうやって使うの

867 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 21:24:07 ID:m/RgGbdM]
GetNowHiPerformanceCount()の内容をprintfしたいんですが%dの部分を何に変えたらいいですか

868 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 21:53:10 ID:5g1bekrX]
g

869 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 22:17:37 ID:gSVuHgsF]
>>867
試してないけど戻り値がLONGLONG型なので「%I64d」か「%lld」じゃないかな。

870 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 22:39:37 ID:3A3ijQ60]
>>863-865

サンクス!

やり方、納得です。
取り敢えず手の回転並進行列とって、そのまま武器に適用させてみる。

871 名前:名前は開発中のものです。 mailto:sage [2010/02/12(金) 23:19:30 ID:gSVuHgsF]
>>866
チップグラフィックを使ったマップ描画
int MapWidth, MapHeight : マップデータ全体の幅と高さ
int *MapData : マップデータが格納されたアドレス
int ChipTypeNum : マップに使うチップの種類の数
int *ChipGrHandle : チップのグラフィック配列のアドレス
int TransFlag : 透過色処理の有無
int MapDrawX, MapDrawY : 描画するマップの起点となる左上座標
int MapDrawWidth, MapDrawHeight : 起点座標から描画するマップの幅と高さ
int ScreenX, ScreenY : マップを描画する画面上の座標

(2004/02/08)
2.11 DrawChipMap 関数を非公開関数に変更。

872 名前:名前は開発中のものです。 mailto:sage [2010/02/13(土) 00:47:58 ID:lykIm1Dn]
>>868-869

サンクス!

lldでいけました。

873 名前:名前は開発中のものです。 mailto:sage [2010/02/13(土) 18:36:09 ID:nVI35ftX]
1つの画像に対して、縦横で別倍率の拡縮、および回転を同時に行うとき、
何か簡単な方法って無いものかな?
拡縮してから回転させたときと、回転させてから拡縮するときとで結果が異なるけどさ。

無いなら無いで、自前で座標を計算してDrawModiGraph()に投げるつもりだけれど。

874 名前:名前は開発中のものです。 mailto:sage [2010/02/13(土) 19:30:01 ID:pV6Ocbxc]
ないので俺は自分で関数作った

875 名前:名前は開発中のものです。 mailto:sage [2010/02/13(土) 22:38:54 ID:nVI35ftX]
そっか、ありがと。



876 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:14:56 ID:9DOaOyQ2]
半透明処理で

ClearDrawScreen()
SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・
DrawGraph(・・・
ScreenFlip()

って書いたら、1箇所使っただけなのにかなり処理が重くなる

DrawGraphが悪い?
フレームスキップするしかない?

877 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:20:54 ID:lH/o5bwf]
いや、俺普通に何箇所も使うけど重くなんないよ?

本当にその四行だけで試してみた?

878 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:21:28 ID:I7ZtRrpB]
フレームスキップは基本過ぎるだろ

879 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:24:26 ID:9DOaOyQ2]
>>877

ClearDrawScreen()
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・
DrawGraph(・・・ // 半透明させるの画像
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
ScreenFlip()

こうやってます
画像を重ねる都合上、
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) を2回やってます
もっと効率よい方法があるんでしょうか?

880 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:26:43 ID:9DOaOyQ2]
>>877
フレームスキップってどうやればいいでしょうか?
画面処理を別スレッドにして、処理時間オーバーしたら放棄、
でいいの?

881 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:27:36 ID:9DOaOyQ2]
すみません
880 は >>878へのレスです

882 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:32:50 ID:r2nQlTSv]
>>879
いちいち戻さない方が速いかも

883 名前:名前は開発中のものです。 mailto:sage [2010/02/14(日) 21:34:14 ID:I7ZtRrpB]
>>880
ググれば幾らかサンプルコードが出てくる。確か龍神録でも触れてたと思うし。
PC上で動くゲームを作るのなら秒間60回更新するように調整するのは基本中の基本。
DXLIBに限った話じゃない。CPU使用率が異常に高かったりしたら間違いなくこっちの問題でしょ。

884 名前:879 mailto:sage [2010/02/14(日) 21:58:05 ID:9DOaOyQ2]
3番目の↓
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
が処理を重くしてる原因だったので、これを削ることにしました
ありがとうございます

龍神録というサイトを初めて知ったので、質問してよかった
>>883 ありがとうございます

885 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 08:08:26 ID:BUryD20y]
何故そこだけ問題があったんだろう。気になる。


>873だが、色々な変形に対応させようと思うと結構面倒だな。引数も増えるし。
回転と拡縮だけにしてしまうか。

……とここまで書いて、
画像クラスを作ってしまえば簡単だということに気づいた。



886 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 20:26:12 ID:ccjc3ij8]
平面だけでいいなら2*2行列に行列演算を繰り返して
最後にその4点にあわせてDrawModiGraphするってのが汎用的で記述もわかりやすくていいんじゃね?
どっかからできの良い数学ライブラリ持ってきてもいいし
回転拡大スライド程度なら簡単な行列計算だけに絞れるから自分で作ってもいい

887 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 20:55:41 ID:BUryD20y]
行列とか完全に忘れてて愕然とした orz


>>886
結局のところ、妥協して回転、拡縮、左右/上下反転の3つだけ関数にしたんだが、
どっちかっていうと、コーディングよりも設計に悩んでた。

変形する順番によって最終的な結果が変わる場合があるから、
それらに対応しようとすると、その分だけ引数も増えるわけで、結果として使いにくい関数になっちゃうのよね。

で、画像をクラスにして

 ImageClass img;

 //中略

 img.rotate(3.14);    //180度回転
 img.extend(1.0,2.0);  //縦2倍
 img.rotate(1.57);    //90度回転
 img.draw(0,0);      //0,0に描画

とかでも良かったかな、と思った。


888 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 21:00:03 ID:K58uOKXK]
・画像内での基準点の位置
・上の基準点が実際に描画される位置
・基準点を中心としたスケール
・基準点を中心とした回転角度
で十分だと思うけど

889 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 21:57:09 ID:BUryD20y]
>>888
それだけで引数7つあるぜ?

各変形の優先度を決める(もしくは同じ変形を複数回行う)とか、
回転と拡縮以外の変形も出来るようにするなら、どれだけ増えるんだ。

890 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:01:20 ID:8F/ucvej]
回転と拡大縮小って別に順不同じゃね
基点となる座標が変われば別だが

891 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:17:52 ID:BUryD20y]
>>890
ゲームの都合上、縦横で別々に拡大率を設定できるようにする必要があった。


正方形を、90度回転させてから、横に2倍
□□ → ■□ → ■■□□
■■ → ■□ → ■■□□

横に2倍にしてから、90度回転
                ■□
□□ → □□□□ → ■□
■■ → ■■■■ → ■□
                ■□

みたいに変わる。

892 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:23:00 ID:8F/ucvej]
>>891
それって渡す引数のほうを工夫すればいいんでねーの
二つ目は90度回転してから縦に二倍しても同じものを得られるわけだし

DrawExRotaGraph2(int x,int y,int cx,int cy,double ExtRateX,double ExtRateY,double Angle,int GrHandle,int TransFlag,int TurnFlag);
10個だな

893 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:29:12 ID:BUryD20y]
>>892
質問、90度以外でも渡し方次第で出来る?

894 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:31:47 ID:8F/ucvej]
>>893
出来るんじゃね

895 名前:名前は開発中のものです。 mailto:sage [2010/02/15(月) 22:57:23 ID:ccjc3ij8]
引数が多いと見苦しいし、書く順番でちょっと混乱しそう
それに回転と伸縮どっちが優先か見た目に明らかじゃないのも気になる



896 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 00:28:56 ID:ytIVItbu]
なんに使うのかがそもそも想像できない俺……。

897 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 03:07:21 ID:JDL3KQO6]
>>896
こんな感じでどう?
gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0079jpg.html

898 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 04:51:49 ID:iDbvu+FE]
>>897
( ゚д゚)ポカーン

899 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 05:23:23 ID:g5MLEwas]
ようやく理解できた

900 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 06:40:46 ID:OQUeahIO]
3Dでやれば簡単だぜ

901 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 09:20:21 ID:aK6xRRB6]
把握。
そういう力技、嫌いじゃないぜw

902 名前:898 mailto:sage [2010/02/16(火) 10:16:29 ID:JDL3KQO6]
すまん、いい例えが思い浮かばなかったんだw

903 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 10:17:15 ID:JDL3KQO6]
名前間違えた、897だ

904 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 11:28:24 ID:iwCPzVGw]
GetDrawStringWidthの第二引数StrLenはどういう意味があるのでしょうか?
マニュアルには
> StrLen として文字列の長さをわざわざ指定する ようにしたのは色々な側面から見て文字列の長さを指定できるよう にしたほうが良いと思ったからです。
と書いてありますが、どういうケースで指定が必要になるのか想像がつきません。

905 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 12:41:35 ID:ghUeZnk+]
>>904
DXライブラリの作者さんがそう考えただけで、別に必要なければ使わなければいいだけでは?
例を挙げておくとこんな感じ。第二引数は指定できなくても書けるけど複雑になってしまう。

char Str[] = "今日もいい天気だ";
int MaxWidth = 50; // この幅に収まるように描画したい
int MaxChar = 0; // MaxWidthに収まる最大文字数
for( int i = 0; i < strlen(Str); i++ )
{
 StrWidth = GetDrawStringWidth( Str , i ) ;
 if(StrWidth < MaxWidth)
 {
  MaxChar = i ;
 }
}
Str[MaxChar] = '\0' ;
DrawString( 0 , 0 , Str , GetColor( 255 , 255 , 255 ) ) ;



906 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 12:56:47 ID:iwCPzVGw]
>>905
なるほど、理解しました。

907 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 13:02:27 ID:JDL3KQO6]
辛うじて一度だけ使った記憶があるな。
メニュー画面だったかな。文字列をセンタリングして表示するのに利用した。

文字列の前後に空白や記号がある場合、
それらも含めた文字数で横の長さを決めると、ちょっとズレて見えることがある。


……ぶっちゃけた話、
他にも方法は色々あるだろうとか、メニュー画面くらい画像にしろよとか思うので
使う機会はあんまり無い気がする。


908 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 17:38:15 ID:S7mGVY2n]
C/C++以外からDLL経由で使おうとするとnull文字で終わってない文字列とか渡すのに便利です

909 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 21:28:56 ID:QXMNjoNk]
>>873
DrawModiGraph()とアフィン変換
アフィン変換 クラスでググるといいかもしれない

910 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 22:33:22 ID:7n/4grgh]
逆に文字列の長さよりもStrLenの方が短い場合とかに使うんじゃね?
デバッグ文表示で最後まで表示しないで途中で切ることとかよくあるんじゃね?

911 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 23:25:40 ID:b96KcuEj]
アフィン変換か・・・左右反転と拡大縮小って同時にできるもんなんだな、しらなかった
でもこれってソースになる元画像を読んでからやるの?格納してからメモリ上の画像をハンドルで指定して操作したりできるんだろうか

912 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 23:50:46 ID:QXMNjoNk]
あ、左右反転もなのか
DrawModiBillboard3Dのがいいと思う

913 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 00:19:59 ID:BMwZx7QF]
>>912
いや自分は873ではないんだけれども、参考になったので書かせてもらった。横槍すまんね
DrawModiBillboard3Dって左右反転できるのか。x1を右上の座標、x2を左上の座標、x3とx4も同様に交換ってやれば反転するのかな?

914 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 02:18:28 ID:V7zWpnOB]
ゲームで銃の連射中の音を作りたい
例えば 「ドッギュウン」て音声のファイルがあったとする。
そのファイルを使って単発発射で「ドッギュウン」、連射で「ドッドッドッドッドッギュウン」ってなカンジにしたいんだけど
音声の再生中かを CheckSoundMemで調べて、再生してなかったら再生してもヨシってすると案の定
「ドッギュウン・ドッギュウン・ドッギュウン・ドッギュウン」ってカンジになってしまう。
なので、ソレをナシにすると1ループごとに再生するんであまりにも早くて
「ドドドドドドドドドドッギュウン」ってカンジになる。
音声の再生位置を調べて、ある程度達してたら再生ってやろうと思ったけどそんな関数は無かった。
だから適当に変数用意して3ループ目ごとに再生ってカンジにしようとしているんだけど…(ゴチャゴチャする気もするが)

一般的なゲームの場合ってこういう時どうしてるの?
音声を二つ「ドッドッドッド」「ドッギュウン」用意して、ボタン押しっぱなし時は「ドッドッド」、離す・もしくは一押しの時は「ドッギュウン」とか?




915 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 02:32:31 ID:ccv1Zplj]
ボタン押してる間「ドッ」をループ
離したら「ッギュウン」でいいんじゃねーの?



916 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 05:47:58 ID:9a0E55gk]
そんなめんどくさいことしなくても
弾の発射間隔を広げるか、数発ごとに発射音を鳴らすようにすればいいじゃん


917 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 06:26:15 ID:CMLdNZJw]
弾を撃つと開始されるカウンタを作って
そのカウンタが条件を満たしたとき音を鳴らせばいいんじゃないの?
1ループごとだと早すぎるんなら1おきにするとかもできる。

918 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 08:34:48 ID:MHINozGj]
>>912
自前で変形させるなら、2Dでも3D(ビルボード)でも大差なくない?

919 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 13:16:50 ID:WoQHqNki]
>一般的なゲームの場合ってこういう時どうしてるの?
FFのデータ見たら、あらかじめ重なった時の効果音も
組み合わせごとにいっぱい入ってて、意外だった
とかいう話を、どこかのスレで見たような、見なかったような。
手間と配布方式とかによって変わってきそう。

920 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 19:53:18 ID:b05sIrPr]
>>918
カメラ使って視点操作で楽できるからじゃね?


921 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 21:17:38 ID:MHINozGj]
ああ、なるほど。

カメラで視点操作ってことは、一括だよな。
メリットでもあるしデメリットでもあるという感じか。

922 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 22:06:32 ID:BMwZx7QF]
DrawModiBillboard3Dって描画位置が変にならない?
前にDrawBillboard3DをDrawModiBillboard3Dにそのまま置き換えてみたら同じ位置に描画されなかったから使うのやめちゃったんだけど

923 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 22:17:31 ID:V7zWpnOB]
>>915-917
多彩な案サンクス!やってみるよ俺

924 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 02:17:33 ID:artpUogb]
アフィン変換ってのとDrawModiGraphでよくね?
DrawModiGraphで左右反転は入れ替えで普通にできたよ。
アフィン変換の使いやすそうなクラス公開してたりするし、よくわからんまま使えそうだ。

925 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 16:24:17 ID:wXmsheL/]
スクリーンではなくバッファに描画するにはどうすればいいのでしょうか?
例えば、画像描画や文字列描画を組み合わせて描画する物である「メニューウインドウ」をバッファに描画して、
それを透過やら拡大縮小してスクリーンに描画したいです。



926 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 16:47:24 ID:S5tbEoCa]
>>925
hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1533
これでどう?

927 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 17:21:51 ID:wXmsheL/]
>>926
まさに求めていたものはこれです。
ありがとうございました。

928 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 18:10:44 ID:UX2j7dSO]
dxlibで書き込める画像って作れるのか・・・
レイヤーシステムどうやって作るのか悩んでたところだよ

929 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 18:19:30 ID:sI5JnKeC]
BaseImageでもやろうと思えば出来るんじゃない?
SoftImageにも転送付いてたような

930 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 18:37:31 ID:UX2j7dSO]
SoftImageは変形とかブレンドを自前でやんないといけなくて面倒だった気がする

931 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 18:41:04 ID:yr41/JmB]
>>897
の右側の魔法陣みたいな斜めにして回転、みたいな変換・表示するのにはどうすればいいかわからない・・・。
というか、アフィン変換した画像というか、DXライブラリでどうアフィン変換利用すれば良いかわからないんだけど、
誰か分かる人頼む・・・。

932 名前:873=897 mailto:sage [2010/02/18(木) 19:07:00 ID:7/BIGMNa]
結局アフィン変換がよくわからずに、三角関数で画像を変形させた俺。

おかしいな、大学は理系だったはずなんだけどなー。
行列なんて普通に使ってたはずなのに…… orz

933 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:28:11 ID:wsPY0Q5n]
>>931
斜めにして回転って2Dでやるほうが難しいんじゃないかな。
DrawModiBillboard3Dってカメラ関数使って斜めから見れるん?
>>897の魔方陣のように傾けて見れるならなんとかなりそうだけど。

934 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:30:18 ID:sI5JnKeC]
いわゆる「習う」数学は公式を持ってきた後に「解く」からいけない。そこが重要だと思ってしまう
解くのは別にコンピュータがやればいい。大切なのは解き方

935 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:40:26 ID:UX2j7dSO]
ひょっとして3Dつかって2Dゲーム作る方が楽なのかな
最近はそういうゲームも結構あるよね



936 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 19:43:40 ID:cSNnQmS/]
DXライブラリ使ってるならまさにその方式を使ってることになるけど

937 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 20:41:03 ID:S5tbEoCa]
>>931
つまり、画像を2回回転させて描画したいっていうことだよね?
DrawModiBillboard3D関数の引数x1, y1〜x4, y4に各頂点を2回回転させた座標を指定すればいけると思う。
ビルボードじゃなくてモデルとして扱った方が簡単なような気もするけど・・・

938 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 20:49:00 ID:7/BIGMNa]
>>937
自分みたいに3Dサッパリな人間には、モデルデータを用意するだけでハードルが高いからなあ。
そうなると、従来の画像で扱えるビルボードの方が良さそう。
あとは動的に画像を生成するような場合(スクリーンショットとか)にも向いているかもしれない。

モデルデータを使わずにやるなら、素直に2Dでも良いわけだが。


939 名前:937 mailto:sage [2010/02/18(木) 20:57:50 ID:S5tbEoCa]
すみません、>>937に書いた方法はウソでしたorz..
引数x1, y1〜x4, y4は2次元の変形しか指定できないし、DrawBillboard3D関数にはある引数Angleも無いので3次元の回転は無理そうです・・・
モデルにすればMV1SetMatrix関数で自由に変形できるんだけど・・・
>>931の作ってるゲームは2Dなの?
それなら斜めに傾いている画像を使って下さいw

940 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 21:04:10 ID:UX2j7dSO]
2Dだとやっぱり事前に描いて置いておくのが一番なのかな

941 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 21:07:33 ID:cSNnQmS/]
>>897みたいな効果を多用するならともかく
一部でしか使わないならそのために複雑な仕組み作りたくないでしょ

942 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 21:07:35 ID:7/BIGMNa]
2Dゲームなら、それこそ>937の方法で良いような気がするけどなー。

943 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 21:43:03 ID:6a8jaVSb]
俺もblederで即死したけど
メタセコなら普通に使えた

944 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 22:34:17 ID:7/BIGMNa]
少ない脳みそ絞って書いてみた。
3Dとかアフィン変換とかサッパリなので2Dで。
gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0080zip.html



945 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 23:17:57 ID:yr41/JmB]
>>944
マジ感謝・・・なんだが、サンプルコードなくて使い方を迷う



946 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 23:44:29 ID:7/BIGMNa]
すまん、付け忘れた

extRate_xとextRate_yに1、hImgにグラフィックハンドル、残りの引数には0でも入れてくれれば
とりあえず動くと思う。

947 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 00:27:45 ID:u7/N0T5p]
俺がいつも使ってる拡張画像表示はこれ

void DrawExRotaGraphF(float ex, float ey, float xScale, float yScale, float Angle, int GrHandle, int TransFlag, int TurnFlag) {
int gx,gy;
float ix,iy,ca=cos(Angle),sa=sin(Angle);
GetGraphSize(GrHandle,&gx,&gy);
gx*=xScale/2; gy*=yScale/2;
VECTOR2D pos[4] = { { -gx, -gy}, { +gx, -gy}, { +gx, +gy}, { -gx, +gy} };
for (int i=0;i<4;i++) {
ix = pos[i].x*ca - pos[i].y*sa;
iy = pos[i].x*sa + pos[i].y*ca;
pos[i].x=ix+ex; pos[i].y=iy+ey;
}
if (!TurnFlag) DrawModiGraph((int)pos[0].x, (int)pos[0].y, (int)pos[1].x, (int)pos[1].y,
(int)pos[2].x, (int)pos[2].y, (int)pos[3].x, (int)pos[3].y, GrHandle, TransFlag);
else DrawModiGraph((int)pos[1].x, (int)pos[1].y, (int)pos[0].x, (int)pos[0].y,
(int)pos[3].x, (int)pos[3].y, (int)pos[2].x, (int)pos[2].y, GrHandle, TransFlag);
}

ていうかこのくらいDXライブラリも用意して欲しいところだが

948 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 00:28:54 ID:u7/N0T5p]
あ、VECTOR2Dはオリジナルだった
/* 2D用行列 */
typedef struct VECTOR2D {
float x,y;
} VECTOR2D;
まあ使わなくても二次元配列なりで出来るけどね

949 名前:944 mailto:sage [2010/02/19(金) 00:43:49 ID:zmDX76mU]
2Dの描画関数群を見てると、Zバッファ版なるものがあるんだけれど
これって何か上手く使えないかな。

公式BBSだと、マスク処理に使うって話があったけれど…


>>947
やってることは自分と同じ…かな? たぶん。
そっちの方がシンプルなコードだがw


950 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 01:11:24 ID:u7/N0T5p]
>>949
同じだね
縮小拡大前に回転するかしないかってのは入れる値を変えれば出来るし、縦の反転は180度回転させた後に左右反転すれば再現可能
自分はこれをよく使うので最低限のものだけを入れて、必要に応じてラッパー関数を使えばいい(まあこれ自体もmodiのラッパーだけど)

951 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 01:32:26 ID:zmDX76mU]
>>950
回転させてから拡大(縦横別倍率)ってどうやるの?

952 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 01:36:21 ID:u7/N0T5p]
拡大率を予めsincosにぶち込めばいい 「回転を見越して拡大縮小する」

953 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 02:17:39 ID:zmDX76mU]
先生、その見越し方が分かりません

954 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 10:00:47 ID:vzeC0aMv]
つかそういういくつもの変換を同時に適用するために
行列があるんだと思うが・・・行列を使わないなんて無駄に複雑になるだけだよ。

955 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 12:10:45 ID:zmDX76mU]
>>954
計算部分を自前でやってるだけで、やってることそのものは変わらない気がする



956 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 13:25:42 ID:zmDX76mU]
チラ裏で申し訳ない。
画像処理の入門書を読んでるんだが

(1)自前で行列(回転用行列、拡大用行列など)を用意
(2)それらを掛け合わせて、最終的な変形用の行列を作る
(3)変形用行列を関数に渡す

…みたいな感じだった。
行列をクラスにして、演算子のオーバーロードで簡単に加算や乗算が出来るようにするとか
そういう工夫がされているようだ。


あと、公式BBSでこんなの見つけた
hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=1033

957 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 13:34:25 ID:G1VFwFwU]
3D用の関数に行列使えるのがあるよ

958 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 13:37:37 ID:gvWv62bY]
上で話題にでてたアフィン変換だって2次元に特化した行列じゃんか
クラス公開されててちょっといじれば簡単に使えるのとかあったぞ
行列うんぬんよりクラスがわからんとか?

959 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 14:02:46 ID:az/+pLVO]
頂点の集合に行列を演算してできた形に描画するのはいいんだが
長方形の画像を自由変形して描画するアルゴリズムはいったいどうやって実装されてるんだろう
ピクセル単位で全部写像してたらすごく遅くなりそうだが他に方法も浮かばない

960 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 14:11:57 ID:uvqEn+/2]
専用のハードウェアにやらせてるんだから爆速
アルゴリズムとかいう次元じゃない

961 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 14:17:06 ID:zmDX76mU]
>>957
3Dの方はあんまり見てなかったぜ。
これから勉強しないとな…。

>>958
クラスが分からないとかは流石に発想が飛躍しすぎじゃね?

>>959
テクニカルな最適化や、誤魔化しとかはやってるかもしれないけど、
基本的なやり方は同じで、あとはハードウェア様による力技なんじゃない?


962 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 03:58:01 ID:qZkPMJuP]

LoadGraphを使う関数を繰り返し呼び出してると
例外が出て強制終了することがある
具体的には、
main(){

:
:
shop->open();

}
とメインの関数からクラスのメンバ関数を呼んだとき、
openを十回くらい呼び出すと、openを呼んで最初に出てくるLoadGraphで強制終了する
open内で何度もLoadGraphを呼び出しているが、最初のLoadGraph以外で強制終了したことはない
他のまったく別のクラスのメンバ関数でも、二回目に呼び出したときに
最初のLoadGraphで強制終了するので、
openでなくLoadGraphに問題があると思うんだけど
そもそもどういう状況でLoadGraphが例外出すか分かりませんか?

メモリ使用量を見る限りメモリリークなどはない
ちなみに使ってるのはBcc版

963 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 04:03:15 ID:qXzrwIFO]
具体的の意味わかってんのかカス

964 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 07:32:26 ID:Jsc/BFjh]
例外ってどんな例外? メッセージとか無い?
読み込んでる画像はどんな画像? ファイルサイズとかフォーマットとか。
メモリリークかどうかもどんな環境でどれくらいのサイズの画像を読み込んでるのか教えてくれないとこっちでは判断できない
もっと詳しく


965 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 09:49:28 ID:RLyfmrNj]
全く具体的じゃないのに具体的には、とはこれいかに。



966 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 09:53:22 ID:KFJm0GRx]
何が例外出すか分かりませんか?だよ
どういう状況で例外出すってエラーメッセージに全部書いてあるだろうが

967 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 10:11:36 ID:a8pqqcvy]
エスパーしてみるに、
「最初のLoadGraph」に指定してるファイルが、
 
 (1)形式的に未対応のものを指定している
 (2)指定ファイルの内部フォーマットがおかしい

のどれかなんじゃないのかな?
「最初のLoadGraph」以外は成功してるって話だし。

968 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 15:35:20 ID:etAIwZMZ]
DX_ライブラリ使っていたら
いつもなら「ch.」(chは構造体)で設定したパロメータが表示されたのに
今日使ってたら表示されなくなった。これってどこの設定変えれば元に戻るの?

969 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 16:19:36 ID:AEul0BlH]
インテリセンスはよくぶっ壊れる

970 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 16:56:28 ID:OQn9U246]
たまにJavaやるとEclipseの入力支援の賢さに感動する。

971 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 17:28:51 ID:ROg57qmn]
いや普通にVS2008の方が賢いだろ C++はダメダメだが

972 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 20:46:20 ID:LFTpl00q]
>IntelliSense
最近のは分からないけど、ちょっと変なことやると対応しなくなるしなあ。


973 名前:962 mailto:sage [2010/02/24(水) 20:46:27 ID:qZkPMJuP]
Bccのデバッガは見方がよく分からなかったのでVC++で原因を調べてみた
移植にかなり手間取ったけど、原因はnew,deleteでの
HEAP CORRUPTION DELETEDだった

ごめんよ、DXライブラリ

974 名前:名前は開発中のものです。 [2010/02/25(木) 00:10:24 ID:wGlYMdYr]
VS2008EEC#でDXLib使ってるけど、ゲーム開発はなんでC++が多いいのか・・・?
C#使いやすいと思うんだが・・・


975 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 00:27:31 ID:JfnFuENI]
C#とC++と、どっちも知らない人間(俺みたいな)が始めようとしたら
そりゃデフォルトで解説されてるC++使うよ。



976 名前:名前は開発中のものです。 [2010/02/25(木) 00:40:37 ID:rlWr6nuc]
>>974
>>975
素人はメモリ管理で苦労させられる
C#はライブラリの導入・セッティングまでも驚くほど簡単だ

977 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 00:43:57 ID:o6l4NITL]
むしろメモリ管理を隠蔽化されると不安になる

978 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 00:57:11 ID:xk33jNpg]
C#は動作速度どうなんだ?
あと.NETないと動かないんだっけ それはどうでもいいが

979 名前:名前は開発中のものです。 [2010/02/25(木) 01:15:00 ID:rlWr6nuc]
>>978
今のPCスペック考えると動作速度気にするのは意味無いかな
同人レベルならFFやメタルギアのような実写モーションやるわけではないし
HSPよりは圧倒的に速いよ、ニコ動見てもHSP+Easy3Dで3Dアクション作ってる奴がたくさん居る
C#もJavaもゲーム製作には十分過ぎる

980 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 01:40:51 ID:DXATdGPP]
>>974
>>975の理由もあるが、
単純に、C言語覚えたから次はorいよいよC++に〜とかって感じじゃない?
JAVAとかの経験がなければガベコレとかも知らないだろうし。
メモリ管理とかはまぁゲ製作以外で活かせる人なら勉強にもなるから良いやー、とか。

981 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 02:07:47 ID:hEXp+gEa]
C#は解析が簡単なんじゃないの?
改造し放題だと市販のゲームには向かないと思う

982 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 02:29:34 ID:8SXpDUIf]
>>974
公式サンプルがC言語で書かれているし、どれか一つ言語を覚えるとしたら自然にC言語になるんじゃないかな。
DXライブラリ自体もC言語で書かれてるしね。

>>981
難読化ツールというものがある。
それにC言語でも解析は可能なので市販する場合は独自に暗号化する必要がある。
特に画像、サウンド、シナリオテキストは見えてしまうとマズいので。

983 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 02:39:17 ID:hEXp+gEa]
そりゃデータは暗号化するだろうけど、それは言語とは関係ない話では?

984 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 05:08:59 ID:SPGhDv+7]
>>982
ぜってー使ったこと無いだろ>難(ry
あのスカスカ具合を見てから言えw
データも言語関係ないし

985 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 07:36:27 ID:fv/CwMlZ]
C++はWiondows標準のexeファイルを作成でき、そのまま実行できる
C#やJAVAはWindows非標準の中間ファイルしか作れず実行環境のインストールをユーザーに説明し、納得させ、実行させなければいけない
余計なソフトのインストールを嫌うユーザーは多い
速度よりも何よりもこの差があるからC#やJAVAは選ばれない



986 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 07:53:11 ID:xyh/cBvs]
インストーラーで強制インストールとかまんこい

987 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 08:25:15 ID:JegjOA7A]
デフォルトでインストール済()笑

988 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 08:29:09 ID:8SXpDUIf]
>>983
どの言語にしても暗号化は必要と言いたかったのだけど・・・

>>984
>あのスカスカ具合を見てから言えw
どの難読化ツールを使ったか知らないけど、それでスカスカだと感じたんならしょうがないね・・・
そこまでセキュリティが必要なものを作っている人もいないと思うけどなあ。

989 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 09:03:26 ID:PKMfSc2o]
>>981
現状の市販ゲームが改造し放題なのばかりなのに何言ってるんだ。


990 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 09:57:05 ID:8oJeVww7]
>>984
無料のやつしか使ったこと無いだろ

991 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 10:40:15 ID:olOvytZe]
DXライブラリから話がずれてるぞ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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