DXライブラリ 総合スレッド その5at GAMEDEV
DXライブラリ 総合スレッド その5 - 暇つぶし2ch624:名前は開発中のものです。
10/01/14 13:53:55 842AZX10
俺も各クラスの画像にはハンドルのポインタ渡して
ウィンドウ⇔フルスクリーンにするときとか再ロードする場合は一括でやれるようにしてる

625:名前は開発中のものです。
10/01/14 14:22:58 f9B4N6q6
めんどくせーのでエスパーすると
ハンドル情報が無効になった場合の対処でよろしいアルか?

626:618
10/01/14 21:00:02 DPt8d+Sq
いやもう、まじでわかりづらくてすまん
>>624と同じやり方だし、これはこれでいいかな
カメラもライトもモーション状態も全部復元できた
つーわけでスルーしてくだされ

627:名前は開発中のものです。
10/01/15 12:18:57 MEm+h6H+
更新通知はオブザーバーパターンかな

628:名前は開発中のものです。
10/01/15 23:03:18 GfBht2fI
WinSockを使ってオンラインのゲームを作りたいと思っています。
非同期通信にした後、
ウィンドウメッセージをどうやって受け取ればいいのでしょうか

629:名前は開発中のものです。
10/01/15 23:16:16 mIIIz4fa
通信とウィンドウズメッセージ処理は別スレッドで

630:名前は開発中のものです。
10/01/15 23:20:44 MEm+h6H+
bccとvc++以外のコンパイラで使いたい場合はDLL化するしかないかな?

631:名前は開発中のものです。
10/01/16 14:25:40 q2B4ABrd
C#用のDLLが使える
普通のCインターフェイスだから

632:628
10/01/16 16:27:15 rUwaGg5H
開発環境はVisual Studio 2008 Express Editionです。
>通信とウィンドウズメッセージ処理は別スレッドで
これは、マルチスレッドにする、ということでしょうか?
あと、ウィンドウメッセージを受け取るにはPeekMessage関数を使うのでしょうか?

633:名前は開発中のものです。
10/01/16 16:40:06 jHRnZJbI
まだ、はやい

634:名前は開発中のものです。
10/01/18 15:10:04 NiKHIjeB
どうにかgifアニメを表示できないでしょうか?

635:名前は開発中のものです。
10/01/18 15:50:40 ocST5QSJ
ばらして一つ一つ表示すれば

636:名前は開発中のものです。
10/01/18 16:17:33 1VuUUtA0
コマごとに読み込んでハンドルを配列に入れて回しながら表示してみろ

637:名前は開発中のものです。
10/01/18 16:19:59 Y1kYbBl9
みんなアニメーションの抽象化ってどうやってんの?

638:名前は開発中のものです。
10/01/18 16:36:31 ZRf7R4pO
>>637
デザ・・・と言いたいところだが、キチガイ扱いされるので言わない^^b

639:名前は開発中のものです。
10/01/18 16:36:50 AJVbiEYR
アニメーションの抽象化ってなに。

640:名前は開発中のものです。
10/01/18 16:37:28 ocST5QSJ
14歳に乗ってたな

641:名前は開発中のものです。
10/01/18 17:21:08 NiKHIjeB
ありがとうございます!
gif自体がDXライブラリで表示できないみたいなので
ばらしてbmpに変換して表示させます。

642:名前は開発中のものです。
10/01/18 18:17:21 /YEQVsc4
ソフトによってはgifアニメを書き出す要領でアニメーション用にずらっと並べた形で排出してくれるものもあるから要チェック

643:名前は開発中のものです。
10/01/18 18:40:53 NiKHIjeB
Giamっていうツールで分解してみます。
gifが表示できたらなあ・・・

644:名前は開発中のものです。
10/01/18 19:23:22 p6A/ppr3
gifの表示だけは諦めた方がいい
と思ったけど何年か前にライセンス切れたとかだったっけ?

645:名前は開発中のものです。
10/01/18 19:34:01 YzUndEty
gifアニメ、
PlayMovie()で出来たはず。

646:名前は開発中のものです。
10/01/18 19:40:04 NiKHIjeB
>>645
うおおおおおおおおおおおおおおおおおおおおおお
できたあああああああああああああああああああああああああ
ありがとおおおおおおおおおおおおおおおおおおおお

