09/01/20 15:22:07 A5DSi9Sd
>435
あと、姑息な手段で申し訳ないが
MIDIのようにサイズを気にしなくて済むようなものなら、最初から10分続くファイルにしてしまうという手もある。
439:名前は開発中のものです。
09/01/21 22:18:20 2s5lyHkK
PlaySoundMem()でループ再生フラグを指定すればいいよ。
>>435がファイル形式を言ってないのでわからないけどwavなら綺麗にループする。
440:名前は開発中のものです。
09/01/22 15:31:01 Xr8Aa3cY
>>439
たぶん>>435が使っているファイルは曲の最初と最後が繋がってないやつなんだろう。
だから、普通にループ指定すると音が途切れずにループしない。
けど、市販ゲームでもこういうBGMあるし、俺は気にしないけどな
441:名前は開発中のものです。
09/01/22 17:11:41 q+tQcJ7A
>>435
無音時間の全くない完全なシームレスループにしたい場合、下のページが参考になると思います。
URLリンク(www13.plala.or.jp)
API使わないといけないのとWAV限定ですが。
442:名前は開発中のものです。
09/01/22 17:15:00 9/RQfEqV
>>441
FF10のジェクト戦みたいにボーカルいれた音楽をBGMとして使えそうだな
すげえ
443:名前は開発中のものです。
09/01/22 17:34:21 Bh2KGHfp
>>440
「最初に戻って」って書いてあるからなぁ。
でも途切れる方法が書いてないところが色んな憶測を呼ぶよね。
まぁここまでで解決方法出たと思うからいいんだけどさ…。
444:名前は開発中のものです。
09/01/26 16:05:31 2mzhNCi2
DXライブラリ(2.25)のプロジェクトがコンパイルできない。
'/O2' と '/RTC1' は同時に指定できません ってコンパイルエラーが出る。
プロジェクトの設定でO2→Odにしてるんだけれども。
RTC1の方を切ればコンパイルできるんだけど、なんでだー!
445:名前は開発中のものです。
09/01/30 19:51:30 Wy6ip41+
フルスクリーン化ではなく、ウィンドウモードでの最大化って
どうやったらできるんでしょうか?
446:名前は開発中のものです。
09/01/31 06:27:02 mi0nZoft
起動時に設定ファイルなり引数なり読み込んで解像度変更させちゃえば?
447:名前は開発中のものです。
09/01/31 08:53:12 dFEgAXD4
>>445は画面サイズを可変にしたいということ?
どこかにそれっぽいサンプルがあったような……。気のせいかな。
448:名前は開発中のものです。
09/01/31 09:07:06 KRmQ80Gs
SetWindowSizeChangeEnableFlagで可変設定、
SetGraphModeで直接指定ができるね
なんとかして使ってるモニタの解像度を取得して当て込めば出来るかも
だけど処理速度は厳しいだろうな
449:名前は開発中のものです。
09/01/31 10:47:56 rbcO49fB
ウィンドウのサイズを変えたいのじゃなくて
右上の最大化のボタンを押せば、標準的なアプリと同じような
動作にしたいです、
画面全体にきっちり広がって間違ってマウスでドラッグしても動かないような感じです
450:名前は開発中のものです。
09/02/01 00:40:50 XJc1/NhO
えーと、それで、何がしたいの・・・?
451:名前は開発中のものです。
09/02/01 10:34:54 lmI58fq8
>>449
普通にフルスクリーンモードじゃなくてウインドゥモードにすれば
いいだけじゃないの?
そういう関数あったと思うけど。
452:名前は開発中のものです。
09/02/01 12:40:27 8EnnwsB0
デフォルトでは画面の端っこにマウスポインタを当ててもサイズは変えられないし
最大化ボタンも押すことができない
これを変えたいってことなら
サイズの手動変更の場合は>>448
あとはSetUseASyncChangeWindowModeFunction()で最大化ボタン有効化だと思うんだが
ちょっとこっちの使い方が分からないorz
453:名前は開発中のものです。
09/02/01 22:16:17 2n+Oqc2F
縦シューを作ろうと思ってるんですが、
480x640で起動することってできますか?
454:名前は開発中のものです。
09/02/01 22:20:08 90n+ELwG
>>453
URLリンク(homepage2.nifty.com)
455:名前は開発中のものです。
09/02/01 22:30:43 2n+Oqc2F
>>454
できた!
ありがと^^
起動時に640x480になってるのが気になるけど、まいっか
456:名前は開発中のものです。
09/02/01 22:34:51 90n+ELwG
>>455
もっと早い段階で呼び出せば良いよ
DxLib_lint()より上で呼べば最初からそのサイズになる
457:名前は開発中のものです。
09/02/04 01:44:28 igrRGuw3
DXライブラリで同人ゲームを作ろうと思っています。
C++でプログラミングするにあたって、横スクロールアクション(マリオとかロックマンみたいな)
の作り方のサンプルを紹介してるサイトってないですかね?
↓シューティングゲームについては四聖龍神録さんのページが非常に役に立ちました!
URLリンク(dixq.net)
458:名前は開発中のものです。
09/02/04 09:38:48 2Cf0XhT+
>>457
公式HPのサンプル
459:名前は開発中のものです。
09/02/04 14:27:42 CO3XfILg
応用力の無いやつや
460:名前は開発中のものです。
09/02/04 16:43:08 KduT8vdn
>>457
C++でのサンプルはどこにもない。と言い切っていい。
JAVAだが、考え方としてはいいかもしれないのでこれを見て、自分で考えてはどうか。
URLリンク(javagame.skr.jp)
これもC++ではないが、考え方としては(以下同文
URLリンク(itpro.nikkeibp.co.jp)
やはり、自分で考えて試行錯誤するしかないのではと思う今日この頃
461:名前は開発中のものです。
09/02/04 21:32:21 6meQrl/q
最初はグローバル変数使いまくって
次に構造体をグローバルにして使いまくって
次に構造体をポインタで書き換えるようにして
引数に構造体のポインタがどんどん増えていき
次に各構造体の先頭のポインタをまとめた構造体をつくってそれを引数にしたんだけど
だいたいみんなこんな感じ?
462:457
09/02/04 22:20:44 igrRGuw3
>>458-460
レスサンクスです!
>>460
まさにこういうページ探してました!
横スクロールと敵の制御とか参考になりまくりです。
言語は問わないんですが、STGの情報は多いのにACTはなかなか無かったので。
↓自分でも探してたんですが専門学校(?)のゲームの作り方ページもよかったです。
URLリンク(rina.jpn.ph)
Web上だとなかなか情報が無いから、専門学校の
教科書が欲しいなんて思っちゃいました。笑
463:名前は開発中のものです。
09/02/05 03:42:29 GjXLMUdb
>>461
前から気になってはいたんだけど、構造体とかグローバルで使うのって何かまずいことでもあるの?
ポインタにする利点をずぶの素人の俺にも分かり易く教えて欲しい。
引数で構造体を直に渡してなければ余り関係ない気がしてるんだけど。
464:名前は開発中のものです。
09/02/05 07:27:08 rTUW0rFP
グローバルな変数は、他で書き換えられるかもしれないことを
いちいち考えないといけないんだよな
プログラムの複雑さが増すので乱用は慎しめと言われてる
465:名前は開発中のものです。
09/02/05 08:09:33 ojur6QxZ
はっきり言ってしまえば、そのプログラムを自分しかさわらなくて、
注意して組む自身があるならグローバルでも問題ないと思う。
466:名前は開発中のものです。
09/02/05 08:48:42 9t4FKbe4
>>465
俺は、あえて 「昨日の自分は他人」だと思って、
可能な限り、必要性のない限り グローバル変数は使わない方がいいと思うけどね。
(特に、携帯機器とかメモリ節約とか求められてない時は余計に。)
>>463
“普通の”ポインタの利点は、微妙だな。ただ、まだまだある所じゃ、速度的に値のコピーよりも
参照して行った方が効率が良かったり、処理の記述がしやすくなったり。
ただ、あるClassのポインタ(関数ポインタ含む)は処理の委譲に頻繁に利用される。
利点として、全体像が綺麗にできるし、コードの混雑が大きく減る。
cf.Strategy パターン Decorator パターン 双方向リスト 動的確保
467:名前は開発中のものです。
09/02/05 09:31:40 Qc5+f5Cj
>>463
グローバル構造体自体は普通に使うよ。
グローバルクラスが普通に使われるように。
C++においては構造体=クラスだからね。
問題は、構造体に使われるpublic変数なんだと思う。
GetXX(),SetXX()にすればいいって問題でもないとは思うけど、もしクラスならメンバ変数は基本的にみんなprivateでしょ?
468:名前は開発中のものです。
09/02/05 10:35:01 4io8tQ0w
何言ってるかさっぱりわからん俺のソースは絶対他人には見せられんな。
469:名前は開発中のものです。
09/02/05 17:44:21 B8Cz6uqn
>>463
461です
俺は今年からプログラミング初めた素人
まだグローバル変数使って困ったことはないけど
勉強しつつゲーム製作やってるから今はポインタ使って試してる
次はクラスってのを使ってみる予定
470:名前は開発中のものです。
09/02/06 00:33:01 O6HFVvT0
DxLibでaviを再生させる関数ってありますか???
471:名前は開発中のものです。
09/02/06 00:35:30 O6HFVvT0
>>470
すいません
DXライブラリで検索したら即効見つかりました
お騒がせしました
472:名前は開発中のものです。
09/02/06 00:57:03 O6HFVvT0
すいません
下のようなコードで何か問題ってありますでしょうか
動画が真っ黒の画像で再生されてしまいます
test.aviはexeファイルと同じディレクトリにあります
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
PlayMovie( "test.avi" , 1 , DX_MOVIEPLAYTYPE_BCANCEL ) ;
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
473:名前は開発中のものです。
09/02/06 08:46:48 7KSAHxxq
>>472
原因を調べるにはまずどこがおかしいか調べようぜ
PlayMovieの戻り値は調べた?
まあおそらくtest.aviが開けないんだと思うけど。
exeと同じディレクトリでもカレントがそことは限らないよ、どうやって実行した?
フルパスで指定してみるのがいいかもね
474:名前は開発中のものです。
09/02/06 10:04:24 T3lftGPa
>>472
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
if(PlayMovie( "test.avi" , 1 , DX_MOVIEPLAYTYPE_BCANCEL ) ==-1)
{MessageBox(NILL,"ファイルが開けません","読み込みエラー",MB_OK);}
WaitKey();
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
こう変えて確認してみたら?
PlayMovieは、ファイルの読み込みに失敗すると-1を返す(成功は0)
もし、これでMessageBox表示されたら上手くファイル指定ができてないってこと
もしかしたらコーデックなんかの問題もあるかもしれないけどそこは分からない
あと、PlayMovieはそこでムービー停止するまで処理とまるんだっけ?
そうじゃないならムービーの再生が終わるまで処理終わらないようにする工夫が必要
どれもこれもリファレンスにあるから一度目を通してね
475:名前は開発中のものです。
09/02/06 10:36:49 7KSAHxxq
つーかこれ公式のヘルプのサンプルそのまま貼り付けただけじゃないか。
これで問題ありますか?って、、、、
今後もサンプルがうごかないたびにコメントごとそのまま貼り付けるつもりか。
476:名前は開発中のものです。
09/02/06 10:44:57 RXpavouu
公式ページにカレントディレクトリの説明がないからだろ
フルパス指定を推奨しろよ
477:名前は開発中のものです。
09/02/06 22:13:54 bune21hQ
実行させてないけども、472のプログラムって一瞬で終わったりはしないのか・・
478:名前は開発中のものです。
09/02/07 00:40:47 9/tOLDQP
一応、ムービーは最後まで流れたよ。
ファイルが無いときも黒画面のフルスクリーンまでいって帰ってくる
479:名前は開発中のものです。
09/02/07 00:50:47 XZUozGI6
>>472
音は鳴ってるの?
480:472
09/02/07 12:23:31 m2CcO09N
すいません
解決しました
原因は動画のサイズが大きかったことでした
試しに400*300の小さい動画を再生したところ画面左端にきちんと表示されました
481:名前は開発中のものです。
09/02/07 16:43:56 5JGvk0Ld
ほー大きいと駄目なのか
482:名前は開発中のものです。
09/02/07 18:57:56 fLtGYl8p
大きいってどれくらいだろう。
483:名前は開発中のものです。
09/02/07 21:03:54 lpCM/pFJ
謎がふかまるばかりだ
484:名前は開発中のものです。
09/02/07 23:54:45 winQ4pAR
画面から一部はみ出てるから表示されないじゃね
485:名前は開発中のものです。
09/02/09 20:19:32 1pnOXqGt
背景の画像と前景の人物画の輪郭をアンチエイリアスで
合成するにはどうしたらいいですか?
486:名前は開発中のものです。
09/02/09 21:02:42 r4CYwpcr
アルファブレンドの出番かな?
ファイル名_a.拡張子で指定。プログラムは変更不要で元ファイルといっしょに読み込む。
グレースケール(白黒)で256階調。
0(黒)が完全透過で255(白)がマスク、中間値で半透明処理できる。
487:名前は開発中のものです。
09/02/09 21:16:29 hQLvxnkO
前景に普通にアルファチャンネル付き24bit-PNG使うだけじゃなくて?
488:名前は開発中のものです。
09/02/09 21:39:39 kpyVvUs4
png扱えるならそれが一番楽だな
489:名前は開発中のものです。
09/02/09 22:04:30 1pnOXqGt
ありがとうございます
アルファブレンド試してみました
ファイル一つ用意するだけで出来たんですね
美しい描画に感動しました
アルファチャンネル付きpngは今から作ってみます
作ったことないからグーグルから始めますが
今日中にがんばってみます
490:名前は開発中のものです。
09/02/09 22:37:00 1pnOXqGt
アルファチャンネル付きpngすぐ出来た
ありがとうございました
491:名前は開発中のものです。
09/02/10 01:17:10 4F920hOP
俺はもう何でもかんでもアルファチャンネル付きPNGだ。便利すぎ
492:名前は開発中のものです。
09/02/10 10:00:17 XFgx+1B+
だな
493:名前は開発中のものです。
09/02/10 10:05:10 rFLiGfwY
pngって使用制限あるんだっけ?
pngを知ったら他の形式なんてとても使えたものじゃない。
494:名前は開発中のものです。
09/02/10 11:14:35 vQYvbazz
スピードに問題はないの?<アルファチャンネル付きPNG
495:名前は開発中のものです。
09/02/10 20:29:18 tnQHyXfF
読み込んだあとは一緒だから全く問題ない
496:名前は開発中のものです。
09/02/10 22:37:01 vQYvbazz
そうなんだ。
透過処理ってなんか重そうだから多用しないようにしてたんだけど、心配なかったのか。
497:名前は開発中のものです。
09/02/11 01:39:50 EiHo01Mu
png使ったら著作権表記が必要じゃなかったっけ?
498:名前は開発中のものです。
09/02/11 02:00:10 v+EsJNk0
pngはgifの特許がらみがウゼーって事で作られたものだから
その辺の表記なんたらは何にも必要ないよ
499:名前は開発中のものです。
09/02/11 03:56:50 abcckAid
pngそのものの著作権じゃなくて
読み込んで表示させるプログラムの著作権じゃない?
>・下記の機能を使用した場合は、配布するソフトウエアのドキュメント等に各機能に応じた
> 著作権表示を含めてください。
>
> PNG 画像を読みこむ機能を使用した場合
>
> libpng Copyright (c) 1998-2004 Glenn Randers-Pehrson.
> zlib Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler.
URLリンク(homepage2.nifty.com)
500:名前は開発中のものです。
09/02/11 08:50:36 swUZoApZ
>>496
>>495はアルファブレンドとアルファチャンネル付きPNGが一緒ってことじゃないかな?
透過処理は普通の描画に比べたら遅いよ。
501:名前は開発中のものです。
09/02/11 09:51:46 1w4T1utS
ああ、なるほど。
491がなんでもかんでもって言ってるから
普通の描画と同じくらい軽いのかと思ってしまった。
502:名前は開発中のものです。
09/02/11 10:55:48 n8G83FSO
TGAだったら外部ライブラリ使ってないから著作権表記の必要はないよ
圧縮アルゴリズムが単純だからPNGよりファイルサイズが大きくなるけど・・・
503:名前は開発中のものです。
09/02/11 19:22:37 AZ7K07ik
さっき何気なく3D版の公式見てみたら・・・
504:名前は開発中のものです。
09/02/11 19:36:20 qrNBhwtd
終了か
505:名前は開発中のものです。
09/02/11 21:30:38 EO0e2yUS
透過処理はそんなに重くないよ
506:名前は開発中のものです。
09/02/12 04:09:43 T7mGdx78
3D版まだ落とせるとこない?
507:名前は開発中のものです。
09/02/12 09:22:15 g2cVI1Rq
直リンで落とせるんでない?
508:名前は開発中のものです。
09/02/12 10:15:43 S0rR+p5u
かゆい
うま
を思い出したwww作者どうなったんだw
509:名前は開発中のものです。
09/02/12 15:51:55 T7mGdx78
ファイル名が分からない…
510:名前は開発中のものです。
09/02/12 19:27:06 g2cVI1Rq
だいたいなんで今更3D版がほしいんだ?
511:名前は開発中のものです。
09/02/12 19:28:31 V7VMrK+q
なにが今更なの?
512:名前は開発中のものです。
09/02/12 19:45:30 g2cVI1Rq
公式が死んでるのに今更そこまでしてほしがる理由は何だろうと単純に思った。
513:名前は開発中のものです。
09/02/13 04:49:14 qd9k9XJd
きっと、開発を引き継いでくれる猛者なんだと予想
514:名前は開発中のものです。
09/02/13 08:52:43 gm7Wlof8
"今更"って主観に左右されると思う
515:名前は開発中のものです。
09/02/13 09:20:00 Tj50RFPE
>>512
前に使ってて一時期離れてたとか
DXライブラリの事を最近知ったなら今更とか関係ないし
てか、なんでそな事を疑問に思うのか疑問だ
516:名前は開発中のものです。
09/02/13 09:31:26 gsDT3swS
ちょうどサイトが死ぬ頃にきたもんだから、何かこう「今更かよ!」的な印象を持ってしまった。
失礼した。
517:名前は開発中のものです。
09/02/13 10:00:20 KHzspSCY
んーー???
518:名前は開発中のものです。
09/02/13 10:08:42 Gs8dKfU5
情弱死ねって事でしょ
519:名前は開発中のものです。
09/02/13 13:24:47 OFBqMPYi
とりあえず、webarchiveあたりからリンク引っ張ればいいじゃん
520:名前は開発中のものです。
09/02/13 17:52:53 gamtZzLZ
DXライブラリ初めてつかってみたんだけど、なかなかいいね。
面倒なDirectX初期化周りやレンダリング処理を全部任せられるのがすごく便利。
今まで何度も1人でゲーム作ろうとしてゲームのライブラリ化までで燃え尽きてたけど、いけそうな気がする。
ただ、メッセージプロシージャ周りを完全に独立させて、他に譲渡できればいいんだけど、
DirectXの特性上難しいのが残念かな。
ウィンドウモードでデバッグウィンドウ周りを実装してたときに感じた愚痴です。
521:名前は開発中のものです。
09/02/13 19:27:10 6Q+KDpbI
3Dの方が更新されてたが、作者どうしちまったんだ?気でも違ったか?
522:名前は開発中のものです。
09/02/13 19:33:25 OFBqMPYi
人生の方が狂ったんじゃ
523:名前は開発中のものです。
09/02/13 20:41:49 Br6f/DrZ
URLリンク(00o.sakura.ne.jp)
3D版の作者のサイト、移転してたんだ
524:名前は開発中のものです。
09/02/13 21:15:25 vieAChNU
>>523
日記の内容からして
もうDXライブラリの方は手をつけないんだろうか
525:名前は開発中のものです。
09/02/13 21:54:45 KHzspSCY
このスレ見てなかったっけ?
そのうち書き込むんじゃない?
526:名前は開発中のものです。
09/02/13 22:01:18 6Q+KDpbI
>>523
ああ、移転だったのか。
あんなイカレた閉鎖文なんか載っけてどうしたのかと思ったよ。
527:名前は開発中のものです。
09/02/13 22:26:23 Tj50RFPE
要望に答えるのが日常になって自分の作りたい物に時間や気力を使えなくなったから
過去を全部捨てて仕切りなおしたって感じだな
もうライブラリとかそう言うのは作っても公開しない気がする
528:名前は開発中のものです。
09/02/14 00:37:02 vEcxeBnT
DXライブラリ3Dは公開される気配はなさそうだし、終了のお知らせか・・・
529:名前は開発中のものです。
09/02/14 02:11:46 ioBOninz
まあこうなるとは思ってたよ
DXライブラリ3Dのソース見てみたらモデルの扱いにD3DX使ってて
まともなライブラリに至るにはまだまだ先の長い状態だったしな・・・
530:名前は開発中のものです。
09/02/14 13:24:54 esml8/+n
いや、作者はどこか意志が弱そうだから、
また公開してくれるまで諦めるな。
531:名前は開発中のものです。
09/02/16 13:18:58 xQ8BZc1p
人様が作っている物をタダで利用させてもらってる以上、こういう事態は仕方ないと思うよ
532:名前は開発中のものです。
09/02/16 17:21:56 2DsBHdnG
今、3D版のサイト見たら
DXライブラリ3Dファイナルパック
というのが、公開されてるんだが
URLリンク(fatalita.sakura.ne.jp)
533:名前は開発中のものです。
09/02/16 17:48:01 i1Y9wFn0
>>532
>※このサイトは2,3日以内に自動的に閉鎖されます
このスレ見て一時的に公開?w
534:名前は開発中のものです。
09/02/16 18:15:06 2i4RbFSc
でもこうやって出来る限りの配慮をしてくれるのはありがたい
非常に乙でした
535:名前は開発中のものです。
09/02/16 21:10:15 yCP91q6a
とりあえずウィルススキャンはクリアした
536:名前は開発中のものです。
09/02/17 14:12:08 VEVhf4mN
てか自動的に閉鎖ってできるのか
537:名前は開発中のものです。
09/02/17 15:16:32 Zl2geQsR
今北
関数リファレンスページにあるリンクされてない関数ってサンプルがないだけで使えるんだよね?
SUGEEEE
538:名前は開発中のものです。
09/02/17 16:23:49 5nIY3uJB
DXライブラリ3D作者
おつかれさま
いろいろ勉強させていただきました
539:名前は開発中のものです。
09/02/17 16:43:07 vyYC8Vig
DXライブラリ3D辞めたのか。うーん。これからどうしよう。
SlimDXに行くかな
540:名前は開発中のものです。
09/02/17 16:47:15 gK6Z/ZXS
SlimDX使えるような人ならDXライブラリの世話になんかならんw
.NET言語で書けること以外は生DirectXと同じだぞ
541:名前は開発中のものです。
09/02/17 17:10:56 nPVB/UbL
まあおかげDirectXのドキュメントが役に立つわけだがw
542:名前は開発中のものです。
09/02/17 20:02:40 /uggH+y6
DXライブラリ3D作者ありがとう、感動した。
おつかれさまでした。
543:名前は開発中のものです。
09/02/18 01:28:08 p5LpkikR
etGraphMode(800,600,32);
if( DxLib_Init() == -1 ){return -1 ;}
int t,g;
g=LoadGraph("a.png",TRUE);
SetDrawScreen(DX_SCREEN_BACK);
for(t=0;t<150;t++){
DrawGraph(GetRand(800),GetRand(600),g,1);
ScreenFlip();
WaitTimer(10);
ProcessMessage();
}
単純に画像を全画面にランダム表示するプログラムなのだがここで問題が・・・
Radeon系のグラボで実行すると画面がおかしくなるんです
SetScreenMemToVramFlagでグラホのメモリを使わない設定にするとまともに表示します
DXライブラリはRadeonの相性悪いんでしょうか
ちなみに実行したパソコンのグラボはラデX1950Proと3870で
ドライババージョンは1.2.2545 38946です
544:名前は開発中のものです。
09/02/18 01:28:34 p5LpkikR
最初のSぬけてた
545:名前は開発中のものです。
09/02/18 02:19:01 8ojm5TEP
「おかしく」の内容がわからないけど
たとえばSetGraphMode(640,480,16);にしても起こる?
546:名前は開発中のものです。
09/02/18 04:12:49 p5LpkikR
>>545
色を変えてもちらつきます・・・どうやら色問題でもなさそうです
で試行錯誤していろいろやってみたけど
SetDrawScreen(DX_SCREEN_BACK); というの行を削除して
実行するとまともにちらつきがなく1枚ずつまともにきれいに表示された
(理由はよくわからないけど・・・)
あ 肝心なDXライブラリはVer2.25です
547:名前は開発中のものです。
09/02/18 07:25:00 TxKBLHeJ
>>543
全文かいてないからどうおかしくなるのか分からないけど、それだとすぐに終わらない?
SetGraphMode(800,600,32);
if( DxLib_Init() == -1 ){return -1 ;}
int t,g;
g=LoadGraph("a.png",TRUE);
SetDrawScreen(DX_SCREEN_BACK);
while(ProcessMessage() == 0)
{
for(t=0;t<150;t++){
DrawGraph(GetRand(800),GetRand(600),g,1);
}
ScreenFlip();
}
DxLib_End();
return 0;
これでもだめ?
548:名前は開発中のものです。
09/02/18 08:16:18 476p40bE
ラジオン自体、DirectXの規約にこだわり過ぎているからな
テクスチャサイズは2の累乗とか特殊なウィンドウサイズに対応してないとか
549:名前は開発中のものです。
09/02/18 08:38:08 p5LpkikR
>>547
すいません自己解決しました^^;
どうやらDXライブラリのプログラム上ではなく
ATI Catalystのグラフィック設定がおかしかったようです・・・
3Dアンチエイリアス設定を「管理しているアプリケーション」を選択して
設定して実行すると 画面に残像現象がおきて変になるようです
そこの設定を 2x4x6x(どれでもOK)を選択すればちゃんと表示されました
550:名前は開発中のものです。
09/02/18 19:23:35 m9ZprRI/
ファイナルパック逃したああああああああああ
551:名前は開発中のものです。
09/02/18 19:41:11 VJaNf5ax
>>550
^q^9m
>改変して二次公開したりしても別にかまいませんが、その際は二次公開の旨を分かる位置に掲載してください。
>なお、DXライブラリ3Dは著作権は原則フリー(常識の範囲内で)なので商用・非商用・自作ライブラリへの組み込み、
>全てにおいてあなたのやりたいようにやってください。
その内誰かうpしてくれるよw
552:名前は開発中のものです。
09/02/18 21:08:45 CQ81txgw
>>550
うpロダにあげたよ
>二次公開の旨を分かる位置に
ミスったな
一応ここで二次公開って言っておけば大丈夫かな?
URLリンク(uproda55.2ch-library.com)
553:名前は開発中のものです。
09/02/18 21:30:08 VJaNf5ax
>>552
それは中身改変してる場合じゃね?>掲載
554:名前は開発中のものです。
09/02/19 07:50:51 pIWtXiH1
何故か3Dモデルがポリゴン欠けしてしまうよ
555:名前は開発中のものです。
09/02/19 11:33:29 f0/T9Pla
それ以前にさ、モデルを100分の1くらいに縮小して表示したら変なことにならないか?
もうこれでずっと悩んでるんだが
556:名前は開発中のものです。
09/02/19 15:13:01 U9UHVYOh
ヒント
有限な計算精度
557:名前は開発中のものです。
09/02/19 16:41:47 4ok3CY5Z
縮小するなら、縮小専用のモデル(ビルボでも可)を用意してあげれば?
558:名前は開発中のものです。
09/02/19 19:45:08 f0/T9Pla
どうしよう二人の言ってることがさっぱり分からん。
ニコ動に抵抗がなければ5:20あたりから見てくれないか。
URLリンク(www.nicovideo.jp)
559:名前は開発中のものです。
09/02/19 19:51:00 f0/T9Pla
↑ログイン形式だったの忘れてた。聞かなかったことにしてくれ。
560:名前は開発中のものです。
09/02/19 19:57:29 qMcuPVNK
ライブラリ3DはDXアーカイブファイルとFileRead_系の関数が使えないのかああああああああああ
561:名前は開発中のものです。
09/02/19 20:18:13 bxQhZGhK
File_Read系は
#include<stdio.h>
で好きなだけ代用できるじゃないか
intじゃなくてFILFポインタになるけど
アーカイブは探せばいくらでもあるから代用できる
……はず
562:名前は開発中のものです。
09/02/19 21:11:58 uEbxvwJb
>>558
うはー、DXライブラリ3Dってこんなの作れるのか。
563:名前は開発中のものです。
09/02/19 21:35:14 lOZWd07N
DXライブラリ3Dを持ち上げては「閉鎖もったいない!」「また公開されるべき」と色んなスレで書き込んでるIDが同じヤツ作者?
それにあわせて作者が同じ日に公開とか自演ぽくね?
閉鎖なのか公開なのかはっきりしろよ・・・
大学続けようとおもいます→大学中退しました→
夢があるからです→夢から冷めてきました→
興味が薄れてきました→PC壊れたので・・・→閉鎖します
564:名前は開発中のものです。
09/02/19 21:40:51 uEbxvwJb
んな事自演しても意味ないと思うけどな~w
565:名前は開発中のものです。
09/02/19 21:48:49 tJ+D/Bvq
URLリンク(ii2.matrix.jp)
566:名前は開発中のものです。
09/02/19 21:49:12 TRLSeDgG
>>563
アホ?
これ以上のバージョンうpは無いと思ってればいいだろ
閉鎖されてから落とせなくて探してる奴が居ただけだ
ファイナルを何時から準備してかは知らんがな
てか、こんな過疎板に自演して作者に得があるのか?
567:名前は開発中のものです。
09/02/20 00:24:59 8YD/yL0t
2Dの方で努力に見合った対価が得られなかったのかな?
568:名前は開発中のものです。
09/02/20 00:29:18 ysEz7dEP
DXライブラリ3Dだけど個人的には飽きっぽいのに根気が要るライブラリ公開なんてするなよと思った
無料だから文句は言えないけど、飽きたから管理止めますとか、無責任なことには代わりない
もうこの作者のことは信用できない
569:名前は開発中のものです。
09/02/20 01:17:54 A+5UBWwG
文句言いまくりですねw
570:名前は開発中のものです。
09/02/20 05:50:40 8tyTE/rK
まあ擁護してる奴は作者だろうな
571:名前は開発中のものです。
09/02/20 07:41:19 8YD/yL0t
仮に飽きたからでも一身上の都合と言うのが大人だよな
572:名前は開発中のものです。
09/02/20 07:43:53 8YD/yL0t
麻生じゃないけど世の中思った事をそのまま口にすると損する事が多いらしい
573:名前は開発中のものです。
09/02/20 07:44:51 jFTkkFCI
>572
そらそうだw
574:名前は開発中のものです。
09/02/20 08:28:32 8h4MKZuU
麻生は口滑らしすぎだなw
575:名前は開発中のものです。
09/02/20 09:06:13 aIKFY2CZ
欲しい物が手に入ったら叩き始めるとかもうね
576:名前は開発中のものです。
09/02/20 09:48:35 KdVzxEPs
小泉さんは思ったこと口に出したからこそ成功できたタイプ
577:名前は開発中のものです。
09/02/20 10:58:30 8YD/yL0t
飽きたから止めますってなんて言われたら今までのファンは凹むもんさ
有料でもいいから続けてみては?
578:名前は開発中のものです。
09/02/20 12:26:01 aZHJViPQ
>>576 どこがだよwww
むしろ、逆だろ。ほとんど何も言わなかった。
で、喋る時は、あらかじめブレーンが考えた フレーズで乗り切る。
だから、絵が欲しいTVには喋ってる所で、内容がぶれようがない。
変な編集かませる余裕を作らず、ちゃんとメガホンとしてマスコミを利用してた。
579:名前は開発中のものです。
09/02/20 12:38:02 jFTkkFCI
メディアの使い方が上手かった、これだけは間違いない
580:名前は開発中のものです。
09/02/20 13:08:33 3qadtHxy
DXライブラリ3Dの作者は信用できないのは間違いない
それ以上にDXライブラリの名前使ったのに逃げたのが許せない
581:名前は開発中のものです。
09/02/20 14:12:22 KdVzxEPs
>>578
私の内閣では通用しない
感動した
そして解散を決めたときの名演説
いまさらかつての人気を貶めようとしても無駄ですよ
582:名前は開発中のものです。
09/02/20 15:48:19 D8Q9D5Jt
DXライブラリ
DXライブラリ 関数リファレンスページ
dxfunc2.htm(ファイル名) には詳しい説明がなくて
メニュー関係関数がいまいち使い方がわからない
583:名前は開発中のものです。
09/02/20 16:36:00 8h4MKZuU
あー、なんか
>それ以上にDXライブラリの名前使ったのに逃げたのが許せない
これはわかる
名前がまったく関連性のないものだったらよかったのにね
584:名前は開発中のものです。
09/02/20 17:24:08 MS2hL7JC
メニュー関係関数って何
585:名前は開発中のものです。
09/02/20 17:24:10 2MhbVJBH
集客のためだったんだろうよ。
586:名前は開発中のものです。
09/02/20 18:29:28 kcT2uiGI
メニュー関係の関数は本当に全然わからんよね
関数の数も多ければ、引数についても説明不足でなにがなんだか分からないよ。まじで。
自分はResourceから作ってます。
IDR_MENUってのがメニューリソースでこんな感じ
SetUseGDIFlag(TRUE); //GDI利用
SetUseMenuFlag(TRUE); //メニュー利用
LoadMenuResource(IDR_MENU); //リソースからメニューを読み込み
SetDisplayMenuFlag(TRUE); //メニューの表示
注意を1点だけ。
Windowモードだと問題ないけど、フルスクリーンモードだと、
そのメニューからDialogBoxなりMessageBoxを呼ぶと、
一見ちゃんと表示されたようになりますが、処理復帰後、
その後、メニューが隠れて見えなくなります。
587:名前は開発中のものです。
09/02/20 18:30:55 kcT2uiGI
あ、あとメニュー作成はDxLib_Initの前でOKです
588:名前は開発中のものです。
09/02/21 01:04:15 3rVkBDkP
>552
今DLしました
ありがとうございます!
589:名前は開発中のものです。
09/02/21 09:46:45 73or/HL/
>>552
超ありがとう。
マジで。
おかげで開発引き継げられるわ。
590:名前は開発中のものです。
09/02/21 10:07:29 QPv83g/e
>>589
引き継いでもいいけどDXライブラリ3Dという名称はやめてくれ
591:名前は開発中のものです。
09/02/21 10:35:53 73or/HL/
>>590
わかるけど
変えたら変えたで問題じゃね?
592:名前は開発中のものです。
09/02/21 11:17:25 Vvb1WGeN
俺ももうDXライブラリ3Dという名前はやめてほしい
完成度が高くて初心者でも分かる程度になってから名乗って欲しい
593:名前は開発中のものです。
09/02/21 11:52:48 YY9Vv2Rq
DXライブラリ3Dの作者叩く奴等は最低だと思う。
どこのチョンだよ。
見てて恥ずかしい。
594:名前は開発中のものです。
09/02/21 12:04:32 Vvb1WGeN
勝手にDXライブラリ名乗って売名したうえに
ユーザーから賞賛されないって逃げたのは誰だよ
ホンディーって名乗ってホンダっぽさだして
富士山移して日本っぽさだして売名してる現代車と変わらないのは作者だろ
しかも、性能まで劣ってるというとこまで同じだし
叩くというかもう出てこないで欲しい
595:名前は開発中のものです。
09/02/21 12:37:57 73or/HL/
行動せん奴よりは100億倍マシだがな
596:名前は開発中のものです。
09/02/21 12:41:31 Vvb1WGeN
行動の方向性が悪けりゃ邪魔にしかならない
そして、作者は現に逃げた 大学からも ライブラリからも サイトからも
597:名前は開発中のものです。
09/02/21 12:45:53 Wn6D0K7q
ml::だけは格好悪すぎるから変えてくれ
598:名前は開発中のものです。
09/02/21 12:46:30 Vvb1WGeN
あと作者はあのサイトとあの名称を捨てただけで活動してるみたいよ?
ブログっぽいのに書いてあった
その宣言と同時に突然DXライブラリ3Dの書き込みや動画投稿増えてるからなー
何をいわんとするかは察してくれ
599:名前は開発中のものです。
09/02/21 12:49:09 Vvb1WGeN
>>597
あれはセンスないよなmL.とかないわーって思った。
普通に dxlib3d. とか略してdx3dなり関連性だせばいいのにな
そもそも初心者向け狙ってクラス前提はどうかな・・・
表面層ですべて関数化したほうがDXライブラリっぽくていいのいね
600:名前は開発中のものです。
09/02/21 12:56:14 YLpnm94h
プログラマなんだろ?
自分でやれよ。
うだうだうるさいな
601:名前は開発中のものです。
09/02/21 12:57:32 73or/HL/
クラスやだやだと思っていたクチだが
いざ自分がクラスを覚えるとやっぱクラスじゃなきゃやだな。
602:名前は開発中のものです。
09/02/21 12:58:37 YLpnm94h
あのライブラリは終わったんだからさっさと切り替えろよ
ここは
Dxlibのスレだ
603:名前は開発中のものです。
09/02/21 13:10:33 Vvb1WGeN
確かにまったく関連ないからね、関連持たせたい人いるようだけど
604:名前は開発中のものです。
09/02/21 13:16:06 dxxV1Mry
DXライブラリのひともこんな奴らがユーザーかと思ったらやる気なくすわな。
なんかあったらどうせ同じように叩くんだろ?
で、お前ら1本くらいゲーム完成させたのかよ?
できてる奴は晒してくれ。できてない奴は3d叩いてないで、一緒に精進しようや。
605:名前は開発中のものです。
09/02/21 13:24:03 73or/HL/
むしろ何をモチベーションに頑張っているのか知りたい。
一銭にもならんのに世の中には奇特なひとがいるものだなと思っている。
使うほうとしては助かるが。
606:名前は開発中のものです。
09/02/21 13:27:49 Vvb1WGeN
やる気勝手になくしてろよw
なんかあったら同じように叩くに決まってるだろwそれが悪いのか?
一銭にもならなくても集客や勉強にはなるからな
それを先に期待して失敗したライブラリもあるようだがw
607:名前は開発中のものです。
09/02/21 13:33:11 YLpnm94h
>>606
スレリンク(gamedev板)
こっちだけでやってろよ
608:名前は開発中のものです。
09/02/21 13:43:26 Vvb1WGeN
3D版をよく宣伝しておいてあげるよ
色んなとこでなw
よかったなJEX
609:名前は開発中のものです。
09/02/21 14:09:34 jnbX56Cw
おまいら、DarkGDKを使え!3Dが簡単だ
クラスもOOPも必要ない
DXライブラリだけの知識で充分だ
DarkGDK
URLリンク(www.microsoft.com)
610:名前は開発中のものです。
09/02/21 14:22:42 dxxV1Mry
IDにdx出たらなんか嬉しいわ。
フリーソフト全般に言えることだが、モチベーションはユーザーの笑顔だよ。
勉強も兼ねて作ったソフトでも他人が喜んでくれると嬉しいじゃん。
でも勘違いしないでほしいのは、「奉仕」ではなくて結局は自分が嬉しいからということ。
だから>>606みたいなコはツクールでも他のライブラリにでも行けばいいのは確定的に明らか。
…作者乙みたいになっとるorz
611:名前は開発中のものです。
09/02/21 14:27:52 Vvb1WGeN
だから、DXライブラリとDXライブラリ3Dはまったく関係ないだろ
その話題をだすなホンディー野郎が
612:名前は開発中のものです。
09/02/21 14:51:46 9LkGvvey
無関係なのに名前だけで信者が勝手に宣伝してくれる東方のようだ
613:名前は開発中のものです。
09/02/21 18:11:06 ZosdmEGc
この過疎スレでまっかっかとはこれいかに
614:名前は開発中のものです。
09/02/21 19:22:29 qDaUhwJp
ID:Vvb1WGeN
615:名前は開発中のものです。
09/02/21 20:09:47 YRfeqJWH
DXライブラリPortableなるものもあるし、どうなってるんだ
616:名前は開発中のものです。
09/02/21 22:42:10 SXUTviSw
本家の雑談掲示板で
投稿者:管理人 投稿日:2008/12/02(Tue) 03:41
> PSPで使えるDXライブラリ風のライブラリに取り組んでいます。
> DXライブラリPortableというそのまんまな名前です。
DXライブラリの名を冠するのでしたらDXライブラリのプログラムがそのまま動く方向で・・・ 嘘です ( いえ、***さんなら可能かもしれませんが・・・ )
というか、似てる度合いにもよりますが、なにもセンスの無い名前( DXライブラリ )を使う必要は無いのでは(^ ^;
;
遠回しな表現だが、DXライブラリの名が乱用されることに困惑している
プログラミング云々以前に、奥ゆかしい心を持つのが大事だと思うよ
渦中の人物さんも、とうに終わったことを批判してる皆様も
|ω・)。oO(・・・なんて言ってみたいね)
617:名前は開発中のものです。
09/02/21 23:09:02 73or/HL/
>なにもセンスの無い名前( DXライブラリ )を使う必要は無いのでは(^ ^;
なにを今更かもしれんが
「DXライブラリ」という名前は本当、どうにかならんかったのかな。
一般名詞なのか固有名詞なのか紛らわしい。
618:名前は開発中のものです。
09/02/21 23:32:02 Vvb1WGeN
>>617
と、JEXが名前のせいにしています
619:名前は開発中のものです。
09/02/22 01:09:22 iXJQLcV6
>>617
DirectXの公式ライブラリだと思ってる人も居るしね
でもこの微妙な名前のお陰で検索で迷うことが無いw(似た名前を誰も付けないから必ずトップに来る)
しかしDX(デラックス)ライブラリなのか"D"irect"X"ライブラリなのかどっちなんだ
620:名前は開発中のものです。
09/02/22 01:48:46 MYCg5Ttv
>616
遠回しな否定にちょっと笑った
>617
遠い昔に、同じようなことを(仲間内でだが)ツッコんだ記憶があるw
621:名前は開発中のものです。
09/02/22 10:47:40 SOgPp2Su
東方二次創作で東方○○○(漢字三文字)って名前にするような感じだな
622:名前は開発中のものです。
09/02/22 18:24:12 D+em7cNw
なんか根本的に違う
623:名前は開発中のものです。
09/02/22 23:59:26 T9mimNJt
DXライブラリとは直接関係無いかもしれませんが質問させてください。
今2Dのゲームを作り始めたばかりです。
座標系の変数にint型を使っていますが計算や関数に通すと小数点以下が切り捨てられ若干正確さに欠けるてしまうのが気になります。
floatやdoubleを使えば正確さは取り戻せるのですが、
この先ゲームを大きくしていくにつれて浮動小数点型を使用するデメリットなどはありますか?
たとえば大量の衝突判定を行う際の演算速度に影響しないかなどが気になるのですが・・・
624:名前は開発中のものです。
09/02/23 00:01:18 DH1AxR+6
そもそも小数点以下が切り捨てられるのが正確じゃないと考えるのがおかしい。
表示座標と内部座標について見直せ。
625:名前は開発中のものです。
09/02/23 01:02:40 pMCsbAxr
int型は整数をいれる変数です
626:名前は開発中のものです。
09/02/23 01:16:14 8ngKALzm
ちなみに内部的に浮動小数点で持っても別にいい。
表示の時は整数キャストしなさい。
切捨てが気になるなら四捨五入の関数やマクロでも使いなよ。
演算速度はint>float>doubleだが、
floatで座標を持たないといけない設計のゲームが、
演算速度の関係でint型に戻すとかは考えない方がいい。
作ってるゲームにもよるが、あたり判定はコストが掛かるところ。
演算速度が気になるようなら、基本的な衝突判定アルゴリズム(4分木空間分割)を使うがいいさ。
演算速度の問題はアルゴリズムが解決してくれる。
627:名前は開発中のものです。
09/02/23 03:04:34 E10pxrAS
2Dゲームでそんなに正確さ求められるもんかねぇ。
それとは関係ない、こっちの話だが
俺の作ってる2Dゲー、今までは普通に動いてたのが
PCに故障によって多少環境が変わったところ、
状況によって激重になるようになってしまった。
もともとそんなに高性能PCってわけじゃない(はずな)のに
非効率な組み方でちゃんと動いてたから安心してたんだが
これはちょっと根本的に見直す必要があるのかもしれん。
画像のサイズを2のn乗にする事で多少改善した部分もあるが
画像とは関係なしに重くなる部分があるようなので
それこそ以前勉強しようとして挫折した空間分割とか考える必要があるのかも……。
628:名前は開発中のものです。
09/02/23 03:12:12 8ngKALzm
まずはどの箇所でオーバヘッドを生んでいるのかを明確にしてからだな
当り判定なのか、描画処理なのか、読み書きなのかだ。
それぞれマイクロ秒単位(GetNowHiPerformanceCount)で処理時間を計測して、
ボトルネックになってる箇所があたり判定なら空間分割したらいい。
勉強するのが嫌なら、どっかその辺のライブラリ引っ張ってきたらいいさ。
629:名前は開発中のものです。
09/02/23 08:31:25 wwU8DbAV
浮動小数点なんて使ってたら誤差がどんどん
広がっていきませんか?
630:名前は開発中のものです。
09/02/23 12:31:35 cbCnDoWc
整数だと、何故正確じゃなくなるのかが分からないんだ。
誰かアドバイス頼む。
631:名前は開発中のものです。
09/02/23 12:34:36 s3UHHKOo
ミサイルの計算とか整数でやろうと思ったらものすごく頭使わないといけないと思うんだが
632:名前は開発中のものです。
09/02/23 12:35:17 D3Z7OH4U
ソースを貼るのが一番じゃね?
633:名前は開発中のものです。
09/02/23 13:49:42 cbCnDoWc
>631が質問者と同一人物かどうかは分からんけど
例えば、毎フレーム5ドットずつ動くオブジェクトがあるとする。
「速度アップ」というアイテムがあり、それを取ると移動速度が10%上昇する。
速度10%アップということは、速度が5から5.5になることを意味する。
だが、当然ながらint型では5.5という数字は表現できない。
無理矢理に5.5を表現しようとすれば、
フレーム毎に5ドット移動と6ドット移動を繰り返す……みたいなプログラムになるだろう。
でもこれはロジックとしては最悪だろうし、見た目にもガクガクしてしまう。
この場合、整数型で「速度10%アップ」なんていうアイテムの仕様が悪い。
もし一人で作っているなら、そのゲームの仕様を見直すべき。
これは極端な喩えだが、
そういう部分を考えずに、安易に浮動小数点にしよう!とするから問題が起こる。
634:名前は開発中のものです。
09/02/23 13:54:01 wvqDMdSg
有効数字というのがあってだな
635:名前は開発中のものです。
09/02/23 14:05:09 2rXEX53B
スレチ
636:名前は開発中のものです。
09/02/23 14:12:20 cAIICXpl
>>627
減算とか特殊な描画モード使ってたり、大きいテクスチャ使ってると環境毎に差が出やすかった経験
637:名前は開発中のものです。
09/02/23 14:14:52 JKBRWfYb
ファミコン時代のマリオアクションのようなゲームなら整数で座標保持してOK
どうせキャラは1ドットずつしか動かないだろう。
いまどきなシューティングしようとおもったら、
弾の移動なんかは、弾オブジェクトに加速度や速度をベクトルで持たせるだろうから、小数点使いなよ。
丸め誤差については値のとるべき範囲と計算式の展開方法を見直せ。
やれやれ。こんな質問じゃあDXライブラリ使用者の質が問われるぜ……。
638:名前は開発中のものです。
09/02/23 18:54:46 GQvUpA/G
double x = 0;
for(i=0;i<10;i++) x += 0.1;
とやってもx==1.0にはならないと読んで、
次アクション系作るときは座標を固定小数点にしようと思った。
たとえば上の計算の直後の x は0.9999になる場合がありそのときそれをintにキャストしたりfloorすると0.0になってしまう
というのを(常識なのかもしれないが)それを読むまで知らなかった
639:623
09/02/23 19:27:59 4Qo3h6rv
>>626
回答ありがとうございます。
衝突判定に試行錯誤する覚悟でfloatを使っていこうと思います。
>>633
たとえば、5ドットずつ動く弾をx軸から10度の方向に撃つとき、
sin10°*5だと1を割ってしまうので座標を整数で記述していると10度の方向に行かず水平に移動してしまいます。
intを固定小数点数的に記述する方法もあるにはあるのですが
あくまでみなし少数なので注意してコーディングしないとバグが出る、要するに面倒くさいんです。
640:名前は開発中のものです。
09/02/23 20:03:52 JKBRWfYb
sin10°と書いた時点で浮動小数点使ってる。
まさか1周256°のsinテーブル保持するなんて、オールドテクニック使うつもりじゃないんだよね?
整数部と小数部を持たせる固定小数点だとfloat演算より余計にオーバーヘッド食うよ。
素直にfloatでOK。
641:名前は開発中のものです。
09/02/23 20:22:10 JKBRWfYb
みんな知っていることだと思うけど、>>638の誤差云々という話についても書いておく。
1.浮動小数点に関して、==で比較してはならない。
2つの浮動小数点数の差を取り、その絶対値が誤差限界より小さい時には、等しいものと判定するようにする。
2.浮動小数点同士の計算は一番最後に行う。
誤差の蓄積を防ぐため。上手いこと計算の順序を変える。
3.一時的に整数型を使う
0.1を10回足し算する計算を、0.1を10倍して1にしてから10回足して、その後に10で割る。
固定小数点の中でも、特に整数部と小数部を分けた固定小数点はバグの温床になりやすい。
正直いらんお世話だと思うが、1人でも悩んでいるのならとおもって書いておいた。
642:633
09/02/23 21:54:08 cbCnDoWc
>639
整数だと正確さに欠けると言っても、その「正確」って言葉自体に色んな意味があると思うんだ。
(1)何らかの物理法則(嘘物理でもいい)をトレースする正確さ
(2)プログラマの想定通りに動くという意味で正確さ
前者だと、intよりもfloat、floatよりもdoubleの方がより正確だろう。もちろん限界はあるけど。
後者だと、ちゃんと仕様を理解している限り正確さなんて変わらない。
なので、整数型だと正確じゃなくなる、という表現は誤解を招くかもしれない。
自分(>631>633)もそうだが、>624なんかも後者の意味で捉えたんだと思う。
>後半(>633へのレス)部分
要は、プログラム側で整数型を使うと決まっている時に、
整数で表現できない数字を使おうとするのが、そもそもの間違いってこと。
よく言われることとして、ゲームは物理シミュレーションではない。
物理法則を “正確” にトレースするより、物理法則に従ってるっぽく見えることの方が重要なわけだ。
>639の例なら、45度の角度なら水平に飛ぶことはないだろう。
もちろん誤差は出るが、その誤差に合わせてゲームの内容や難易度を調整すればいいんだ。
あ、浮動小数点を否定しているわけじゃないぞ。
最終的にはfloatとかdoubleを使うことになるだろうし。
643:名前は開発中のものです。
09/02/24 18:11:56 ZuK8YWCV
はじめてここきたぜ、誰もいないかなぁ。
RPG作ろうと思って2週間くらい粘って
斜め移動とか歩くモーションとかは入れられるようになったんだ
で、チップを使わずに、もしアイテムとか人が立ってたとしたら
ある範囲まで近づいたら頭の上にでもアクションが出るようにしたいんだけど
こうすると、いけるところといけないところの判定を作るのがごちゃごちゃになる。。
先人の知恵があれば、誰か。。
644:名前は開発中のものです。
09/02/24 18:16:16 jZRLhqc7
判定とどう関係があるのかわからないんだが、
間に壁があったらアクションが出ないようにしたいってこと?
645:名前は開発中のものです。
09/02/24 18:24:36 ZuK8YWCV
おっ
壁の絵を描いたとする。
その壁の座標に沿って越えられないようにする。
ような感じなんだけど、チップでやれば、
チップ番号で判定してそこだけ通れないですむけど
壁が複雑な形(円状に、三角だとかだと、どうするのかなぁって。
646:名前は開発中のものです。
09/02/24 18:26:41 ZuK8YWCV
訂正orz
円状になってたり、角になってたり、
です
647:名前は開発中のものです。
09/02/24 18:35:54 CVLB4nkp
壁ごとに判定するだけ
648:名前は開発中のものです。
09/02/24 18:38:56 ZuK8YWCV
つまり同じサイズの画像をつくって
通れないところはたとえば緑で塗りつぶして
座標と入力された方向に移動量を加算して
画像の1bitで判定してもし緑なら動作しないでおk?
649:名前は開発中のものです。
09/02/24 19:02:21 dNVL6GY6
まずは壁(通れないところ)と通路(通れるところ)を別個で作る。
画像を使ってもメモリが許すなら>>648の作り方でOK
で、キャラと反応オブジェクトの間に壁があるなら非アクション。それ以外なら距離が近づいたらアクション
みたいな感じでいいんじゃない?
650:名前は開発中のものです。
09/02/25 00:50:52 d7hz7bDR
>>643 とりあえず、日本語を勉強しろ。
すげーわかりにくいぞ。
頭の上にでもアクションってんが、メタルギアソリッドの敵兵の気づき!
みたいなのだとするとして、
1)アクション表示キャラの判定の選別が難しいのか?
それとも、2)キャラの動きの判定(進入可能区域か否か)が難しいのか?
その両方か?それとも判定じゃなくて、3)衝突反応に問題を抱えてるのか?
どれだ?
※衝突反応・・・・壁に計算上はめり込む位置からの移動の時に、
垂直にぶつかったら、壁の前で停止、
斜めにぶつかったら、壁に沿って進行方向に近い向きに進む。
などの判定以降の処理。
とりあえず、 『実例で学ぶゲームAIプログラミング』に1)2)等については書いてあった。
たぶん、今後とも良い勉強になるとおもうから、お勧めする。
3)は、ひたすら細かい調整をしていくしかない。
基本は、幾つかの場合分けをして考えれば直ぐに分ると思う。
651:名前は開発中のものです。
09/02/25 01:12:39 tDlRDwGK
>>650
2)だぜ。親切にありがとう。本屋で探してみる。
652:名前は開発中のものです。
09/02/25 02:31:40 Z85CVAO2
キャラ同士を結ぶ線についての障害物可否判定かと思ったら、全く違って笑ったw
653:名前は開発中のものです。
09/02/25 03:43:37 kcXQw5Ss
そういう意味だったのか。
全然わからなかったw
654:名前は開発中のものです。
09/02/26 12:21:47 dehVPWYB
DXライブラリって描画先をテクスチャに出来なかったっけ?
描画先指定でグラフィックハンドルを指定したら出来なかったから気になったんだけど……
655:名前は開発中のものです。
09/02/26 16:44:08 FCvuxnjL
描画可能なグラフィックハンドルってのがある
それじゃないと書き込みできないよ
656:名前は開発中のものです。
09/02/26 17:45:59 dehVPWYB
MakeScreenってのかな?
グラフィックと画面は別なのね……
657:名前は開発中のものです。
09/02/27 06:25:11 MX3xvzHi
ちょっと上の話題に関してなんだが
座標扱う時は素直にfloatでよかったのか
俺は小数点型だともしかしたら遅くなるかもと思い
座標計算には100倍したものを使い、表示するときに100で割って使ってたのだが
(まあ10倍で十分かもしれんが)
あと、どっかでfloat よりも double 使った方が良いと聞いたので、
俺は小数点型を扱う時には専ら double型を使ってるのだが
658:名前は開発中のものです。
09/02/27 07:50:49 KlYIcaW4
>>657
それが得策。floatは、使い方が難しい。
悪く言えば、既に過去の産物で、互換性のために残ってる・・・。
ぐらいに思い切ってしまった方が良いぐらい。
有効桁数が小さいし、感覚と違う所が強いから
小数点として扱う時は、意味も分らずにfloatを使ってると
変なバグに嵌りまくる。しかも、見た目間違ってない様なコードで嵌るからねwww
逆に、doubleだと、intよりも有効桁数が大きいから、
intで大丈夫な桁範囲を軽くカバーできるしね。
ボトルネックになってない所の計算だったら、正直doubleが無難だよ。
(あと、意外とdoubleの方が早かったりすることも多いから、
実測で比べるのは言うまでもないが。)
659:名前は開発中のものです。
09/02/27 10:49:02 tFIcInvl
100倍よりも128倍したものを128で割る方がいいんじゃないかしらんと
確認もせずに想像で言ってみる。
660:名前は開発中のものです。
09/02/27 19:35:42 0AHSCy/i
相手のレベルによっては100倍って説明した方がいい時おあるよね。
661:名前は開発中のものです。
09/02/27 21:05:19 EURlNcbt
DXライブラリっていう名前が問題なくね
このライブラリ知る前から自前のライブラリもDxLibって付けちまってたし
まぁ何年もまえの話だが
662:名前は開発中のものです。
09/02/27 21:13:18 ZQTPwJtl
DirectXのラッピングライブラリだからDXライブラリでいいんじゃね?
ちょっとダサカッコイイ感じが対象者レベルにぴったりだし。俺含めて。
663:名前は開発中のものです。
09/02/27 21:31:46 lChaxYTz
やっぱりDirectX公式ライブラリと思われてしまっても仕方が無い。
が、いまさらオリジナルの名前に戻されてもね。
DXLibで十分や。
664:名前は開発中のものです。
09/02/27 23:17:07 0AHSCy/i
>661-663
その微妙な心境が手に取るように分かるぜw
665:名前は開発中のものです。
09/02/27 23:17:18 +el9j4ty
朧村正みたいなゲームも作れるよね?2Dだし
666:名前は開発中のものです。
09/02/28 00:42:10 aTuc4vAr
作れるよ
667:名前は開発中のものです。
09/02/28 06:17:37 P7f9XrLx
DXLibに収録されてる非公開関数のリファレンスって無いのかな
ウィンドウハンドルを取得する方法を探してたら、非公開関数で取得できるのを知って
他にも有用な関数がありそうなので気になったんだが
668:名前は開発中のものです。
09/02/28 06:32:10 TAywFnWh
作者は非公開のリファレンスは書かないってよ。
利用する頻度の少ない関数を初心者に公開するには混乱の元というコンセプトらしい。
コメントとソースで自力で読むしかない。
669:名前は開発中のものです。
09/02/28 06:34:58 LqQy7pZD
>>667
URLリンク(studiokingyo.fc2web.com)
670:名前は開発中のものです。
09/02/28 06:54:33 P7f9XrLx
>>668
非公開関数のリファレンスは書くつもりは無いのか
わざわざ用意した関数のリファレンスを書かないのは勿体無い気もするが
ヘッダ見たら色々あったけどコメントだけじゃ引数がわからないし、ソース読むしかないのね
>>669
そこ見て非公開関数の存在を知ったんだけど、他にも説明のある非公式のサイトとかないのかな?
671:名前は開発中のものです。
09/02/28 06:58:59 TAywFnWh
引数の名前と型を見てなんとなく分かると思う。
わかんなかったのはMenu関係かな。
どれが便利な隠れ関数なのか人によってまちまちだからな~。
全部教えるわけにはいかないので、その都度聞いてくれ。
あと、大概公式の掲示板を関数名で検索すると作者がサンプルコード書いてあるよ。
672:名前は開発中のものです。
09/02/28 07:00:08 LqQy7pZD
>>670
他のところは知らないかな
もし需要あるなら非公開関数ちょっと調べてリファレンスでも作ろうか?
673:名前は開発中のものです。
09/02/28 07:01:10 TAywFnWh
>>672
俺からも ぜ ひ 頼 む
674:名前は開発中のものです。
09/02/28 07:06:17 LqQy7pZD
>>673
でも、正直DirectX使えばなんとでもなるから、わざわざ推奨されない非公式関数発掘して制約多い状態でDxLib使うより
その方が早い気もする
中見てないから分からないけど、ソースが綺麗だったらまだ救いようあるんだけどな……
675:名前は開発中のものです。
09/02/28 07:19:28 TAywFnWh
DXライブラリ使ってるのに、その上でDirextX直叩きする酔狂は居ないと思う。
リファレンスもあったら便利だけど、目ぼしい関数はチェックしてるからなぁ。
676:名前は開発中のものです。
09/02/28 07:27:18 P7f9XrLx
>>671
教えてもらえるなら助かるわ
といっても、そこそこ量があるので使えそうな関数を探すのが難しそうだがw
>>672
非公開関数をまとめてくれるのなら有難い
677:名前は開発中のものです。
09/02/28 12:35:30 1J8Bdlx6
>>672
結構需要あると思うし、個人的にもすごくうれしい
678:名前は開発中のものです。
09/02/28 17:39:28 mz4DlK2y
詳しい説明は無くてもかまわないからリストだけでもあれば重宝します
679:名前は開発中のものです。
09/02/28 18:56:21 JPI33j26
>>666
ってことはDXライブラリでも極めれば市販ゲームレベルの作品が作れるって事だね
680:名前は開発中のものです。
09/02/28 20:56:23 GSZZUTVZ
極端な話,DrawGraphさえあれば十分
681:名前は開発中のものです。
09/02/28 21:06:52 gSUwRndo
画像ファイル一枚を分割してアニメーションさせるのと
全部別々のファイルを読み込んでアニメーションさせるのって負荷とか違うのかな?
後者の方がやりやすいんだがどうなんだろう
682:名前は開発中のものです。
09/02/28 21:15:45 GSZZUTVZ
一度の画面表示に使用する画像の数はできるだけ減らした方が
テクスチャの切り替えが減って効率は良くなる
683:名前は開発中のものです。
09/02/28 21:20:02 gSUwRndo
>>682
やっぱりそうなのか・・
パーツ分けがめんどくさいんだよなぁ
684:名前は開発中のものです。
09/02/28 21:25:21 GSZZUTVZ
何のためにプログラミングやってんの
それこそ機械にやらせればいいでしょ
685:名前は開発中のものです。
09/02/28 23:32:58 gSUwRndo
>>684
フォトショで画像作ってるからPSDファイルなんだよね
ヘボプログラマーなんでPSDファイルを分割するプログラムは作れないです・・
686:名前は開発中のものです。
09/03/01 01:19:31 Q0b0e5s4
使ったこと無いから知らないけどさ、フォトショってマクロみたいな機能無いの?
687:名前は開発中のものです。
09/03/01 01:43:53 gJBH+jz2
>>686
あるよー
でもマクロするほどの作業量でもないので手動でやります
688:名前は開発中のものです。
09/03/01 04:00:52 4UMfyekW
ん~?
681と682の質疑応答の意味がよくわからん。
1ファイルを分割しようが、複数ファイルを読み込もうが使用する数は同じじゃないの?
689:名前は開発中のものです。
09/03/01 04:46:48 gjx3PjZU
俺もわかんね。
同じじゃん。
どっちの方が管理が楽だろう?っていう人間の負荷の話ならともかく
690:名前は開発中のものです。
09/03/01 05:31:56 idjBCaEs
>>681-689
一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は一枚
複数の画像を読み込みそれぞれをハンドルを取得→PCが操作する画像は複数
負荷が多いのは勿論後者
大げさだけど
一枚100MBの画像を一枚開くのと
一枚10MBの画像を10枚開くの
どっちが早いか考えてみたら分かるんじゃないかな?
まあ、数十枚の画像なら気にする必要はないんだけどさ
容量的にも、バイナリで開けば分かるけど、一枚ごとに色々付加されるから
200kbの画像を2つに分けて保存しても合計で220kbくらいになっちゃう(ものによって違うかな)
691:名前は開発中のものです。
09/03/01 08:23:41 idjBCaEs
今非公開関数まとめてたんだけど、すごくわかりやすいからわざわざまとめるほどでもない気がしてきた
作者が公開してないんだから公開するのも何かな……
一応簡単に晒すけど……
使い方(引数)、いつ呼ぶのか(DxLib初期化前か後か)、返値……ここらへんが分かれば良いんだよね?
もしこの中で知りたいとか要望あるならHTMLにして、簡単なソースくらいくっつけてリファレンス化するよ
起動→終了で複数回DxLibを読み込まなければいけないとき(あるのか?)に使えそう
int DxLib_GlobalStructInitialize( void ) ;
// ライブラリの内部で使用している構造体をゼロ初期化して、DxLib_Init の前に行った設定を無効化する( DxLib_Init の前でのみ有効 )
int DxLib_IsInit( void ) ;
// ライブラリが初期化されているかどうかを取得する( 戻り値: TRUE=初期化されている FALSE=されていない )
ファイルを検索して取得ウマー
int FileRead_findFirst( const char *FilePath, FILEINFO *Buffer ) ;
// 指定のファイル又はフォルダの情報を取得し、ファイル検索ハンドルも作成する( 戻り値: -1=エラー -1以外=ファイル検索ハンドル )
int FileRead_findNext( int FindHandle, FILEINFO *Buffer ) ;
// 条件の合致する次のファイルの情報を取得する( 戻り値: -1=エラー 0=成功 )
int FileRead_findClose( int FindHandle ) ;
// ファイル検索ハンドルを閉じる( 戻り値: -1=エラー 0=成功 )
ウィンドウから情報を引っ張り出す系の関数
int GetWindowCRect( RECT *RectBuf ) ;
// ウインドウのクライアント領域を取得する→描画領域ね
int GetActiveFlag( void ) ;
// ソフトがアクティブかどうかを取得する→現在アクティブかどうかを調べる。-1が非アクティブ、0がアクティブとかだと思う(未確認)
HWND GetMainWindowHandle( void ) ;
// メインウインドウのハンドルを取得する→分かる人のために
int GetNoActiveState( int ResetFlag = TRUE ) ;
// 非アクティブになり、処理が一時停止していたかどうかを取得する(引数 ResetFlag=TRUE:状態をリセット FALSE:状態をリセットしない 戻り値: 0=一時停止はしていない 1=一時停止していた )
int GetMouseDispFlag( void ) ;
// マウスを表示するかどうかのフラグを取得する
692:名前は開発中のものです。
09/03/01 08:24:40 idjBCaEs
int GetMouseDispFlag( void ) ;
// マウスを表示するかどうかのフラグを取得する
int GetWindowCloseFlag( void ) ;
// ウインドウを閉じようとしているかの情報を得る→本当に終了しますか?とか確認を表示するのに使えそう
int GetWindowUserCloseFlag( int StateResetFlag = FALSE ) ;
//×ボタンが押されたかどうかを調べる
int SetDoubleStartValidFlag( int Flag ) ;
// 2重起動を許すかどうかのフラグをセットする←複数起動させてもいいゲームならここを変更
マルチタスクのゲーム作りたいならここらへんが役に立ちそう
int AddMessageTakeOverWindow( HWND Window ) ;
// メッセージ処理をDXライブラリに肩代わりしてもらうウインドウを追加する
int SubMessageTakeOverWindow( HWND Window ) ;
// メッセージ処理をDXライブラリに肩代わりしてもらうウインドウを減らす
軽くみた感じ使えそうなのはこのあたりかな?
693:名前は開発中のものです。
09/03/01 08:37:37 idjBCaEs
int SetWindowInitPosition( int x , int y ) ;
// ウインドウの初期位置を設定する
int SetNotWinFlag( int Flag ) ;
// DXライブラリのウインドウ関連の機能を使用しないフラグ←これめちゃくちゃ便利でふいた
int SetWindowUserCloseEnableFlag( int Flag ) ;
// メインウインドウの×ボタンを押した時にライブラリが自動的にウインドウを閉じるかどうかのフラグをセットする←上記のGetWindowCloseFlagと組み合わせると幸せ
int SetDXArchiveExtension( const char *Extension = NULL ) ;
// 検索するDXアーカイブファイルの拡張子を変更する
int SetBackgroundColor( int Red, int Green, int Blue ) ;
// メインウインドウのバックグラウンドカラーを設定する←初期背景色は黒(#000000)
int SetDragFileValidFlag( int Flag ) ;
ドラッグ&ドロップかんれん
// ファイルのドラッグ&ドロップ機能を有効にするかどうかのフラグをセットする
int GetDragFilePath( char *FilePathBuffer ) ;
// ドラッグ&ドロップされたファイル名を取得する( -1:取得できなかった 0:取得できた )
int GetDragFileNum( void ) ;
// ドラッグ&ドロップされたファイルの数を取得する
めんどくさいから、存在だけ書くけど
他にも、ツールバーにボタンを追加する関数とか
ショートカットキーを追加する関数とか(←いくらでも代用可能だから使わない方がいいかも)
メニューを作成する関数とか
キー入力中、マウスを点滅させる関数とか
ここらへんは人によってピンポイントに使えそうな関数ばっかだから、あんまりリファレンス化しても需要無い気がする
一応応用テクニックとして、HSPからDXライブラリを呼ぶ方法とかだったら需要ある?
あるなら書こうかな
吉里吉里やNscから呼ぶことも出来そうだけど本体いじらなきゃ駄目っぽくてめんどくさい
694:名前は開発中のものです。
09/03/01 08:44:55 idjBCaEs
たとえば、×ボタンで終了確認を出したいときとかは
~略~
SetWindowUserCloseEnableFlag( FALSE ); //×ボタンで自動終了しない
while(ProcessMessage()==1)//だっけ?
{
ClsScreen();
game();
ScreenFlip();
if(GetWindowUserCloseFlag()==-1)//×ボタンが押されたら
{
if(MessageBox(NULL,"終了しますか?","終了確認",MBYESNO)==IDYES) //YES,NOでYESが押されたら
break;
}
}
~略~
こんな感じにすればできる(と思う)
組み合わせだからなあ……リファレンス作るより小技をいくつか乗せた方が良いのかな?
695:名前は開発中のものです。
09/03/01 08:45:28 idjBCaEs
……朝から何やってんだ俺
悲しくなってきたから寝る
696:名前は開発中のものです。
09/03/01 09:26:49 k4cT38FB
おつかれさまです。ごゆっくりお休みくださいな。
リファレンスも欲しいけど、小技のほうがうれしいかも。
697:名前は開発中のものです。
09/03/01 09:55:31 gjx3PjZU
>>690
最初のファイル読み込みはともかく
ハンドルに分けて使う段になったらどっちも同じじゃね?
×一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は一枚
○一枚の画像を読み込み複数に分けハンドルを取得→PCが操作する画像は複数
>>691乙
698:名前は開発中のものです。
09/03/01 10:04:25 idjBCaEs
ああ、駄目だ
>>694だと×ボタンが押された時点でキューが送られちゃってるからDXライブラリの内部の構造的に終了確認はできない(終了確認が無限に出続ける)
「終了します」って有無を言わさぬ表示なら出来るけどね
中身見てるけど、終了キューを解除する関数は見あたらないし
独自に一度キューを取得して、ProcessMessageに投げる前に解除しちゃえば良いんだろうけど、そんなことすると初心者でも使えるって良点があじゃぱー
>>696
どんな小技が良いかな?
さっきあげた関数は単体で使えると思うし
今ソース見ながら色々いじってたけど
それ以上のことやろうと思うと色々内部的に引っかかることに気付いた
>>697
もう一度よーく読んでほしい
699:名前は開発中のものです。
09/03/01 10:54:11 gjx3PjZU
>>698
ごめん。
よく読んだ上で書いたけどわからない。
理解力なくてすまん。きっと俺が間違っている。
が、これは瑣末な問題なので暇なときにでも考えておくとして…
>>693
>一応応用テクニックとして、HSPからDXライブラリを呼ぶ方法とかだったら需要ある?
これ興味あるかな。
700:名前は開発中のものです。
09/03/01 11:24:01 oPHW1ePY
>>697
ハンドル分けたらだめ
一つのハンドルから転送元の領域を指定して描画するんだよ
同じテクスチャを連続して使うときは切り替えが行われないからその分効率が良くなる
701:名前は開発中のものです。
09/03/01 11:38:25 ey11ozVK
質問掲示板の検索を使おう
>>698
URLリンク(hpcgi2.nifty.com)
>>699
ここのNo.4に書いてある高速描画云々のところ読めば分かる
URLリンク(hpcgi2.nifty.com)
読みこみ速度は同じだけど描画速度は
一枚の画像を読み込み複数に分けハンドルを取得 > 複数の画像を読み込みそれぞれをハンドルを取得
702:名前は開発中のものです。
09/03/01 11:39:47 a7Bg5ATd
HSPなんぞ使うなよ
703:名前は開発中のものです。
09/03/01 11:44:24 oPHW1ePY
なるほどLoadDivGraphでもいいのか
704:名前は開発中のものです。
09/03/01 13:22:39 gjx3PjZU
>>700
なるほど
理解した㌧クス
>>701
読んでみる
>>702
今更HSP使う気はないけどやり方にはちょっと興味が
705:名前は開発中のものです。
09/03/01 13:39:31 9rIzOA3I
>>691-694
乙
前にHSPから使ったりしてたけど、わざわざHSPから呼び出す必要があまり無いような気がしたのでVC導入したな
706:名前は開発中のものです。
09/03/01 14:11:25 idjBCaEs
>>701
なるほど
StateResetFlagは初期値FALSEになってるやつか、完全に見落としてたアリガトウ
>>702
HSP使うメリットってなんだろう、(うろ覚えだけど)3D処理が簡単なDLLかなんかがあったよね?
でも、それ使うなら最初からHSP使えばいいし……
自分から言っといてなんだがメリット見えないやごめんw
DXライブラリの可能性を追求しようと思ってドラッグ&ドロップで画像表示するアプリ作ろうと思ったらこんなに時間かかっちゃったよ
やっぱりアプリ系はおとなしくWINAPI使うに限るorz
URLリンク(www3.uploader.jp)
ふ、と思ったんだけどこのスレ結構知識ある人多いしうpロダでも用意しとけばサンプル集みたいなの作れるしいいんじゃね?
人のソース見れるってのは、(俺含め)初心者にはとてもありがたいんだよね
707:名前は開発中のものです。
09/03/01 14:27:12 ZNmLTGrU
ソースうpは恥ずかしい…
708:名前は開発中のものです。
09/03/01 14:51:26 lYNtcth6
自分の全裸うpするようなもん
709:名前は開発中のものです。
09/03/01 15:45:22 z/eFYQPp
俺のは絶対人に見せられないソースだと自覚している。
一応動いているが、初心者どころの問題じゃない。
710:名前は開発中のものです。
09/03/01 16:15:26 xm1UJhmc
ソースは出来るだけ人に見せたほうがいいよ。
指摘されればどこが良くて悪いのかが分かって次に必ず生かせる。
リアル知人じゃなくて2chで晒すのがいいかはよくわからんが・・・
うpするのとは話がちょっと違うけどここでも読んでみるといい
URLリンク(www.kojima-cci.or.jp)
711:名前は開発中のものです。
09/03/01 16:37:16 g9LGhZvF
専ロダほしいな・・・
712:名前は開発中のものです。
09/03/01 16:45:33 c9LYSV+3
ドット絵でbmpで保存して使うのと
きれいに書いたpngだとぜんぜん解像度違うような気がして変になっちまった。
ドット絵の設定ミス?それともpngにそろえるべきかな。。
713:名前は開発中のものです。
09/03/01 18:31:12 a1nbTQe/
ドット絵だからドットが見えるんじゃないのか??
714:名前は開発中のものです。
09/03/01 23:17:37 2a8K6SCC
爆発のエフェクトなどを作成する際に
グラデーションの画像を極座標変換?して
円形の画像を作成しているのだけれど、
これが何をやっているのかよくわからん。
715:名前は開発中のものです。
09/03/01 23:25:10 oPHW1ePY
つ高校数学の教科書
716:名前は開発中のものです。
09/03/01 23:54:03 A8mpIuw8
数学Cあたりだっけ
717:名前は開発中のものです。
09/03/02 00:15:56 ziDQhibJ
そういえば洞窟物語もDXライブラリ使ってるんだね
718:名前は開発中のものです。
09/03/02 00:35:55 hEBh+N4j
公式掲示板か
多分違うと思うぞ
Pixel氏が以前DirectX2だか3だかを使って作ったって言ってたし
何か勘違いしてああ答えたか、若しくは今作ってるゲームにDXライブラリを使ってるんだろう
719:名前は開発中のものです。
09/03/02 01:43:24 3riYRQc6
ウィンドウサイズのデフォルトは640*480だけど、これの変更はできる?
フルスクリーンにしないといけないから制約はあると思うけど
720:名前は開発中のものです。
09/03/02 01:47:07 7FxY5OR7
Dxライブラリのファイルにデフォルトのサイズがディファインされてたから
あれいじればできるんじゃね?
721:名前は開発中のものです。
09/03/02 01:52:06 x0I/gxMT
>>719
SetGraphMode( 800 , 600 , 32 ); で800*600になる
722:名前は開発中のものです。
09/03/02 02:06:23 3riYRQc6
>>720
ライブラリ書き換えるのはアウトだろ常識的に考えて……
そのせいでいつどこでバグが起こるかわからぬ
>>721
サンクス
画面モードの変更で解像度が変えれるとは、単語検索で見つからないわけだ
723:名前は開発中のものです。
09/03/02 02:13:56 PBT6djln
リファレンス大した量じゃないんだから
一覧を一通り目を通せば済むだろ。
724:名前は開発中のものです。
09/03/02 06:43:49 +ax8ZdoD
おれなんかどんなことができるんだろうと、わくわくしながら
上から下まで読むんだけどなぁ・・・
725:名前は開発中のものです。
09/03/02 08:17:17 vDZSfAmr
>>718
でも文字表示とかDXライブラリっぽいよな
726:名前は開発中のものです。
09/03/02 11:57:41 6eQe3/TV
>別にDXライブラリに限らないけど、DXライブラリを知った時も
リファレンスをさらさらっと流して、「これなら俺にも使えるんじゃないかな?」と思って
使い始めたな。
別に覚えなくても、一度目を通しておけば、
後になって「こういう事がしたいけど、それっぽい命令あったよな……」って
探しやすくなるしな。
727:名前は開発中のものです。
09/03/02 20:14:38 hc/QEiU+
アレだけ分かりやすくて運営管理もアレだけちゃんとしてるなんて今まで見たことないよな。
DirectXでゲームを作るっていうジャンルに関して革命的だし、最早XNAなんかも超えてると言っても過言ではない。
728:名前は開発中のものです。
09/03/02 20:18:02 qXNeI5og
ハンドルが全部intなのだけはどうかと
729:名前は開発中のものです。
09/03/02 21:13:54 Rv93cI1M
ほんとだよな。ちゃんと符号無しにしてくれないと。
730:名前は開発中のものです。
09/03/02 21:38:18 3lZqI4Au
>>729
そこじゃねーだろwww
731:名前は開発中のものです。
09/03/02 21:42:53 3lZqI4Au
typedefしなかったのは多分初心者への配慮だろうね
732:名前は開発中のものです。
09/03/02 22:25:14 ziDQhibJ
画像をプログラムで制御(回転など)して動いてみせるのと
一枚一枚画像を作ってパラパラ漫画みたいにアニメーションさせるのとどっちが負荷低いかな
733:名前は開発中のものです。
09/03/02 22:54:20 qXNeI5og
パラパラ漫画方式の画像が一枚の画像にまとめてあるなら
原理的に変わらないはず
734:名前は開発中のものです。
09/03/02 22:57:12 qXNeI5og
いや画像がまとめてあるかどうかはこの場合関係ないか
まあ変わらん
735:名前は開発中のものです。
09/03/03 01:09:39 vuUaUlBc
その二つは比較すべきものじゃない気もするがw
回転ありの描画命令よりは回転なしの方が負荷は軽いだろうけど、
大した差じゃないみたいだし、好きにしていいんじゃないかな。
736:名前は開発中のものです。
09/03/03 02:53:14 l+63ggMa
画面上の殆どのパーツが回ってるぜ!とか
512x512のパーツが回ってるぜ!とか
回転角度に応じて256パターンの画像を用意しました!
みたいな変なことやってなきゃ大丈夫だろう
737:名前は開発中のものです。
09/03/03 03:53:26 wZU6jxH0
メモリに優しいのがプログラムで制御かな。後者はあまりオススメできない。
パラパラ漫画が全部VRAMに乗るとは限らないし、
1フレーム1枚のように別テクスチャ作るのであればさらに重くなる。
1枚でまとめる場合も、作成できるテクスチャサイズ制限があるハードウェアが過去にあり、
(Voodoo時代ではテクスチャサイズが256*256が最大であった)
そのような場合、DXライブラリではテクスチャ分割が行われるので、
大きなテクスチャを作るとパフォーマンスが犠牲になります。
なので、回転・反転・拡大縮小などといった
Direct3Dによるハードウェア支援で記述できる内容であるのなら、前者の方がパフォーマンスがよくなります。
ちなみに後者で実装するのであれば、テクスチャのサイズは正方形が望ましいですよ。
738:名前は開発中のものです。
09/03/03 04:22:48 l+63ggMa
ただし、斜め向きとかにした場合、
最初から画像を用意しておいた方が綺麗に見えることは多々あるな。
プレイヤーキャラの画像など、
重要そうな部分だけパターンを用意しておくのも悪くない。
739:名前は開発中のものです。
09/03/03 09:38:20 HSt7mZci
>>737
>正方形
一辺の長さが2の倍数の正方形ね
740:名前は開発中のものです。
09/03/03 14:11:43 lmHLCC6G
>>739
> 2の倍数
2の累乗ね
741:名前は開発中のものです。
09/03/04 10:39:32 IqyXTxRb
ん……?
グラフィックハンドルがintって事は、持てるグラフィックハンドルの最大数は約32000って事?
742:名前は開発中のものです。
09/03/04 10:43:25 OmVViNLo
いやintは2*(10^9)くらいまで
その前にメモリがなくなるだろうけど
743:名前は開発中のものです。
09/03/04 16:29:04 aWTUpMQ1
東方の弾幕とかって1つ1つの弾にハンドラ持たせてるの?
744:名前は開発中のものです。
09/03/04 17:38:35 IqyXTxRb
>>742
intってそんなに長かったっけ?
>>743
ちゃんと1つずつID割り振って読み込んでるみたい。
745:名前は開発中のものです。
09/03/04 18:29:44 Q764ubCY
32bit機での
符号無しintは2^32
符号ありintは2^31(符号に1bit使用)
プログラミングしてるなら知ってて当然だろ…
746:名前は開発中のものです。
09/03/04 18:29:46 zCrgAKk6
>>744
おまえさんのいってるのは short int
747:名前は開発中のものです。
09/03/04 19:26:33 IqyXTxRb
なるほど……
なんで勘違いしてたんだろう……
748:名前は開発中のものです。
09/03/05 00:07:34 aVo6G4mJ
>>743
何を言ってるんだ?
東方はDXライブラリ使ってないぞ
749:名前は開発中のものです。
09/03/05 10:15:06 MO3/QFgO
こんにちは^^
透過処理というのをしたんですけど
下記のコードだと正常に透過処理されます。
LoadGraphScreen( 0 , 0 , "back.bmp" , FALSE ) ;
LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;
しかし
LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;
LoadGraphScreen( 0 , 0 , "back.bmp" , FALSE ) ;
とすると透過処理されません
なぜでしょうか?
750:名前は開発中のものです。
09/03/05 10:26:43 ddVb/3t1
>747
旧VBのIntegerが16bitなのと混ざってない?
>745
ハードは関係ない。コンパイラが決定する。
16bitアプリを32bitハードやOSで走らせても
intが勝手に32bitになったりしない。
処理系にあわせて決定するのが自然なだけ。
751:名前は開発中のものです。
09/03/05 11:04:56 B3wyDoGN
>>749
はい? え?
back.bmp を透過処理なしで描いた上に、char.png を透過処理ありで描いたらそりゃちゃんと透過処理されるだろうけど
char.png を透過処理ありで描いた上に、back.bmp を透過処理なしで描いたらそりゃ上書きされるだけだと思うんだが……。
752:名前は開発中のものです。
09/03/05 12:34:23 +9ctDc2h
>>750
あー、昔に見た資料がかなり古いものだったから間違って覚えてたのかも
753:名前は開発中のものです。
09/03/06 21:17:00 pmzRauOh
ある画像だけの透過と、透過の度合いを設定することはできますか?
リファレンス見る限り見当たらないのですが
754:名前は開発中のものです。
09/03/06 21:34:26 +Tdk650S
その画像を描画する前にSetDrawBlendMode
透過の度合いはPal引数
クラス使って透過率とグラフィックハンドルをまとめて管理するようにするといい
755:名前は開発中のものです。
09/03/06 21:46:01 pmzRauOh
>>754
即レスありがとう^^
うまくできました!!
756:名前は開発中のものです。
09/03/06 23:45:45 HF/v1JaI
DXライブラリ3Dの開発引き継いでる奴いないの?
757:名前は開発中のものです。
09/03/07 00:24:08 3MouTLA1
2Dゲームでも背景は3Dにしたい・・・
本家DXライブラリにテクスチャ付モデルとフォグ表示機能だけあれば最高なんだが
758:名前は開発中のものです。
09/03/07 01:56:55 JfYg6t6e
シューティングの背景用にDXライブラリで自前の簡易モデルを描画する仕組みを組んだけど、
意外と簡単に組めたよ。
ポリゴン事に情報を配列に落として、座標を変換してVERTEX配列に入れてから描画。
フォグは出来なかったから単色背景+奥の頂点を透過で誤魔化してる。
759:名前は開発中のものです。
09/03/07 07:03:57 pCqKP5AO
クラスのコンストラクタでLoadGraphするとハンドルが取得できてないみたいだけど
仕様ですか?
他で初期化するから別に問題ないけど。
760:名前は開発中のものです。
09/03/07 08:46:35 9xqjyk6r
そのコンストラクタを呼ぶタイミングがまずいだけだろ
でもLoadGraphみたいな失敗しやすいものをコンストラクタで使うのはあまり好ましくない
761:名前は開発中のものです。
09/03/07 13:25:49 d6ZakwC3
C++のコンストラクタはオブジェクトが出来上がる前の不安定な状態だからメソッド呼んだりはしない方がいいよ。
762:名前は開発中のものです。
09/03/07 20:23:03 83odH6gl
それ俺がよくやった失敗だけどLoadGraphするまえにDxLib_Initやってないんじゃまいか
763:名前は開発中のものです。
09/03/08 01:02:04 sz9LKWkI
>>761
んなこたないw
764:名前は開発中のものです。
09/03/08 01:07:09 PVP1w5NP
>>758
.r==x r==x
/三/.|/三/ |
(三(/(三(/_/
l ̄¨'| ̄ ̄¨|
l;::::::::|:::::::::::::l
l;::::::::|:::::::::::::l
l;::::::::|:::::::::::::l
l;::::::::|:::::::::::::l
l;::::::::|:::::::::::::l
l;{==}!::{==}:::l
r|:::::::::::::::::::::::|
_ノ  ̄`ー--、,;;l~ヽ
,∠==、ヽ `i'ー- . l
/ ヽ| 「`'ー、`ー、 .ノ
l ミ| / `ー、ヽ
/j R|イ ー-ァ、. Y゙
{ [`ュハハハr''~] ̄ ___ノ ソースうpお願いします!!!!!!!!!!
765:名前は開発中のものです。
09/03/08 02:05:16 Os5GQobq
>>764
今PC故障中で携帯から書き込んでるので、一週間後位になるけど……
龍神録プログラミングの館に似たような内容の講座があったので、
それを参考にした方が早いかも?
自分のソースと比べた所、アルゴリズムは大差なかったし
766:名前は開発中のものです。
09/03/08 03:07:46 PA5CtbPk
>>760
>>762
それだわ。
メインループの外だったよ。
767:名前は開発中のものです。
09/03/08 07:29:17 CGpW+st2
>>763
そうなの?
憂鬱本かなにかにコンストラクタで複雑な処理はやめたほうがいいって
書いてあったから信じてたよ。
768:名前は開発中のものです。
09/03/08 11:20:16 lUOcnlf/
使うほうが失敗したときに面倒でしょ、コンストラクタだと
769:名前は開発中のものです。
09/03/08 11:49:19 8uH2yrBU
例外処理を全面的に取り入れてるならコンストラクタで失敗してもおk
失敗したら絶対に例外を投げること
そうでなければダメ
770:名前は開発中のものです。
09/03/08 13:15:29 sz9LKWkI
>>767
言語仕様的にはまったく問題ない
>768が言ってるように、
その本には別の理由でやめたほうがいいって言ってるんだと思うよ
ただし、staticなインスタンスは例外で
この場合、mainが呼ばれる前のスタートアップルーチンで
インスタンスが生成されるのでコンストラクタでは
初期化以外のことをやるとまずい
771:名前は開発中のものです。
09/03/08 15:28:40 Os5GQobq
東方の新作が発表される度に自作のゲームとシステムが被っててヘコむ……
772:名前は開発中のものです。
09/03/08 15:35:38 26PtmX+G
>771
それを気にしてたら、世の中作品なんて生まれない。
大丈夫、何ら問題ない。思う存分やれ。キミは盗作じゃない。
……自分のやりたいことを、他の人が作ったのでそれで満足しちゃったなら知らんw
(こっちもよくある話だけどな!)
773:名前は開発中のものです。
09/03/08 17:25:05 tah76f/h
弾幕シューは東方だけじゃないしね
774:761
09/03/08 18:12:09 pjH2xL1q
>>770
俺も>>767のように憂鬱本で読んで信じてきたんだけど、後学のために教えて欲しい。
まず憂鬱本にはこんな風に書いてある。
・コンストラクタやデストラクタはあまり難しい処理をするのは考え物。
1・返り値を持つことが出来ない。
2・インスタンスが完全な状態ではない。
3・外部変数としてクラスインスタンスがある場合、コンストラクタやデストラクタはmain()の走る前、後になる。
>>770さんが言っているのは3の場合で、この本によると
「ポインタとして宣言しておきmain()が走った後でその中でnewする」
という解決策が書いてある。
で、問題の2にははっきりと
「コンストラクタ、デストラクタが走っているときは、インスタンスは完全な状態ではない」
と書いてあり、
「実は内部的にはそのインスタンスの使用するメモリの取得/解放とそれに伴う複雑な作業も行っている」
「インスタンス自体がまだ生成途中であり、内部的にはまだ不安定な状態」
と書いてあります。
問題点は、
「このような状態で他のクラスのインスタンスのメンバ関数を読んだりすると巡り巡ってまだ生成途中の自分自身のメンバ関数が呼ばれるかもしれないから」
との事です。
C#なんかではコンストラクタでのメソッドの呼び出しなども保障されてますが、C++では言語使用的には保障されていない、と解釈したのですがここらへんどうなんでしょうか?
775:名前は開発中のものです。
09/03/08 19:09:05 CrTNgcou
この際、本家DXライブラリにDXライブラリ3Dを機能統合してしまっても良いんじゃないか?
今どき2Dだけじゃなぁ
776:名前は開発中のものです。
09/03/08 19:25:34 tHlNETTL
>>775
いや、意味が分らん。
碌にDirectXすら使えない人間が3Dに手をだしてどうしたいんだ?
むしろ、本家は本家であの程度でまとまってるからこそ良いライブラリだろ。
もっと色々とやりたかったら海外の3Dライブラリをあさればいい。高機能の多いぞ。
(まぁ、普通に日本語対応がメンドイけど。)
777:名前は開発中のものです。
09/03/08 19:52:53 CrTNgcou
っていうか、DXライブラリ3Dの開発を継続してほしいJEXさん
778:名前は開発中のものです。
09/03/08 23:53:47 Os5GQobq
>>772,773
弾幕毎に名前付けてるから、気を付けないとまんまになっちゃうんだよね
もう開き直っちゃおうかな……
779:名前は開発中のものです。
09/03/09 00:24:37 y+3gsDNg
どうせやるなら「白い弾幕くん」くらい自由度上げてみたらどうだ
780:名前は開発中のものです。
09/03/09 05:38:20 xYWyf4vJ
縦弾幕だったらどうやったって東方っぽいって言われるのがオチだから、
変なこと気にせず好きにやっちゃえYO!
781:名前は開発中のものです。
09/03/09 13:06:42 Ge4atQjd
東方のオマージュである、と明記しちゃえば変な因縁はつけられなくなると思う
782:名前は開発中のものです。
09/03/09 13:28:18 1MIteGpr
自分で考えて実装した者に対して
なんという屈辱を。
783:名前は開発中のものです。
09/03/09 14:58:21 Yq7DJGmB
パクってないんなら堂々としてればいいじゃない
ここで愚痴る前にちゃっちゃと完成させて
もう東方に先を越されないようにすればいいじゃない
784:名前は開発中のものです。
09/03/09 15:06:44 mr6tRDyA
先を越されたから愚痴ってるんだと思うがのw
785:名前は開発中のものです。
09/03/09 15:12:00 anLE8kz6
新しいの出るごとに被るというと
低速移動時に敵を貫通するとかボム使うとパワーが減るとかその辺りか?
786:名前は開発中のものです。
09/03/09 15:54:45 z4EGzSSU
別に愚痴のつもりじゃありませんでした
こうやって悩むのもゲーム制作の楽しさの一つなので……
気分を害されたのならすいません
>>785
点レートアイテムとか、特殊アイテムを取るとボーナス敵が出る点が……
787:名前は開発中のものです。
09/03/09 17:01:47 GzA1DnX1
どんなシューティングでもお前。。。
788:名前は開発中のものです。
09/03/09 18:04:17 dWRPooR0
Q.○○のパクリですか?
A1.はい、参考にしました。
→盗作イクナイ! 俺の好きな○○を汚すな! ○○の公式サイトのBBSに通報(?)書き込み
A2.いいえ、オリジナルです。似ているのは偶然でしょう。
→嘘を言うな、正直に言えよ
A3.いいえ、○○ではなく△△のパクりです。
→そんなん知らねーよ! △△も○○のパクりだな!
実際にあるから困る。
789:名前は開発中のものです。
09/03/09 18:28:11 aHHsyNV0
結論:気にせず作れ
作ることにも価値がある
790:名前は開発中のものです。
09/03/09 18:40:02 6kYj4gTE
>>788 どっちかと言うと、この手の奴で、実際にパックたりしてなかったら、
何も答えないのがベスト。ただただ、事務的返しで流すべし。
あと、>>786みたいのは 東方以前からあるのばっかじゃねぇかよwww
それこそ、ファミコン全盛の時代(のアーケード)から・・・・
「今更それを先を越されたとかwww」
と言われるのが落ちじゃね?
791:名前は開発中のものです。
09/03/09 18:51:35 z4EGzSSU
んー、今更だけど自分で気にしすぎだった気がしてきた
前作が東方をリスペクトしたものだったので、今回も素直に断り書きを入れてみます
792:名前は開発中のものです。
09/03/09 19:02:29 dWRPooR0
パロディにまで昇華させてしまうという手もあるな。
793:名前は開発中のものです。
09/03/09 21:33:00 Zw6a9bk0
URLリンク(siv.creation.googlepages.com)
知ってるとは思うがこれにはずっと期待してる
794:名前は開発中のものです。
09/03/09 22:34:04 GzA1DnX1
押しっぱをできなくするようにしたいけど
char a[256]
GetHitKeyStateAll(char *a)
つかうとうまくできねぇ。。
ポインタをctrcmpやるのはおかしいの?
それとも配列に入ってるのがおかしいの?
俺の頭がおかしいの?
795:名前は開発中のものです。
09/03/09 23:19:34 2qC8QqlY
>>774
遅レスだがコンストラクタについて幾つか書きます。
さすがに長文書いてコメントが無いのは可哀想だったから。
昔の言語仕様ではコンストラクタではインスタンスの生成途中であるから複雑な処理を書かないようにしていた。これは慣習・慣例の部類の話。
コンパイラの亜種が多くて、C++の仕様外の範疇での動作はどのようになっているのか分からない時代だったからという背景もある。
自分はコンストラクタに初期化処理を噛ませる横着な書き方をしていたときに先輩に指摘された事は、1,2,3以外にも、、、
・クラス設計者とクラス利用者は同じでない
⇒利用者がstaticで外部変数なインスタンスを生成するかもしれないから、
mainよりも先に呼ばれる処理に複雑な記述を置くべきでない。
つまり、利用者の立場になって明示的に初期化処理を宣言するべき。(手を抜くな)
・戻り値を持たない件に関して、例外処理を使うのは怠惰な手段である。
⇒try-catchを用いるのは、デバッグの最終手段である。(例外処理はネストできない為)
例外処理は一般的にコンパイラの最適化の阻害となり遅くなる要因となる。(ジャンプテーブルを生成する為)
つまり、保持値チェックにはassert使えというお話。
⇒メモリ確保に失敗する危険性をもっと認識するべき
特定のハードウェアを対象にする場合、大概は独自のメモリアロケーター(dlmalloc等)を実装していることが多く、
new失敗の可能性(インスタンス生成失敗)は大いにある。
とのことでした。
>問題点は、
>「このような状態で他のクラスのインスタンスのメンバ関数を読んだりすると巡り巡ってまだ生成途中の自分自身のメンバ関数が呼ばれるかもしれないから」
>との事です。
これには同意です。
だから「コンストラクタに記述するのはせいぜいメンバ変数に対して初期値の代入ぐらい」に留めている人が大半で自分もそうしています。
いや~、バグの無いプログラムって難しいですね。
796:名前は開発中のものです。
09/03/09 23:31:07 2qC8QqlY
>>794
上手くできないってどういう意味?
char m_cKey[2][256]; //キーバッファ
とでもして
毎フレーム
void GetAllState(){
memcpy(m_cKey[1],m_cKey[0],256);
::GetHitKeyStateAll(m_cKey[0]);
}
を呼んで、
int GetKeyPress(int KeyCode){return m_cKey[0][KeyCode];}//キーが押されているかどうか
int GetKeyDown(int KeyCode){return (m_cKey[0][KeyCode] && !m_cKey[1][KeyCode]);}//キーが押された瞬間
int GetKeyUp(int KeyCode){return (!m_cKey[0][KeyCode] && m_cKey[1][KeyCode]);}//キーが離された瞬間
とでもすればおk
前フレームとの差分で押された瞬間と話された瞬間を検出するべさ
797:名前は開発中のものです。
09/03/09 23:31:59 6kYj4gTE
>>794 エスパーじゃないんで、
何をやって何ができないのかすら分らん。
とりあえず、×ctrcmp =>○strcmpだと過程しても検討範囲外。
ポインタの使い方とか、関数の使い方は大丈夫だと仮定してもだ・・・・。
そもそも、そのchar a[]が何を入れるか理解してるかい?
そいつらに入るのは、あるキーが押されてるかどうかのon offフラグであって、
押されてるキーがchar型として'o'みたいに入るわけじゃないぞ。
押しっぱなしは、基本的には、
char NowKey[256];
char OldKey[256];
// ....somewhere to initilaize Nowkey[] and OldKey[], to 0.
GetHitKeyStateAll( NowKey );//Now get putting on key
if( NowKey[ KEY_INPUT_Z ] == 1 )
{ if( OldKey[KEY_INPUT_Z] != 1 )
{ PutOnFUNCTION(); // only not on putting Z_KEY.
OldKey[KEY_INPUT_Z]=1;
}
//There is No doing on putting Z_KEY.
}
else
{
OldKey[KEY_INPUT_Z]= 0 ; //No to put Z_KEY, initialize OldKey[] to 0.
}
な感じに書く。
798:名前は開発中のものです。
09/03/09 23:42:23 YtHLVg0L
推しっぱをできないようにするなんて
int pushOK = 0;
とか用意しといて
if (a[チェックしたいキー] && pushOK) {押したときの処理}
if (!a[チェックしたいキー]) pushOK = 1;
とかやればいいじゃない
(※厳密な文法に突っ込むのなしね、あと変数名が良くないことにもね)
799:名前は開発中のものです。
09/03/09 23:49:28 GzA1DnX1
あぁ。詳しくなくてすまん。ありがとう。
でも、なんとか、動作はしたぜ。
800:名前は開発中のものです。
09/03/10 00:11:41 Y5ijcxK4
LoadSoftImage()でPNG-8のパレットが取得も設定もできん…。
パレットはBMPしか有効じゃないんか。
透過色設定とパレット変更を同時にしようと思うと、PNG-8がベストな選択だったんだけど、
さてどうするべか……。
801:名前は開発中のものです。
09/03/10 00:43:20 liOB0hIm
どっかの時点でBMPに変換されるんだろうけど
その時点じゃまだなんだろうかね。
てかそんな命令あったのか……。
802:名前は開発中のものです。
09/03/10 01:39:41 Y5ijcxK4
PNGについてはlibpng使ってるっぽいからなぁ。
パレット変えられないのは困ったぜ。
803:名前は開発中のものです。
09/03/10 02:42:45 f5O5uX62
libpngって最近脆弱性が発見されたよね
804:名前は開発中のものです。
09/03/10 05:14:32 Y5ijcxK4
パレットアニメーション諦めて、アルファブレンディングで代用できるんかな……。
例えば、パレットアニメーションで
void PatteGradation(int red,int green,int blue,float ratio)
{
int new_red,new_green,new_blue;
int* p = m_pPalette; //元のパレット配列[3*256]
for (int i=0;i<256;++i)
{
new_red = *p + (int)((red - *p)*ratio);
p++;
new_green = *p + (int)((green - *p)*ratio);
p++;
new_blue = *p + (int)((blue - *p)*ratio);
SetPaletteSoftImage(m_nSoftHandle,i,new_red,new_green,new_blue,0);
}
}
という感じで指定の色(red,green,blue)にratioの比(0~1.0)で近づくエフェクトを考えているんですが、
これと同じ機能をブレンドモードを変更することで代用可です?
上手い演算具合が見つからない。
805:名前は開発中のものです。
09/03/10 05:17:44 Y5ijcxK4
あ、一個p++抜けてた。
でも、伝えたいことは伝わったはず。
806:名前は開発中のものです。
09/03/10 05:52:02 6T+yw6I/
フェードイン?
807:名前は開発中のものです。
09/03/10 06:29:38 Y5ijcxK4
そうですね、指定色へのフェードイン・フェードアウトという感じです。
SetDrawBright()では黒フェードが出来ますが、それの多色化&抜き色対応版です。
808:名前は開発中のものです。
09/03/10 09:58:02 1/mzBUbU
2パターンだけ作って重ねてアルファを変えていくのが効率いいんじゃないかな
809:名前は開発中のものです。
09/03/10 11:39:59 xhsEfov4
>>793
ゲームパッドがX-BOX専用コントローラーしか使えないとか論外すぎる。
810:名前は開発中のものです。
09/03/10 15:29:37 AMym+srg
>>809
つ URLリンク(www.4gamer.net)
811:名前は開発中のものです。
09/03/10 16:10:09 qoncgAvF
使う側ならともかく、作って配布する側ならそれは解決にならんでしょ。
まあ自分で対応のパッド追加できると思うけどな。
812:名前は開発中のものです。
09/03/10 16:12:21 xhsEfov4
>>810
いや、そういう問題では・・