647:名前は開発中のものです。
10/01/18 19:44:19 /YEQVsc4
playmovieが使えるのか、初めて知った

648:名前は開発中のものです。
10/01/18 19:44:24 aB6jW3dA
でもgifアニメ表示する利点というか利用価値が思いつかない

649:名前は開発中のものです。
10/01/18 19:46:09 YzUndEty
これは作者も知らないと思う、osの機能だから。

650:名前は開発中のものです。
10/01/18 19:57:40 NiKHIjeB
本当にありがとうございました。
ただのビューワを作ろうかと・・・
できないと諦めかけてたので>>645さんありがとう!

651:名前は開発中のものです。
10/01/18 21:14:28 ZRf7R4pO
>>645
APIの旅からの帰還
お待ちしておりました
全員敬礼!

652:名前は開発中のものです。
10/01/20 21:26:19 ZmWqqE9G
#define MAX_MOVIE_NUM (100) // 同時に持てるムービーハンドルの最大数
と、DxLib.hの中に書いてあったのですが、
この(100)の値を変えても100以上読むことができません
変更を適応する方法とかありますでしょうか・・・

653:名前は開発中のものです。
10/01/20 21:37:33 ZmWqqE9G
ライブラリの改造で事足りました
スレ汚しすまそ
以下スルーお願いします

654:名前は開発中のものです。
10/01/20 21:42:45 SKKsOccv
俺は言われるとスルーできねえ太刀なんだよ
どうしてくれんんだてめえ

655:名前は開発中のものです。
10/01/20 22:09:33 q0DDgX3G
キレやすそうだな。

656:名前は開発中のものです。
10/01/20 23:52:50 cMpODo4B
真面目なかたなのね

657:名前は開発中のものです。
10/01/20 23:59:20 zuhGGFh3
太刀だけにキレやすいってか
うまいこと言うじゃねーか

658:名前は開発中のものです。
10/01/21 06:53:57 zKTatolx
だれうま

659:名前は開発中のものです。
10/01/21 17:26:19 VSiukrvi
おれうま

660:名前は開発中のものです。
10/01/21 17:42:38 ASaFDbPd
きみのためならうま

661:名前は開発中のものです。
10/01/21 18:34:21 f/5KsMY8
かゆ・・・うま・・・

662:名前は開発中のものです。
10/01/21 21:15:18 3z0s89gO
昨日、この屋しきから逃げ出そうとした研究いんが一人、射さつされた、て はなしだ。
夜、からだ中 あついかゆい。
胸のはれ物 かきむしたら 肉がくさり落ちやがた。
いったいおれ どうな て
May 19, 1998

やと ねつ ひいた も とてもかゆい
今日 はらへったの、いぬ のエサ くう
May 21, 1998

かゆい かゆい スコットーきた
ひどいかおなんで ころし
うまかっ です。
4

かゆい
うま


663:名前は開発中のものです。
10/01/24 17:17:54 t3rqV2es
MV1GetFramePositionでフレームの座標取れた人いる?

664:名前は開発中のものです。
10/01/24 17:45:49 eNyArIdy
>>663
何かそれと関連するような書き込みみた
MV1Frame系の根本辺りにバグでてるのかもよ
試してないから憶測な

665:名前は開発中のものです。
10/01/24 18:30:40 t3rqV2es
>>664
そうなのか・・・

666:名前は開発中のものです。
10/01/24 18:53:34 mtzPnJPW
SetWindowStyleModeのあと
ドラッグ&ドロップが効かなくなるのは仕様ですか

667:名前は開発中のものです。
10/01/24 19:30:56 mtzPnJPW
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
char Key[MAX_PATH];
char File[MAX_PATH];
int open;
bool flag=false;
SetAlwaysRunFlag(TRUE);//アクテイブでも動作
if(ChangeWindowMode(TRUE)!=DX_CHANGESCREEN_OK || DxLib_Init()==-1) return-1;
SetDrawScreen(DX_SCREEN_BACK);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll(Key)){
open=GetDragFilePath(File);
if(open!=-1){
clsDx();
printfDx("%s",File);
}
DragFileInfoClear();
if(Key[KEY_INPUT_Z]==1){//zキーでスタイル変更
if(flag==false){
flag=true;
SetWindowStyleMode(2);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
}
else{
flag=false;
SetWindowStyleMode(0);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可
}
}
if(Key[KEY_INPUT_ESCAPE]==1)break;
ScreenFlip();
}

668:名前は開発中のものです。
10/01/24 19:33:03 mtzPnJPW
DxLib_End();
return 0;
}
//ソースここまで
スタイル変更のあとはどんなことやっても無駄でした。
なにか解決方とかありますでしょうか・・・

669:名前は開発中のものです。
10/01/25 13:30:00 KA8nsg8v
SetWindowStyleMode(2);
SetDragFileValidFlag(FALSE);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可

SetWindowStyleMode(0);
SetDragFileValidFlag(FALSE);
SetDragFileValidFlag(TRUE);//ドラッグ&ドロップ許可

ほい

670:名前は開発中のものです。
10/01/25 14:54:28 RTDsX0xD
同じプログラムでもBCCとVCでコンパイルすると微妙に絵画スピード違う?
BCCの方が重いんだが

671:名前は開発中のものです。
10/01/25 17:04:41 okvPpsG4
絵画? 描画?

まあ、別のアルゴリズムでビルドされている以上、違いがあってもおかしくはないな。
もしかすると最適化の設定とかもあるかもしれない。

672:名前は開発中のものです。
10/01/25 17:30:21 0o6Nm1jn
描画の速度は同じだと思われるが最適化の性能はコンパイラによって大分違う
っつっても今は両方同じくらいだと思うが
古いのは効率悪い

673:名前は開発中のものです。
10/01/25 17:32:24 LL1ffQYA
CPU メモリ グラフィックカード MMX 他のソフトが動作してないか
などなど
条件を一致させるのは至難の技

674:名前は開発中のものです。
10/01/25 19:00:44 6DMAN8Oi
>>669
ありがとうございます!
無事ドラッグ&ドロップがスタイル変更後も効くようになりました
なんだかくやしいです

675:名前は開発中のものです。
10/01/26 01:58:18 tj2S0wJn
隠し関数一覧とかないの?
リファレンスに機能の半分くらい乗ってなくね?

676:名前は開発中のものです。
10/01/26 02:34:26 PVZ337CH
そんなあなたにおすすめ、DxLib.h

677:名前は開発中のものです。
10/01/26 02:43:45 tj2S0wJn
既に見ながら発掘してるけど、使い方分からんのが沢山あるし。

678:名前は開発中のものです。
10/01/26 03:09:22 p39VC7Ub
LoadSoundMem("ファイル名");
SetSoundCurrentTime(時間,サウンドハンドル);
PlaySoundMem(サウンドハンドル,DX_PLAYTYPE_LOOP,*2 BGMを最初から再生するかというフラグ);

*2 TRUEで最初から再生(デフォルト) FALSEで途中から再生できる

int bgm;

bgm=LoadSoundMem("a.wav");
SetSoundCurrentTime(5000,bgm);
PlaySoundMem(bgm,DX_PLAYTYPE_LOOP,FALSE);

a.wavの5秒後から再生する(BGMファイルの曲の長さ仮に5秒以内のファイルなら最初からになる ・・・と思う)


679:名前は開発中のものです。
10/01/26 13:26:42 PVZ337CH
>>677
内部用の関数だったり、試験的に実装した関数なんかが多いから、
公式リファレンスが無いのは仕方ない。

仮に第三者がリファレンスを作ったとしても、
内部用関数である以上、いつ仕様が変更されてもおかしくないわけだし。
…以前、DXライブラリのWikiを作ろうとした人がいたけれど、あれどうなったのかなあ。


DxLib.hにはしっかり丁寧にコメントが書かれてるし、実用レベルでそんなに困ることはないと思うけどな。
コメントを読んでも意味がわからない関数は、たぶん今の自分には関係ない関数だと思っていい。

680:名前は開発中のものです。
10/01/27 02:10:49 +9fTCg9n
まあ PlayBeep()なんて
誰得な関数もあるしな

681:名前は開発中のものです。
10/01/27 02:46:02 wVIH00tk
それってBeep音鳴らすの?
だとしたらエラーの警告音とかに使えそうじゃない?

682:名前は開発中のものです。
10/01/27 12:43:56 bk5n/QgN
エラーが発生したなら、素直にOSへ投げた方が良さそうだしなあ。
Beep音に限らずね。

逆に、ゲーム内で「エラー」の演出をしたいというなら、
それ専用のサウンドファイルを用意するべきだろう。


683:名前は開発中のものです。
10/01/27 13:28:51 VlaGcRFB
SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128);
LoadGraphScreen( 30, 10, "a.bmp", TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0);
をやると一気にfpsが小さくなるんだけど、それを避ける方法ある?
丁寧に教えてください。断片じゃ分からないんで。


684:名前は開発中のものです。
10/01/27 13:34:10 eUrMXCBM
ハハッ
公式見てこいよ 根本から間違ってる

685:名前は開発中のものです。
10/01/27 13:43:01 D7qew4lJ
ハハッワロス

686:名前は開発中のものです。
10/01/27 14:40:35 eQLJYwgf
宣言 int LoadGraphScreen( int x , int y , char *GraphName , int TransFlag ) ;
概略 画像ファイルを読みこんで画面に表示する

要するに、ハードディスクから画像を”読み込んで”表示するわけだ。
毎フレーム、データ読み込んでたら重くなるの当たり前。

687:名前は開発中のものです。
10/01/27 15:40:40 VlaGcRFB
>>686
URLリンク(dixq.net)
ここの人の見てαブレンド処理したんだけどそんな変なの?
できれば、αブレンド処理の速いやり方教えてほしい。

688:名前は開発中のものです。
10/01/27 15:44:59 eQLJYwgf
違う!
αブレンドのやり方はそれでいい!

一つ訊きたいが、fpsがどうとか言ってるって事は、ある程度形は出来てるんだよな?
アクションかシューティングか、何作ってるのか知らないけど。

てことは、キャラなりなんなりを毎フレームに表示させてるんだよな?

そのキャラを表示する時に LoadGraphScreen を使って表示してるのか!?


689:名前は開発中のものです。
10/01/27 15:50:10 eQLJYwgf
君はさ、学校に通う時、

朝、本屋へ行って教科書買って、学校行って勉強して、終わったら教科書捨てて、
次の朝、また本屋で教科書買って、学校行って勉強して、終わったら教科書捨てて、
また次の朝、本屋で教科書買って、学校行って勉強して、終わったら教科書捨てて……

ってやるか? やらないだろ?

毎フレーム LoadGraphScreen を使うってのは毎日教科書買ってるようなもんなんだよ。

690:名前は開発中のものです。
10/01/27 15:52:15 VlaGcRFB
>>688
キャラはDrawGraphで表示してる。
オプション画面に切り替えた時、点数などを表すボードみたいものに
LoadGraphScreenを使ってる。だから、ゲームには影響ないんだけど。
オプション画面に切り替えた時fpsが一気に下がって気になって今回
聞きました。

691:名前は開発中のものです。
10/01/27 15:59:36 eUrMXCBM
>>690
オプション画面に切り替えたら画面停止でもすんの?
プログラムのフロー分かってる?

692:名前は開発中のものです。
10/01/27 16:00:00 gFzXyqzf
最初に表示するとき一回ロードしておいて、それを毎フレーム描画するようにすればいいだろう

693:名前は開発中のものです。
10/01/27 16:07:18 D7qew4lJ
私のために争うのはやめて!

694:名前は開発中のものです。
10/01/27 16:08:24 VlaGcRFB
>>691
それはしない。一気にfpsが落ちる。ブレンド処理で。
単にⅠフレームごとに作画してScreenFlip()で表示してます。

>>692
詳しくおねがいします。

695:名前は開発中のものです。
10/01/27 16:09:48 D7qew4lJ
全部DrawGraphですればいいんじゃないかなぁ? アハハハハハハハ!

696:名前は開発中のものです。
10/01/27 16:11:58 VlaGcRFB
>>695
ブレンド処理したいんですけDrawGraphでも可能なんですか?

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

698:名前は開発中のものです。
10/01/27 16:16:13 eQLJYwgf
あのさ↓の意味ちゃんと解って使ってる?

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

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

ってだけだよ?

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


700:名前は開発中のものです。
10/01/27 16:18:42 VlaGcRFB
>>697
ヤンデレの人ありがとうございました。

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

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

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



703:名前は開発中のものです。
10/01/27 18:42:02 4CYQjQL/
だいたい4MBくらいか。たいしたことないな。

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

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

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

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

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

708:名前は開発中のものです。
10/01/29 17:55:43 jCVSqiZx
龍神録は見たか?

709:名前は開発中のものです。
10/01/29 18:24:47 kJL+rTdA
>>707

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

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

710:名前は開発中のものです。
10/01/29 18:38:06 DRAuGFCj
>>708
まだなので、ちょっと読んできますね

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

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

712:名前は開発中のものです。
10/01/29 19:21:22 bXBGYPJV
重いのは上司と女のケツ

713:名前は開発中のものです。
10/01/29 19:23:42 Pa0ASUM2
足りないのは知識じゃなくて情熱

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

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

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

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

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

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

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

720:名前は開発中のものです。
10/01/30 00:38:24 cifYwtzO
うん

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

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

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

724:名前は開発中のものです。
10/01/30 11:23:55 BdSu0ysP
俺もあったなw

725:名前は開発中のものです。
10/01/30 11:50:08 mWel1DHT
あるあるw

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

727:名前は開発中のものです。
10/01/30 12:46:37 cifYwtzO
>>726
BltSoftImage

728:名前は開発中のものです。
10/01/30 12:49:56 zzrUYLD6
SoftImageって遅くないですか?

729:名前は開発中のものです。
10/01/30 12:51:56 cifYwtzO
使い方による

730:名前は開発中のものです。
10/01/30 15:02:29 zvCh6Jzw
そもそも早さを気にするような関数なのか?

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

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

733:名前は開発中のものです。
10/01/30 17:03:39 zzrUYLD6
おや、FillSoftImageがバグってますねこれ

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

735:名前は開発中のものです。
10/01/30 17:07:37 zzrUYLD6
>>734
なにか?

736:名前は開発中のものです。
10/01/30 17:21:39 GX4pyXso
愚痴ならチラシの裏にでも書いとけよ

737:名前は開発中のものです。
10/01/30 18:18:02 QgRnLSPg
馬鹿な発言からして*SoftImageの解説を読んで無いな

738:名前は開発中のものです。
10/01/30 19:10:19 BdSu0ysP
>>735
関係者なんだろ


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

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

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

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

743:名前は開発中のものです。
10/01/30 21:47:57 zzrUYLD6
URLリンク(codepad.org)
URLリンク(www1.axfc.net)

バグだろ

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

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

746:名前は開発中のものです。
10/01/30 22:22:34 dQt5iAcR
もうそのへんにしとこうぜ。

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

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

749:名前は開発中のものです。
10/01/30 22:58:58 ZFqeJ0u6
そもそも何がしたいのかわからん

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

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

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


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

753:名前は開発中のものです。
10/01/31 06:29:35 7H/reV3I
馬鹿ばっかり・・・

754:名前は開発中のものです。
10/01/31 13:54:18 HHPX/Q69
>>753
もっと蔑んだ目で言って下さい

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

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

757:名前は開発中のものです。
10/01/31 17:18:12 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:名前は開発中のものです。
10/01/31 17:22:47 JBJvvpkE
owari==true

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

760:名前は開発中のものです。
10/01/31 17:43:27 PA+3lzr7
そりゃScreenFlip挟んでないからな…

761:名前は開発中のものです。
10/01/31 17:45:11 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:名前は開発中のものです。
10/01/31 17:52:12 PA+3lzr7
ClsDrawScreen();

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

WaitTimer(500);
ScreenFlip() ;

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


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

765:名前は開発中のものです。
10/01/31 18:16:33 JBJvvpkE
とりあえず龍神録読んで来い

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

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

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

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

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

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

768:名前は開発中のものです。
10/01/31 18:35:18 1VFB3DYv
かわいいなw

769:名前は開発中のものです。
10/01/31 19:00:00 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:名前は開発中のものです。
10/01/31 19:07:41 dC7YcGqj
static intがまずいんじゃなか?

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

772:名前は開発中のものです。
10/01/31 19:13:09 CfyGLtto
まずはC言語勉強してこい

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



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

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

776:名前は開発中のものです。
10/01/31 19:36:15 PA+3lzr7
>>773
もうDXライブラリ以前の問題だからVIPで聞け
スレリンク(news4vip板)

777:名前は開発中のものです。
10/01/31 19:36:48 GeAXL5Qw
a=3になってるから

778:名前は開発中のものです。
10/01/31 19:37:45 Di+guFUQ
>>770
>>772

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

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

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

780:名前は開発中のものです。
10/01/31 19:44:26 2P10BkIV
うそです
Aじゃなくてaです

781:名前は開発中のものです。
10/01/31 20:01:10 uYVfFOYk
このライブラリって64bit windowsでも
問題なく動くの?

782:名前は開発中のものです。
10/01/31 20:09:34 CfyGLtto
動かないんじゃね?
ライブラリをDLLにすれば動くかも

783:名前は開発中のものです。
10/01/31 20:09:49 0ATLaas4
なんで?

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

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

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

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


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

788:名前は開発中のものです。
10/02/01 16:57:45 Lf2Nvhz5
なんで?

789:名前は開発中のものです。
10/02/01 17:45:18 ooYrGYNe
なんだっていいさ

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

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

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

792:名前は開発中のものです。
10/02/01 18:52:33 Lf2Nvhz5
それで?

793:名前は開発中のものです。
10/02/01 18:58:44 xufADCF/
ググレカス

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

795:名前は開発中のものです。
10/02/02 13:53:12 ZXzo3Aq8
なんで?

796:名前は開発中のものです。
10/02/02 13:54:59 6T1hs+2r
ビルド時のターゲットはビルド環境とは関係ない

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

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

798:名前は開発中のものです。
10/02/02 21:43:09 ZXzo3Aq8
それで?

799:名前は開発中のものです。
10/02/02 22:29:37 ocqUn9yT
なにが?

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

801:名前は開発中のものです。
10/02/03 05:04:33 U8Pd5rkG
なんで?

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

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

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

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

805:名前は開発中のものです。
10/02/03 14:18:36 gyXnlokN
場合による。

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

806:名前は開発中のものです。
10/02/03 15:51:20 U8Pd5rkG
なんで?

807:名前は開発中のものです。
10/02/03 22:19:22 WAfqMpru
お前を食べるためさ!

808:名前は開発中のものです。
10/02/03 22:40:10 U8Pd5rkG
変態

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

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

811:名前は開発中のものです。
10/02/04 01:32:44 9yr7SgZz

AddFontResourceを使ってゲーム起動時に追加出来た

812:名前は開発中のものです。
10/02/04 10:22:35 B+CnvqXs
思っていたより使い勝手悪いな…

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

814:名前は開発中のものです。
10/02/04 15:08:11 WAZ4oke5
思っていたより使い勝手悪いな…

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

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

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

キーはみえる


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

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

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

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

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

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

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

824:名前は開発中のものです。
10/02/05 16:52:34 Ir4+43zS
>>822
>>492

825:名前は開発中のものです。
10/02/05 19:50:51 EoD901Y8
マルチスレッドじゃね

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

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

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

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

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

830:名前は開発中のものです。
10/02/05 20:38:57 XWwIt0Ve
本末転倒w

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

832:名前は開発中のものです。
10/02/05 21:03:23 g1+Hi/0a
>>829はネタレスだろw

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

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

835:名前は開発中のものです。
10/02/05 21:58:05 RjYJfLjO
かなりいい加減なコードだけど、スレッドを使った Now Loading のサンプル
URLリンク(codepad.org)


836:名前は開発中のものです。
10/02/05 22:31:40 qcSvBbHw
>>835
おお・・・ 参考にしてみまする

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


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

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

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

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

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

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

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

>>839
kwsk

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

843:名前は開発中のものです。
10/02/05 23:31:09 9VhG5z2Z
自己満足で!(超重要

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

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

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

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

847:名前は開発中のものです。
10/02/06 03:13:17 ryKI6KOb
Now loading...をLoading Complete!に修正すればよくね

848:名前は開発中のものです。
10/02/06 04:54:47 sLGxAtvo
「ロードした」なら使ってもいい!

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

マルチスレッドを使う方法は↓に書いてある。
URLリンク(hpcgi2.nifty.com)

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

850:849
10/02/06 07:48:32 heYW4fwh
すみません。
掲示板のリンクがダメですね・・・
記事No「1896」です。

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

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

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

853:名前は開発中のものです。
10/02/06 13:15:04 m1I5HW8a
じじいの酷い言い訳

854:名前は開発中のものです。
10/02/06 13:30:09 xpV9NzXE
じじいくらべならまけませんよ?

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

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

857:名前は開発中のものです。
10/02/06 16:16:36 +7JZw7l0
カクカクでもいいならマルチスレッド必要ないよな

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

859:名前は開発中のものです。
10/02/06 22:28:44 fMJ0B1gK
そこは操気弾のアニメを

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

861:名前は開発中のものです。
10/02/07 07:39:53 cnkJTmx7
>>860
>これって3dもつくれるんだよね?
作れるよ。

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

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

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

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

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

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

866:名前は開発中のものです。
10/02/12 15:42:11 9oJmNhGP
DrawChipMapってどうやって使うの

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

868:名前は開発中のものです。
10/02/12 21:53:10 5g1bekrX
g

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

870:名前は開発中のものです。
10/02/12 22:39:37 3A3ijQ60
>>863-865

サンクス!

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

871:名前は開発中のものです。
10/02/12 23:19:30 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:名前は開発中のものです。
10/02/13 00:47:58 lykIm1Dn
>>868-869

サンクス!

lldでいけました。

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

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

874:名前は開発中のものです。
10/02/13 19:30:01 pV6Ocbxc
ないので俺は自分で関数作った

875:名前は開発中のものです。
10/02/13 22:38:54 nVI35ftX
そっか、ありがと。

876:名前は開発中のものです。
10/02/14 21:14:56 9DOaOyQ2
半透明処理で

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

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

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

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

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

878:名前は開発中のものです。
10/02/14 21:21:28 I7ZtRrpB
フレームスキップは基本過ぎるだろ

879:名前は開発中のものです。
10/02/14 21:24:26 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:名前は開発中のものです。
10/02/14 21:26:43 9DOaOyQ2
>>877
フレームスキップってどうやればいいでしょうか?
画面処理を別スレッドにして、処理時間オーバーしたら放棄、
でいいの?

881:名前は開発中のものです。
10/02/14 21:27:36 9DOaOyQ2
すみません
880 は >>878へのレスです

882:名前は開発中のものです。
10/02/14 21:32:50 r2nQlTSv
>>879
いちいち戻さない方が速いかも

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

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

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

885:名前は開発中のものです。
10/02/15 08:08:26 BUryD20y
何故そこだけ問題があったんだろう。気になる。


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

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

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

887:名前は開発中のものです。
10/02/15 20:55:41 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:名前は開発中のものです。
10/02/15 21:00:03 K58uOKXK
・画像内での基準点の位置
・上の基準点が実際に描画される位置
・基準点を中心としたスケール
・基準点を中心とした回転角度
で十分だと思うけど

889:名前は開発中のものです。
10/02/15 21:57:09 BUryD20y
>>888
それだけで引数7つあるぜ?

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

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

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


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

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

みたいに変わる。

892:名前は開発中のものです。
10/02/15 22:23:00 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:名前は開発中のものです。
10/02/15 22:29:12 BUryD20y
>>892
質問、90度以外でも渡し方次第で出来る?

894:名前は開発中のものです。
10/02/15 22:31:47 8F/ucvej
>>893
出来るんじゃね

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

896:名前は開発中のものです。
10/02/16 00:28:56 ytIVItbu
なんに使うのかがそもそも想像できない俺……。

897:名前は開発中のものです。
10/02/16 03:07:21 JDL3KQO6
>>896
こんな感じでどう?
URLリンク(gamdev4.hp.infoseek.co.jp)

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

899:名前は開発中のものです。
10/02/16 05:23:23 g5MLEwas
ようやく理解できた

900:名前は開発中のものです。
10/02/16 06:40:46 OQUeahIO
3Dでやれば簡単だぜ

901:名前は開発中のものです。
10/02/16 09:20:21 aK6xRRB6
把握。
そういう力技、嫌いじゃないぜw

902:898
10/02/16 10:16:29 JDL3KQO6
すまん、いい例えが思い浮かばなかったんだw

903:名前は開発中のものです。
10/02/16 10:17:15 JDL3KQO6
名前間違えた、897だ

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

905:名前は開発中のものです。
10/02/16 12:41:35 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:名前は開発中のものです。
10/02/16 12:56:47 iwCPzVGw
>>905
なるほど、理解しました。

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

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


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


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

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

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

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

912:名前は開発中のものです。
10/02/16 23:50:46 QXMNjoNk
あ、左右反転もなのか
DrawModiBillboard3Dのがいいと思う

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

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

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




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

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


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

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

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

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


921:名前は開発中のものです。
10/02/17 21:17:38 MHINozGj
ああ、なるほど。

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

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

923:名前は開発中のものです。
10/02/17 22:17:31 V7zWpnOB
>>915-917
多彩な案サンクス!やってみるよ俺

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

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

926:名前は開発中のものです。
10/02/18 16:47:24 S5tbEoCa
>>925
URLリンク(hpcgi2.nifty.com)
これでどう?

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

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

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

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

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

932:873=897
10/02/18 19:07:00 7/BIGMNa
結局アフィン変換がよくわからずに、三角関数で画像を変形させた俺。

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

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

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

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

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

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

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

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


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

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

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

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

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

944:名前は開発中のものです。
10/02/18 22:34:17 7/BIGMNa
少ない脳みそ絞って書いてみた。
3Dとかアフィン変換とかサッパリなので2Dで。
URLリンク(gamdev4.hp.infoseek.co.jp)



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

946:名前は開発中のものです。
10/02/18 23:44:29 7/BIGMNa
すまん、付け忘れた

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

947:名前は開発中のものです。
10/02/19 00:27:45 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:名前は開発中のものです。
10/02/19 00:28:54 u7/N0T5p
あ、VECTOR2Dはオリジナルだった
/* 2D用行列 */
typedef struct VECTOR2D {
float x,y;
} VECTOR2D;
まあ使わなくても二次元配列なりで出来るけどね

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

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


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


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

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

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

953:名前は開発中のものです。
10/02/19 02:17:39 zmDX76mU
先生、その見越し方が分かりません

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

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

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

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

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


あと、公式BBSでこんなの見つけた
URLリンク(hpcgi2.nifty.com)

957:名前は開発中のものです。
10/02/19 13:34:25 G1VFwFwU
3D用の関数に行列使えるのがあるよ

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

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

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

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

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

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


962:名前は開発中のものです。
10/02/24 03:58:01 qZkPMJuP

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

:
:
shop->open();

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

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

963:名前は開発中のものです。
10/02/24 04:03:15 qXzrwIFO
具体的の意味わかってんのかカス

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


965:名前は開発中のものです。
10/02/24 09:49:28 RLyfmrNj
全く具体的じゃないのに具体的には、とはこれいかに。

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

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

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

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

969:名前は開発中のものです。
10/02/24 16:19:36 AEul0BlH
インテリセンスはよくぶっ壊れる

970:名前は開発中のものです。
10/02/24 16:56:28 OQn9U246
たまにJavaやるとEclipseの入力支援の賢さに感動する。

971:名前は開発中のものです。
10/02/24 17:28:51 ROg57qmn
いや普通にVS2008の方が賢いだろ C++はダメダメだが

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


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

ごめんよ、DXライブラリ

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


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

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

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

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

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

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

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

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

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

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

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

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

986:名前は開発中のものです。
10/02/25 07:53:11 xyh/cBvs
インストーラーで強制インストールとかまんこい

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

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

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

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


990:名前は開発中のものです。
10/02/25 09:57:05 8oJeVww7
>>984
無料のやつしか使ったこと無いだろ

991:名前は開発中のものです。
10/02/25 10:40:15 olOvytZe
DXライブラリから話がずれてるぞ。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch