08/07/26 16:13:53 RMhYO7Z4
>>524
調べる事も勉強になるから、それぐらいは自分一人の力で解決しないと先に進めないよ
DLと使用環境を整えるぐらいは一人でもいけるはず。
出来ないのならプログラムよりも先にパソコンの使い方とかを勉強したほうがいいかもしれない。
527:名前は開発中のものです。
08/07/26 16:49:04 T15EAVrC
「CDでダウンロードできる」と言ってるあたり、まだ何も解ってないみたいだね。
2chくるより先に公式サイト見に行くべきだ。
528:名前は開発中のものです。
08/07/26 18:16:55 gmVyP22M
わかりました、公式サイトに行ってみます
529:名前は開発中のものです。
08/07/26 19:19:12 MaSVBvZq
>>518
悪いけど、まともな企業になってきてる大手は原則大卒しか新卒ではとらないよ。
実績とかなにか、自分の力を証明できるようなもんがあれば別だけど・・・・・
まぁ、どうでもいいか。
530:名前は開発中のものです。
08/07/26 19:28:02 T15EAVrC
それに、仮に大卒以外として採用されたとしても、待遇は天地の差がある。
給料はもちろん、回される仕事も大きく違う。
せっかく大学受かったなら、辞めないほうがいい。
531:名前は開発中のものです。
08/07/26 19:30:34 IJz7tQo6
これが学歴厨か・・・
こっちで色々語られてるぞ
ゲームクリエイターになってみない?
スレリンク(gamedev板)
532:名前は開発中のものです。
08/07/26 19:33:01 YzymVi7X
任天堂受けたけど、90人の枠に何万人もエントリーするあの倍率じゃ
大卒ウンヌンとかって話じゃないよw
とりあえず勉強してない奴は筆記試験からして最初っからすぐ落ちる。
533:名前は開発中のものです。
08/07/26 20:35:44 dHaaAq9w
任天堂の技術系は東大か京大か東工大じゃないと話にもならんよ
534:名前は開発中のものです。
08/07/26 20:38:55 0BMzZt8C
高専は?
535:名前は開発中のものです。
08/07/26 20:42:20 nbFOjXde
>>534
無理ぽ
つか大手だーじゃなくて、好きなもの作ってる所受けてみりゃいいと思う
特にマの人。
536:名前は開発中のものです。
08/07/26 22:08:20 czyUlfmN
任天堂は、面白くないゲームでも面白そうに思わせる宣伝力とか。
企画を工夫して売るとか、
海外相手に日本じゃありえないような言いがかりのような法的トラブルを防ぐ能力とか
凄腕プログラマを育てるのではなく外からスカウトしてきて上手く使いこなす能力とか・・・
そういう感じの人たちが終結してるんじゃないかと想像。
537:名前は開発中のものです。
08/07/26 22:23:47 yPJXRj/4
学歴厨っていうか入り口での足きりをするときに
似たようなレベルの作品&印象だったら学歴高い方を選ぶだろJKってだけの話だよ。
高卒でも大卒のやつらを上回る技術を示せる作品を作って、
剛体力学、流体力学、行列・ベクトル演算、幾何代数を独学でマスターすれば全く問題無い。
538:名前は開発中のものです。
08/07/26 22:53:29 iaDbs620
流れを変える意味でも、ちょっと初歩的な質問をさせてくれ
DrawFormatStringなんだけど、これって実際には
バックにグラフィックの枠のようなものを表示させて、座標はある程度めぼしをつけて、
================== <-グラフィック
ここに点数とか <-DrawFormatStringで書く
ここに名前とか
================== <-グラフィック
みたいにして使うものってことでおk?
ゲームのステータス表示とかで使いたいと思ってるんだが・・・
539:名前は開発中のものです。
08/07/26 23:24:49 tnwbSQld
まぁ、それで出来ないことはないだろうが。
DxLib.h見てないからなんともいえないが、もしかしたら描画した文字列の高さを返す関数があるかもしれんが。
不安だったら、文字を画像にしちゃうとか。
540:名前は開発中のものです。
08/07/26 23:29:39 iaDbs620
文字の中でも固定的なもの(ポイントとかHPとか言う呼称)までは画像にしようかと、、、
以前、画像の読み込みで練習用?の呼び出しがあるとか無いとかって話しになってたので、
もしかしたら見落としてる命令があるかと思って聞いた次第です
541:名前は開発中のものです。
08/07/27 00:03:36 ofRKBqbI
すまないが、何を疑問に思ってるのか解らない。
俺はゲーム中のメッセージ表示や、あるいはデバッグ用の変数値表示に使うくらいだな。
点数とかは、自分で文字画像作ってそれを表示させてる。
フォントのサイズは自分で設定できるんだからそれに準ずればいい。
ただフォントいじる命令、やたら遅いので頻繁に変えるようだったら
最初から複数のフォントを用意しないといけないんだったかな。
文字を画像にしたらフォントのライセンスとかでまずい事になるんじゃないかな。
542:名前は開発中のものです。
08/07/27 00:10:58 6pVtHho2
そうとは言い切れないけど、大抵指定したフォントサイズが
文字のドット幅になるよ。
543:名前は開発中のものです。
08/07/27 10:54:20 tU8sxjgU
幅はDxLib.hのGetDrawStringWidth系関数が使えそうですが、
高さの取得用関数は用意されてないみたいですね。
フォント用の内部構造体FONTMANAGEには高さが含まれているので、
DxLib.hでコメントアウトされているGetFontManageDataToHandle( int FontHandle ) あたりを使えば
文字の高さを取得できそうです。
あるいは文字高さ取得用関数をライブラリに追加するか。
いずれにせよ、要改造になってしまいますが。
544:名前は開発中のものです。
08/07/28 00:27:53 6zw2nRJ7
テキスト表示の件、ありがとうございました、、、何故疑問に?と思う人もいたみたいだけど、
プログラミング始めたばかりなので、「自分がいいと思ってやってることが正解なのかわからん」状態なので
思わず利いてしまいました
で、次のは微妙にスレ違いっぽい質問なのだけど、LaadDivGraphで読み込んだ複数のキャラ画像を
メインキャラの動きに合わせて追従させるにはどうしたらいいと思いますか?
動きとしてはグラディウスのオプションとか、ソーサリアンのパーティキャラみたいな感じのものです
自分が組んだロジックは、
・メインキャラの移動状態を保存用配列に古い記録を破棄しながら随時記録
・配列の情報に基づいてサブキャラの座標を決定して表示
としてるのですが、サブキャラを増やすと記録すべき配列要素の数も増えて
どうも動作が緩慢になってる感じがします・・・自分のマシンではそれほどストレスがないですが、
スペックの落ちるマシンだとストレス溜まりそう・・・なのですが、妙手が思いつきません
545:名前は開発中のものです。
08/07/28 00:35:13 3fAUJGid
横スクロールアクションのサンプルは、結構少ないのな
作ってたら、ごちゃごちゃと長くなったから、先人のを参考にしたかったのに
546:545
08/07/28 00:58:54 3fAUJGid
すまんかった
ただ、俺の検索能力が低かっただけみたい
547:名前は開発中のものです。
08/07/28 01:05:00 ESVO02ow
>>544
俺もそれ、考えた事はあるけどやった事ないから正解はわからんが、
俺なら同じように配列に「座標」を記録していくかなぁ。
にしても100や200追従させたところで
そうそう動作が重くなるとは思えないんだけど
どれくらいの数動かす事が前提なのかな?
548:名前は開発中のものです。
08/07/28 01:52:02 dT1uTere
オプションの最大個数*n(オプションの間隔)
のサイズのリングバッファを作り
自機の座標を記録していくんだ。
で、現在のポインタから、n個ずつ古い座標を取り出してオプションの座標にしる
549:名前は開発中のものです。
08/07/30 12:30:53 I1TOnfGu
typedef struct{
int enx; //敵 x座標
int eny; //敵 y座標
int flag; //フラグ
} ENEMY;
ENEMY move01 = {100,1,0};
ENEMY move02 = {300,1,0};
void enemy_move_02(){
double test = atan2(move02.eny . move02.enx)→ここでエラー。
もしかして構造体とatan2関数って一緒に使えない?
move02.eny . move02.enxを「move02」 「eny」 「move02」 「enx」
って認識してるっぽいんだけど
550:名前は開発中のものです。
08/07/30 12:34:52 jxOLhJk/
","じゃなくて"."になってるのと";"忘れ
551:名前は開発中のものです。
08/07/30 12:38:49 I1TOnfGu
しまったw
こんな単純なミスをずっと気がつかなかったのか。
>>550
下らん質問に答えてくれてありがとう。
552:名前は開発中のものです。
08/07/30 13:27:32 I1TOnfGu
>>550
のミスを修正していざデバッグしたら
'atan2' : オーバーロード関数の呼び出しを解決することができません。
ってエラー出るんだけど、何が悪いの?ENEMY move02 = {300,1,0};で整数がatan2のy.xに代入されてるから?
553:名前は開発中のものです。
08/07/30 13:50:42 BwimhXf8
math.hはincludeしてる?
554:名前は開発中のものです。
08/07/30 13:58:39 I1TOnfGu
>>553
ちゃんとしているよ。
555:名前は開発中のものです。
08/07/30 13:59:38 BwimhXf8
float と double で、、てのもC#ならともかくC++じゃなあ。
とりあえずキャストしてみては?
556:名前は開発中のものです。
08/07/30 14:19:59 I1TOnfGu
static_cast(double)でやってみても普通のキャストでもダメだw
atan2関数って結構クセもんだな
557:名前は開発中のものです。
08/07/30 14:21:08 Lgzy7JPK
まだどこか、カンマとピリオドをうち間違えてるのかも。
フォントが小さいと分かりにくいから要注意。
558:名前は開発中のものです。
08/07/30 14:31:10 5y8IMZn/
atan2といえば、ゲーム実行中にドメインエラーがよく出たなー。
559:名前は開発中のものです。
08/07/30 14:31:57 4++6mc8t
atan2( (double)move02.eny , (double)move02.enx);
でどうですか?
560:名前は開発中のものです。
08/07/30 14:35:07 I1TOnfGu
>>>557
エラーがこれだけだから、多分何かが違うんだと思う
enemy_move.cpp(63) : error C2668: 'atan2' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照)
1> d:\c++\vc\include\math.h(547): 'long double atan2(long double,long double)' の可能性があります。
1> d:\c++\vc\include\math.h(499): または 'float atan2(float,float)'
1> d:\c++\vc\include\math.h(110): または 'double atan2(double,double)'
1> 引数リスト '(int, int)' を一致させようとしているとき
多重定義もクソも一回しか使ってないんだけどw
561:名前は開発中のものです。
08/07/30 14:37:25 I1TOnfGu
>>559
あ、今度はうまくいった。
一つ一つにキャストしないといけないのかー。
不便だな結構。
562:名前は開発中のものです。
08/07/30 14:39:13 bDlTbbmG
ちょ、、、どうやろうとしてたんだ?w
563:名前は開発中のものです。
08/07/30 14:42:13 I1TOnfGu
double test = (double)atan2(move02.eny , move02.enx);
これで一気に出来ると信じてた
564:名前は開発中のものです。
08/07/30 14:43:55 Fn2JO3tM
敵の座標や速度は小数にして必要なときに整数にキャストするのがよくね
位置が整数だと2フレームで1px動かすときとか苦労する
>>563
関数のオーバーロードは引数で区別される
565:名前は開発中のものです。
08/07/30 14:45:42 Fn2JO3tM
ちなみにそれだと関数が返した値をdouble型にキャスト変換するだけで関数の評価には関係ない
566:名前は開発中のものです。
08/07/30 16:21:00 I1TOnfGu
atan2を使ってて思ったんだけど。
敵にsin波の動きをさせるだけだったらatan2使わないでsin使ったほうが楽だよね?
567:名前は開発中のものです。
08/07/31 05:31:29 OJUOAbtf
>>556
え!?
static_castとか知ってて普通のキャストの基礎知らなかったりするのはかなり意外なんだけど
>>566
そもそもどうしてatan2を使おうと思ったんだい?
568:名前は開発中のものです。
08/07/31 11:25:29 6cZaCcAX
static_cast(double)じゃなくてstatic_cast<double>だけどな
569:名前は開発中のものです。
08/07/31 18:11:14 r/NTYYBz
返り値をキャストしてもショウガナイですね・・。
math.hの関数はよくint型引数にしようとして失敗したことが昔ありましたねぇ
で、atan2は敵と自機の角度求めたりするのによく使いますけど、
波の表現には使いませんねぇ
math.hの関数はどれも遅いので、なるべく使わないようにしてはどうでしょう
570:名前は開発中のものです。
08/07/31 21:35:59 7gZA2bfW
>>569
math.hの関数を使わないでのsin波の場合だとどうなるんだろう・・・。
sinもmathだと思うし、何を使うべきなんですかね
571:名前は開発中のものです。
08/07/31 21:38:43 DHgf9I5V
fastmath.h
572:名前は開発中のものです。
08/07/31 23:26:36 iw2uu9Rv
neetmath.h
573:名前は開発中のものです。
08/07/31 23:38:05 TL4sUMQR
>>570
まずはmath.hの三角関数を使うべきだと思う。
今どきのPCで三角関数のコストが無視できない状況なんてあまり無い。
もしVCを使っているなら、
#pragma intrinsic
の使用を検討してみるといいよ。
コンパイラのビルトイン関数を使うことで速度向上が期待できる。
gccならデフォルトでビルトイン関数が適用されてる。
574:名前は開発中のものです。
08/08/01 11:40:12 nuMWOD8l
環境はc++とDXライブラリ
#pragma intrinsicってprintfとかのだよね?
c++だとあんまり使ってないや
575:名前は開発中のものです。
08/08/01 16:30:58 GtdXG6pu
画像の拡大縮小、反転などを併用したい場合は、素材側で対応するのが無難でしょうか?
一度描画したものをGetDrawScreenGraph()で取り込んで、別の方法で描画…というのはできましたが、
良い方法とは思えません。
576:名前は開発中のものです。
08/08/01 21:20:18 qPjnEgAD
背景含めて全部まとめて動かすってこと?
577:名前は開発中のものです。
08/08/01 23:31:27 GtdXG6pu
>576
int gHnd=LoadGraph("0002.jpeg"); //0002.jpegは50*50pixelの画像ファイル
int gHnd2 = MakeGraph(100,100);
DrawGraph(300,300,gHnd,true);
DrawExtendGraph(0,0,100,100,gHnd,true);//縦横2倍に拡大して描画
GetDrawScreenGraph(0,0,100,100,gHnd2);//描画されたgHndを読み取る
DrawTurnGraph(100,0,gHnd2,true);//左右反転して表示
めちゃくちゃなことをしているのは分かっています…
578:名前は開発中のものです。
08/08/02 00:38:21 AuP8vB/z
int gHnd = LoadGraph("0002.jpeg");
DrawRotaGraph(50, 50, 2, 0, gHnd, true, true); // 2倍拡大+透過+反転
こういうことかな
579:名前は開発中のものです。
08/08/02 00:52:28 LP1XDt9q
>578
ありがとうございます!
リファレンスの読み込み不足だったようですね…お恥ずかしい限りです。
580:名前は開発中のものです。
08/08/02 02:49:35 yuB/nvf2
自分も>>575の方と似たような事で詰まってるのでお力添えを…。
URLリンク(www1.axfc.net)
と、縦横別倍率で拡大、と、画像の回転を両立させたいんです。
これが背景でしたら>>577と同様の方法で、
DrawExtendGraph→GetDrawScreenGraph→DrawRotaGraphといけそうですが、
エフェクトで使いたい処理なので、既に背景などが描画されているメイン画面は使えないという状況です。
こういった場合は何か作業領域などを作るしか方法は無いのでしょうか…?
581:名前は開発中のものです。
08/08/02 09:44:54 2jU8Dntq
DrawModiGraph
582:名前は開発中のものです。
08/08/02 09:52:10 ejRXzIue
最悪DrawPolygon3Dでどうとでもできるわな
583:名前は開発中のものです。
08/08/03 02:27:17 iWpnfRGq
>>581
あぁ、こんな使い方も出来たんですね…。知識不足ですみません。
これで何とか考えた通りに出来ました。本当にありがとうございます。
584:名前は開発中のものです。
08/08/03 11:03:48 KmvncGNt
DXライブラリ、サンプルプログラムのスクロール基本なんですが
URLリンク(homepage2.nifty.com)
手計算だとどうしても描画用マップチップの配列(座標)が0,0からスタートしてくれません
プログラムは当然ちゃんと想定どおり動いてるのですが、
プレイヤーの初期位置Xが2、Yが2状態で計算すると
DrawMapChipNumX は 11
DrawMapChipNumY は 8
MapDrawPointX は -3
MapDrawPointY は -2
となり、マップの描画を決めるループを手繰っていくと、i が3以上、j が4以上にならないと条件を満たさず、
その条件で計算すると、MapData[ i + MapDrawPointY ][ j + MapDrawPointX ] は[1][1]が代入されると思うのですが・・・
こちらの計算違いではあるのですが、どこがおかしいのか分からないので間違ってるところを教えてください
585:名前は開発中のものです。
08/08/03 12:08:48 S+BsW+Rs
if( j + MapDrawPointX < 0 || i + MapDrawPointY < 0 ) continue; // 描画しない
if( MapData[ i + MapDrawPointY ][ j + MapDrawPointX ] == 0 ) DrawBox();
↓
if( a < 0 || b < 0 ) continue; // 描画しない
if( MapData[ b ][ a ] == 0 ) DrawBox();
どうみても最初の描画は MapData[ 0 ][ 0 ] ですね
586:名前は開発中のものです。
08/08/03 13:09:28 KmvncGNt
回答ありがとうございます、しかし、頭がこんがらがってきました
if( a < 0 || b < 0 ) continue; // 描画しない
これって人間の言葉にすると「aがゼロより小さい、または、bがゼロより小さいときは描画しない」ですよね?
ということは、ループの中で a=0 b=0 が与えられたとする条件を満たしてないと思うのですが・・・
自分が間違ってそうな箇所はわかりました、、どうやら論理演算子と関係演算子をもう一度勉強しないとだめみたいですね
587:名前は開発中のものです。
08/08/03 13:22:36 s3YJPvG5
>ループの中で a=0 b=0 が与えられたとする条件
意味が良くわからないんだが、
どこで与えられた
何のための条件?
588:名前は開発中のものです。
08/08/03 13:46:05 rlVyTzUB
>>213
ありがとうございます
大体解りました
589:名前は開発中のものです。
08/08/03 13:48:13 KmvncGNt
>>587
× (a=0 b=0)が与えられたとする条件
○ (a=0 b=0)が与えられたとしても、条件(を満たしていない)
ですね、編集してるうちに変な文章になってしまってました、すみません
どこで与えられた、というのは多重ループの中で
i + MapDrawPointY //*1
j + MapDrawPointX //*2
を計算した結果だと思っていただければ・・・最終的に欲しい答えが
MapData[ 0 ][ 0 ]
ですから、一行前のエリア外を描画しないための制御文、
if( j + MapDrawPointX < 0 || i + MapDrawPointY < 0 ) continue; // 描画しない
のところで、*1も*2もいずれも0の状態で条件分岐を通過してくれないといけないわけですが、
そこのところが自分の理解では「通過しないはず」なので困っていました
590:名前は開発中のものです。
08/08/03 14:32:28 S+BsW+Rs
if (a < 0 || b < 0) continue;
↓
if (0 < 0 || 0 < 0) continue;
↓
if (false || false) continue;
↓
if (false) continue; // continueは実行されますか?されませんか?
591:名前は開発中のものです。
08/08/03 14:41:23 KmvncGNt
>>590
解りやすい解説ありがとうございます、
自分の誤解が招いた疑問が氷解しました・・・
592:名前は開発中のものです。
08/08/03 15:10:05 Q1RwoYf2
敵を少しでも多く表示しようとするとカクカクになるw
593:名前は開発中のものです。
08/08/03 15:24:02 0ZCECk8O
>>592
解像度(スクリーンの大きさ)を1/4(縦、横ともに半分)にするのです。
それだけで、貴方のアプリケーションの速度は劇的に改善するでしょう。
と言ってみるテスト。
毎回ファイル読み込みとかしてないか注意。
594:名前は開発中のものです。
08/08/03 15:33:45 s3YJPvG5
>>592
このスレの>>478あたりから読み直してみるといい。
595:名前は開発中のものです。
08/08/03 22:37:42 Q1RwoYf2
>>594
悪い、同人物だ。
今度こそはメモリから読み込んでいるのにカクカクだぜ
596:名前は開発中のものです。
08/08/03 22:45:50 +Yq3eKTl
メモリから読み込む、ってのがループ内だと意味ないんだぜ?
つーかソースどころか状況もわからんのに答えられるわけなかろう。
あてずっぽうのアドバイスが欲しいのか?
あてずっぽう考えるのだって大変なんだぜ?
597:名前は開発中のものです。
08/08/03 22:47:35 xylQeBNi
処理ごとの速度を計測すれば、どこに時間食ってるかわかるし、
解決策も自ずと見えてくる
598:名前は開発中のものです。
08/08/04 00:33:29 0yRulxuI
>>596
あーもしかしたらそうなってるかも。
大まかなソース↓
(enemy_move)
typedef struct{
int enx; //敵 x座標
int eny; //敵 y座標
int flag; //フラグ
int counter; //カウンター
} ENEMY;
ENEMY move01 = {100,1,0};
(略)
void enemy_move_02(){ //x100から左寄りのsin波移動
move02.enx+=sin(PI*move02.eny/80)*5;
move02.eny+=1.5f;
enemy_img = LoadGraph("date/img/enemy.bmp");
DrawGraph( move02.enx , move02.eny , enemy_img , TRUE ) ;
DeleteGraph( enemy_img ) ;
}
↑こんな感じのコードをexternでmain.cppの方で動かしてる、main.cppではwhileでこれらをループしてて、エスケープを押すとブレイクするようになってる。
竜神録のサイトを参考にして丸写しじゃツマランから自分で考えて作ってるんだけど、難しいな。
599:名前は開発中のものです。
08/08/04 00:38:34 7CBzeKTD
それだと動かすたびに読み込んで削除してを一々やってる
ゲームループの前に1回だけ読み込んで不要になったら削除
600:名前は開発中のものです。
08/08/04 00:49:06 0yRulxuI
>>599
となると、while文が入る前にexternなりなんなりで読み込みだけを済ませるほうが良いって事?
というか全部の使う素材は全部ゲームループする前にメモリに読み込ませた方が良いって事だよね?
それだと俺大幅な修正が必要になりそうw
601:名前は開発中のものです。
08/08/04 01:02:17 SorplbiK
>>600
やりたくないんならやらなければ良いよ。学校の授業じゃないんだから。
多分分かってるんだろうけど>>599の言ってる事(内容)は適宜だよ。
修正が必要なら修正するだけだろ
戦わなきゃ現実と
602:名前は開発中のものです。
08/08/04 01:10:24 Vp8LYTR0
>>600
外部ファイルの関数を使うときは、普通はexternを使わないで、プロトタイプ宣言を使うらしいよ。
あと、enemy_imgをNULLで初期化されてるなら、
if ( enemy_img == NULL ) { enemy_img = LoadGraph("date/img/enemy.bmp"; }
という怪しげな応急処置で済ますことも可能。
603:名前は開発中のものです。
08/08/04 03:17:57 2eoeRGcN
>>598
龍神録プログラミングの館見て解らない事あるんなら、
そこの掲示板で聞けば
URLリンク(l.huu.cc)
館の質問に限らず何にでも答えてくれるし
604:名前は開発中のものです。
08/08/05 16:26:30 oHDI2BWt
320x240ドットのゲームの画面出力を640x480のサイズのウィンドウに表示したいのですが、
それをDXライブラリでやる一般的な方法ってありますか?
って質問を書いてたらちょうどマニュアルで
int SetWindowSizeExtendRate( double ExRate ) ;
を見つけられました。
本当にありがとうございました。
605:名前は開発中のものです。
08/08/05 19:38:02 EpXD5UKo
縦横比をどうにかできる方法があれば凄いんだけどね・・・。
4:3モニタの時代は終わったのかな。
最近ワイドモニタ多すぎ。特にノート。
テストしてもらった知り合いのPCが殆どワイドだったのに驚愕した。
606:名前は開発中のものです。
08/08/05 20:28:53 CKp+IHYO
歩留まりがいいらしいからね
607:名前は開発中のものです。
08/08/05 20:57:36 31D+/5a6
横シューを作れという事じゃなかったのか。
608:名前は開発中のものです。
08/08/05 21:12:24 YYddeISL
>>604の方法で拡大すると320*240非対応のディスプレイでフルスクリーン化出来ないし
うちの環境だとアンチエイリアスがかかって見難くなるんで
①320*240のサイズで描画
②空のグラフィックハンドルに①を取得
③640*480に拡大して貼り付け
ってやってるんだがCPU使用率が跳ね上がる
おとなしくSetWindowSizeExtendRateで拡大したほうが良いんだろうか
609:名前は開発中のものです。
08/08/05 22:32:25 vtCV6T3y
横シューよりドラゴンバスターみたいなアクションがやりたい
610:名前は開発中のものです。
08/08/06 00:20:08 +mP1DFYH
>>608
URLリンク(hpcgi2.nifty.com)
611:名前は開発中のものです。
08/08/06 20:46:19 e8apu092
>>610
かなり改善されたわ
㌧クス
612:名前は開発中のものです。
08/08/07 21:27:43 BMBqvRRu
マップチップ画像を分割で読み込んだ後、それを複数枚横に並べた画像を“描画せず”に1枚の画像としてメモリに格納するにはどうすればいいのでしょうか?
具体的には、たとえばこんな5×3のマップがあるとします(0=山、1=川とする)
0,1,1,1,0
1,1,1,1,1
0,0,0,0,0
この1列目の0,1,1,1,0を描画した結果の絵、つまり「山川川川山」という画像をGHandle[1]に格納(描画せずに)させたいんです。
もしマップチップ1枚の画像サイズが縦横32*32だとすれば、160*32の画像を1枚作ることになります。
613:名前は開発中のものです。
08/08/07 21:49:24 qrl05lIa
>>612
MakeGraph使うんじゃないの?
614:名前は開発中のものです。
08/08/07 21:51:26 IbgkXEDA
裏画面に描画して、ってやり方じゃダメかな。
何の意味があるのか知らないけど。
615:名前は開発中のものです。
08/08/07 21:52:01 O800tzRD
普通にLoadGraphでいいじゃん
616:名前は開発中のものです。
08/08/07 22:09:30 BMBqvRRu
やりたいことは・・・ロードランナーでいうと、完全なサイドビューではなく、レンガの上面(キャラクターが乗って触れてる面)も見えるようなビューにして奥行きを出したいんです。
上面を描くのに、まず完全サイドビュー視点のマップ画像を一列分つくって、それを台形のように変形させて(高さも潰して)対応させようかと思いました。
617:名前は開発中のものです。
08/08/07 22:16:01 BMBqvRRu
普通はレンガの上面はみえないけど・・・
URLリンク(www7.ocn.ne.jp)
レンガの上面も見えるようなビューにして奥行きを出したい
URLリンク(www7.ocn.ne.jp)
斜め画像を用意しておくのも手ですが、それをせずに済ませたいんです。
618:名前は開発中のものです。
08/08/07 22:16:51 sPTbyZsz
3D
619:名前は開発中のものです。
08/08/07 22:24:23 BMBqvRRu
あ、上面だけでなくサイドの面も描く必要があるか。
自分の方法だと面倒だな・・・
>>618
たしかに3Dのほうが楽かもしれないですね。
こっちにしようかな
無駄な質問をしてしまったようでみなさん申し訳ないです。
620:名前は開発中のものです。
08/08/07 22:47:55 qrl05lIa
>>612
MakeGraphで作ったグラフィックをSetDrawScreenで指定して書き込めば良いのではないかと思ったけれど、
「3D機能をOFFにしなければいけない」とか「ロックしないといけない」っていうのがあって、めんどくさいな。
621:名前は開発中のものです。
08/08/08 00:18:40 k2u31CRe
普通にドット絵を描けばいい気がする。
622:名前は開発中のものです。
08/08/09 21:19:32 5H+GkDR5
画面に描画した内容をまっさらに直したいというだけなら、
ClearDrawScreen()の代わりにDrawBox()などを使用しても問題ありませんか?
また、問題ないのでしたら、このふたつは処理速度上、どちらが有利でしょうか?
623:名前は開発中のものです。
08/08/09 21:38:06 AID2npSx
自分で試せば済む事でしょう。
624:名前は開発中のものです。
08/08/09 21:44:53 5H+GkDR5
>623
動作は確認したのですが、ClearDrawScreen()には、何か目に見える動作意外にも、
役割があるのではと思いまして…
625:名前は開発中のものです。
08/08/12 00:53:34 F3VDNdY9
SetDrawBlendModeの
DX_BLENDMODE_INVSRC が使えないんだけど
俺だけかな・・・
バージョンふるいのかなあ
626:名前は開発中のものです。
08/08/12 15:36:18 mn/79eK/
>>625
使えないって定義がされて無いといわれるんでしょうか?
もしそれならヘッダファイルのDX_BLENDMODE_....に
あたる部分を探してみては?
627:名前は開発中のものです。
08/08/12 22:39:16 yxG5mAbd
C#でDXライブラリを使っているのですが、画像や音楽の保存場所がわからなく困っています。
初歩的な質問と存じますが、アドバイスをお願いします。
開発環境
Visual C# 2008 Express Edition
628:名前は開発中のものです。
08/08/12 23:02:09 kcKrfT4b
カレントディレクトリに置いたらいいよ。
629:名前は開発中のものです。
08/08/13 08:48:19 yFX3V9Dg
C#でも使えるのか
すごいなぁ
業務アプリや科学計算ばっかりでゲームとか作ったことないけど
俺もパズルゲーム作ってみようかな
630:627
08/08/13 11:08:10 7NjPpTlV
教えていただき、ありがとうございます。
カレントディレクトリって、作業中のフォルダですよね?
C#の場合ですと、[WindowsFormsApplication1]フォルダでいいのでしょうか?
何度も申し訳ありませんが、よろしくお願いします。
631:名前は開発中のものです。
08/08/13 11:22:56 FyPLvjSN
C#がどんなのか知らないけどな。
カレントディレクトリってのが作業中のフォルダって認識は合ってる。
ただ「なんの作業中か」を誤解している可能性がある。
例えば、貴方がゲームを作って、そのプログラムが「game.exe」というファイル名で作成されたとしよう。
当然、そのゲームをするにはその「game.exe」を実行するわけだが、
その時、まさにその「game.exe」のあるフォルダが「作業中のフォルダ」になるわけだ。
要するに「カレントディレクトリに置いたらいいよ」ってのは
「実行ファイルと同じとこに置いとけ」という意味だ。
632:名前は開発中のものです。
08/08/13 11:42:08 ZEZwt305
いやー、その説明はどうかと。
633:名前は開発中のものです。
08/08/13 11:42:13 BbNVLc2o
ショートカット経由で起動した場合はショートカットの場所がカレントになるだろ
634:名前は開発中のものです。
08/08/13 12:10:59 ZEZwt305
まあとにかく、リソースの類はファイル埋め込むかEXEの場所に。
カレントをあてにせず、EXEの場所を調べてアクセスするのがいいかな。
書き込む場合はEXEの場所じゃないほうがいい。
635:名前は開発中のものです。
08/08/13 12:21:47 yFX3V9Dg
カレントディレクトリは、OpenFileDialogを使ったりすると
読み込み先のフォルダに変わったりするから注意した方がいいと思うぞ
それが原因で詰まったこともあるから
636:名前は開発中のものです。
08/08/13 17:09:46 RJ+2pmNA
適当にカレントディレクトリに置けばいいとか言った。反省はしている。
相対パスでアクセスしたいってことだよね?
それとも絶対パスでも画像とかが動かないの?
後者だとお手上げ。
前者なら、多分bin/Debugフォルダが作られてるから、そこに置けばいいよ。
637:名前は開発中のものです。
08/08/13 17:31:59 yFX3V9Dg
DXライブラリゲームプログラム開発講座を全部読んでみたけど、
すごーーーーーーーく初心者向けの解説だなw
まぁこれで十分なのかも知れないけど、
もう少し詳しい中級者レベルのはないのかな
638:名前は開発中のものです。
08/08/13 17:40:55 gDnH2Ick
中級者なら自分で考えるか、他の方法知ってる前提なんだろ
639:名前は開発中のものです。
08/08/13 18:56:43 R5DuEQYn
>>637
DXライブラリについて勉強したいならココダロー
URLリンク(l.huu.cc)
龍神録プログラミングの館まで全部理解出来れば相当使いこなせるようになるかと
640:名前は開発中のものです。
08/08/13 19:00:40 yFX3V9Dg
>>639
おおありがとう
こっちはもう少し実践的だね
641:627
08/08/13 20:13:52 7NjPpTlV
皆さん、教えていただいてありがとうございます。
画像をbin/フォルダの下にあるDebugフォルダに入れたのですが、表示されませんでした。
某サイトのソースをコピーしたのですが、記述が間違ってるのでしょうか・・・
-- ソース --
DX.LoadGraphScreen(0, 0, "char.png", DX.TRUE);
申し訳ありませんが、アドバイスをお願いします。
642:名前は開発中のものです。
08/08/13 20:18:45 v0IoKL7W
LoadGraphScreen(0, 0, "char.png", TRUE);
643:名前は開発中のものです。
08/08/13 23:34:45 ZpXLkfXI
>>641
それで、問題が解決できる奴がいたとしたら、そいつはエスパーだよ・・・・・
まさか、それでソースが全部なわけないよな。
644:名前は開発中のものです。
08/08/13 23:49:59 RJ+2pmNA
>>641
確認したいんだけど、画面は真っ黒になってる?
なってなかったらそもそもDXライブラリがちゃんと動いてない。
でも一応動いてるみたいだからそれはないかな……。
あとchar.pngを一回絶対パスで指定してみて。
645:名前は開発中のものです。
08/08/13 23:50:43 CMyXDagd
>>641
表示されないというのが「エラーが出た」なのか、「何も起きない」なのかすら
わからないので、無限の可能性が広がります。
1. ファイル名が間違っている
2. 画像に使ってる色が透過色になってる
3. ファイルが存在しない
4. 画像がセーブできてない(セーブに失敗している)
5. パスの指定がうまくいってない
6. そもそもDXライブラリを初期化できていない
7. ウィンドウが出てない
8. 裏画面に書いたままFLIPしてない
9. メモリが足りない
10. コンパイルしてない、あるいはエラーが出ている
11. 実は環境がMac
12. ライブラリをインストールしてない
13. 使用しているディスプレイ、グラボの仕様/設定上表示できない色を使っている
14. 某サイトのソースにバグ
15. (CPUの)速さが足りない
646:名前は開発中のものです。
08/08/13 23:52:44 k9pinPn+
Releaseフォルダも試してみたら
647:名前は開発中のものです。
08/08/14 00:10:37 7xrMXFtW
プロジェクトファイルだっけ?←拡張子がdspのやつ
とりあえずあれを含んだサンプルを拾ってきて、動くかどうか試してみる。
動くのを確認してからソースをオリジナルに書き換え、フォルダに画像を置いて動作確認。
というのはどうだろう?
648:名前は開発中のものです。
08/08/14 03:20:37 s4dRQS6A
「横スクロールアクション」を作ってる最中なんだが、
同じカーソルキー二度押しでダッシュさせるサンプルコードを探してるが見つからない。
二度押し判定の仕方を教えてほしいの
649:名前は開発中のものです。
08/08/14 03:33:41 4cx2dJb5
それくらい自分で考えてみようぜ
フラグやカウンタを使えばできる
650:名前は開発中のものです。
08/08/14 10:06:19 E3jqMQR0
>>641
とりあえず動かしたいんだよな?
まず、プロジェクトの全部のフォルダにその画像全部コピーして実行してみろよ。
で、表示されたら1つずつ消して実行してみて、どれ消したら出なくなるか試してみるんだよ。
本当はカレントがどこか調べたり、フルパス指定したりするんだけど最初のためしなんだろうから、
それでやってみ。たぶんDebugの一つ上がカレントじゃないかと思う。
651:名前は開発中のものです。
08/08/14 10:08:06 E3jqMQR0
ってbinができてるなら2008じゃなくて2005なのかな。
だったら別の場所かもしれん。
652:名前は開発中のものです。
08/08/14 12:42:31 E3jqMQR0
って、、、、よく見たらC#なのか。
これC#から使うにはちょっとあれだが・・・
bin\Debug に入れたら動いたぞ。
(うちはVista64なんで正確にはbin\x86\Debug)
653:名前は開発中のものです。
08/08/14 12:45:51 E3jqMQR0
ついでに、全ソース。
using System;
using DxLibDLL;
namespace WindowsFormsApplication1
{
static class Program
{
[STAThread]
static void Main()
{
DX.ChangeWindowMode(DX.TRUE);
DX.DxLib_Init();
DX.LoadGraphScreen(0, 0, "char.png", DX.TRUE);
DX.WaitKey();
}
}
}
654:名前は開発中のものです。
08/08/14 16:59:16 E3jqMQR0
しかしDXライブラリを初めて使ってみたが、Vistaと相性悪い?
655:名前は開発中のものです。
08/08/14 19:47:10 Lwdz3ZLP
そもそもVistaだったらDirect3D使うべき
656:名前は開発中のものです。
08/08/14 22:28:58 husrYnDZ
>>654
そんなことないと思うけど。なんか問題あったか???
657:名前は開発中のものです。
08/08/14 23:20:36 E3jqMQR0
あー、入門向けの説明してる画像ずらして表示するやつ、キー入力待ちまで何もでないんだよね
まあ通りがかりに質問見つけてためしに動かしてみただけなので、もうちょっと見てみないと何とも言えないけど。
でもこの龍神録の解説はいいね。xnaに移植してみたくなった
658:名前は開発中のものです。
08/08/15 10:04:50 c3xnj8Q3
>>648
14歳~、のアクションゲームサンプルに
「ジャンプ時にジャンプキーを受け付けないようにする」って解説がある、参考にしてみては?
659:627
08/08/16 02:31:00 IJByLJ4E
ソースを組み直したら表示されました。
単純なミスをしてたみたいでした。お騒がせしました。
画像ファイルはbin/debugに置くことで表示されました。
皆さん、アドバイスありがとうございました。
660:名前は開発中のものです。
08/08/16 09:26:28 tLttBDTG
>648
入力をキューなりリングバッファなりに貯めて
コマンド成立判定の結果で状態遷移なりフラグなり変更
661:名前は開発中のものです。
08/08/16 10:14:52 QpDIrmnH
「カーソルキー二度押し」とはどういう状況の事なのか、を
考えてみれば自ずと答えは出るだろう。
662:名前は開発中のものです。
08/08/16 23:31:10 7gLPM7hz
DXライブラリで、STLって使えない?
クラスの配列を実装するのにコンテナのvectorを使いたいんだけど、
エラーを吐かれる。
>>232-233で、ヘッダに何か書いてある、と書いてあったから
DxLib.hをSTLでテキスト検索掛けたけど
(STLを半角にしても全角にしても)引っかからない。
本家掲示板過去ログ↓でそれらしき記述を見つけたけど、
URLリンク(hpcgi2.nifty.com)
#define DX_USE_VISUALC_MEM_DEBUG
ってどこにもないんだよね。
DxLib.hの147行目当たりに DX_USE_VISUALC_MEM_DEBUG があったから
それを含む数行のコメントアウトを外してみたけど反応は変わらないし。
663:名前は開発中のものです。
08/08/16 23:42:01 O36Whzxu
>>662
オレは何の問題もなく使えてるよ
664:名前は開発中のものです。
08/08/16 23:54:42 3Mm4zQJB
>>662
(出来る範囲で)エラーメッセージを晒せば、詳しい人がトラブルシュートしてくれるかもよ。
665:名前は開発中のものです。
08/08/17 01:34:05 ewUKCOWb
>>663-664 ありがとう。
>>663 何の問題も無く、とは、DxLib.hをいじったりしないで、ってこと?
とりあえず、最低限で組んだソースを晒してみる。
------
#include "DxLib.h"
#include <vector>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
if(DxLib_Init() == -1){
return -1;
}
SetDrawScreen(DX_SCREEN_BACK);
vector<int> x;
x.push_back(1);
while(CheckHitKey(KEY_INPUT_ESCAPE)==0 && ProcessMessage()==0){
DrawFormatString(0,0,GetColor(255,255,255),"x[0] = %d",x[0]);
ScreenFlip();
}
DxLib_End();
return (0);
}
------
666:名前は開発中のものです。
08/08/17 01:34:45 ewUKCOWb
長くなったので連投失礼。
>>665のソースで吐かれるエラーは、
------
\main.cpp(10) : error C2065: 'vector' : 定義されていない識別子です。
\main.cpp(10) : error C2062: 型 'int' は不要です。
\main.cpp(11) : error C2065: 'x' : 定義されていない識別子です。
\main.cpp(11) : error C2228: '.push_back' の左側はクラス、構造体、共用体でなければなりません
型は ''unknown-type'' です。
\main.cpp(14) : error C2065: 'x' : 定義されていない識別子です。
------
以上。
あ、環境書いてなかった。
VC++2008Ver9.0の、DXライブラリVer 2.24cです。
667:名前は開発中のものです。
08/08/17 01:40:34 tqDU34tR
>>649,>>658,>>661
とんくす
何となく理解した
668:名前は開発中のものです。
08/08/17 04:10:10 mR8Ia0CQ
>666
俺そんなに詳しいわけでもないんだけど、
std::vector<int> x;
これでどうだろう
669:名前は開発中のものです。
08/08/17 07:39:51 GOwvXjh7
>>665
答えは>>668が書いてくれてるけど、
問題の切り分けができるようになった方が良いよ。
670:名前は開発中のものです。
08/08/17 11:45:33 ewUKCOWb
>>668
cinとcout使わないからstdネームスペースを宣言していなかった。
ありがとう。
(っていうか「C++ vector」でググったら最初のページに『vectorはstdという名前空間内にあります。』って書いてあるじゃないか…)
>>669
精進します><
671:名前は開発中のものです。
08/08/17 12:35:36 vVpxXEty
using namespace std;
はいつもしとけば
672:名前は開発中のものです。
08/08/18 13:02:21 BAHHLEa/
>>671
ヲイヲィ・・・・
使わないところで、そうやってnamespace使っちゃだめだろ。
なんのために名前空間なんて概念取り入れてると思ってるんだよwww
673:名前は開発中のものです。
08/08/18 13:43:37 XHbUdQA2
逆にいつも使わなければ、この手のエラーは最初に食らってて変なとこ探したりしなかっただろうに。
674:名前は開発中のものです。
08/08/18 15:29:16 IR1SAisJ
std名前空間なんて別にusingしといても問題ねーよ
675:名前は開発中のものです。
08/08/18 21:22:08 XHbUdQA2
今回の質問者には問題あったみたいだがw
676:名前は開発中のものです。
08/08/19 01:06:47 HNGx9BRt
ループ毎に、ClearDrawScreenで画面をきれいにしてから描画していると、
画面の1/3に及ぶ大きなちらつきが出てしまうのですが…解消するには
どういった方法がありますか?
677:名前は開発中のものです。
08/08/19 02:28:18 H5en/Vi4
それは本当にClearDrawScreenのせい?
678:名前は開発中のものです。
08/08/19 03:17:38 HNGx9BRt
>677
すみませんでした。グラフィックボードの性能不足のようでした。
スレ汚し失礼しました
679:名前は開発中のものです。
08/08/19 09:03:29 Ck7KpSlS
>>678
本当のグラフィックボードの性能のせい?
裏画面に描画してflipすれば治る類のものかもよ。
680:名前は開発中のものです。
08/08/19 14:41:54 HNGx9BRt
>679
すみません、SetDrawScreenの位置がおかしいのが原因でした。
ありがとうございました。
681:名前は開発中のものです。
08/08/19 15:45:05 Pc0No+Vn
本当のSetDrawScreenの位置のせい?
(ry
682:名前は開発中のものです。
08/08/19 20:42:56 H2/ZmzLf
お茶吹いたじゃねぇか!
683:名前は開発中のものです。
08/08/20 03:18:08 bLtEJeoI
同じプログラムを、
解像度1024*768 32bitcolor,フルスクリーン
解像度1024*768 32bitcolor,ウインドウ
の両条件で実行したところ、ウインドウモードではfpsが平均して68以上だったのに対し、
フルスクリーンではせいぜい59.8程度で、60を超えることはありませんでした。
さらにSleep(20)のハンデを課して両条件で実行したところ、処理自体はフルスクリーンモード
の方が速いということがわかりました。
フルスクリーン時のfpsが頭打ちになっていたのは、垂直同期というのに関係があるんでしょうか?
684:名前は開発中のものです。
08/08/20 04:09:13 rRA8J1RI
うん
685:名前は開発中のものです。
08/08/20 04:13:55 bLtEJeoI
>>684
ありがとうございました!
686:名前は開発中のものです。
08/08/20 09:29:37 e8oi3kIG
「画面のプロパティ」の「設定」→「詳細」のあたりにリフレッシュレートの設定があると思う。
おそらく60になってるだろうけど、それを70とかに変えて試してみると勉強になるかも。
(ディスプレイやグラフィックボードによっては対応してない場合もあり)
あと、↓の命令を使って垂直同期信号待ちを切ってみるのも勉強になるかも。
どうして垂直同期信号待ちが必要とされる場合があるのか解るかもよ。
SetWaitVSyncFlag ScreenFlip関数実行時にCRTの垂直同期信号待ちをするかのフラグセット
687:名前は開発中のものです。
08/08/20 09:43:38 xrtLaobQ
CRTのときは、60と70の差が大きすぎてすぐにリフレッシュレート上げてたけど、
液晶は見た目変わらんから60のまま、なことも多いなあ。
688:名前は開発中のものです。
08/08/20 18:57:24 bLtEJeoI
>686
ありがとうございます。
色々勉強になります。しばらく色々設定いじってみます
689:名前は開発中のものです。
08/08/25 03:13:19 DGfm1VSy
ニュートラル調べればいいだけだと思うよ
690:名前は開発中のものです。
08/08/28 13:33:11 m65IXGpQ
DXライブラリ3Dを使っています
メタセコイアでXファイルをつくりUVマッピングなどチェックをして保存しました
LoadModelでそのXファイルを読み込み
DrawModelで表示させるようにしましたが
起動すると LoadModel 0番目のテクスチャ C:\...................... TEST.bmp
が見つかりませんと
でます
対処方法を教えてください
691:名前は開発中のものです。
08/08/28 13:38:24 TltG6Uz7
C:\...................... TEST.bmp はあるの?
692:名前は開発中のものです。
08/08/28 13:49:15 m65IXGpQ
>>691
同じフォルダ内にあるんだけど
他の、サンプルにある Sky1.X は、テクスチャも貼られ表示できました
ちなみに
Xファイルを開いて、TextureFilename のところを
C:\.........TEST.bmp
から
TEST.bmp
に変えると表示されました
693:名前は開発中のものです。
08/08/28 17:26:33 BAQFIkd7
>>692
マルチバイト文字を使用する設定を確認してみてはどうか。
携帯からエスパー。
694:名前は開発中のものです。
08/08/28 18:50:54 JopJTyIq
というかドライブから指定するもんか?
695:名前は開発中のものです。
08/08/28 21:28:08 dfxzS5Cd
実行されたディレクトリを取得して
そこからの相対パスで書いとくのがいいんじゃないかな
696:名前は開発中のものです。
08/08/29 18:08:45 f6mFLVdV
結局自力解決したのかどうなのか
697:名前は開発中のものです。
08/08/29 18:38:30 HzuC4F0t
>>696
手直しでファイル名を指定することにしました
めんどいね
698:名前は開発中のものです。
08/08/29 18:41:09 smutsiJt
そもそもxにフルパスで書かれるのはどうなんだ?
うちの環境じゃそうならないが・・・
699:名前は開発中のものです。
08/08/31 18:49:33 vgAWOJQZ
グラボの関係か、320*240*16BITでつくってるゲームをフルスクリーンで表示しようとしても、拡大されず、左上4分の1だけゲーム画面で、あとの4分の3は真っ暗!
みたいな状況になってしまう。
なにかいい解決方法ありませんか?;
700:名前は開発中のものです。
08/08/31 21:00:40 9t3mvfZS
>>699
>>610
701:名前は開発中のものです。
08/09/01 10:37:37 fhLFDpft
ってメタセコイアの環境設定で指定したフォルダ以外を指定するとフルパスになるな。
こういうもんなのか。
702:名前は開発中のものです。
08/09/01 13:48:16 dabOwcbj
>>701
そんなもんだ。
メタセコなら毎回フルパスを消して相対パスにせないかんですよ
703:名前は開発中のものです。
08/09/02 09:43:44 hFsfLIz7
>>702
やっぱりそうか。
>>698
のようなこともあるのかと、ぐぐってみたが、なかった
704:名前は開発中のものです。
08/09/02 10:05:31 b2f1Qmol
環境設定でピクチャのフォルダ指定して常にそこ使ってるとパスが入らない、
705:名前は開発中のものです。
08/09/09 15:20:40 CoW+esAW
三角関数などを利用して求めた移動量は基本的に少数の形をとるため、実際に
描画する際には整数にしなければなりません。しかし、そうすると移動量の値に
差が生じてしまい、ずれた方向に進んだりしてしまいます。
今は、定期的に移動量計算をやり直して進路を修正しているのですが、何か他に
良い方法はありませんか?
706:名前は開発中のものです。
08/09/09 15:26:39 HJ9D2qDN
>>705
俺は座標や移動量などは全部小数で扱って、描画するときだけ整数にしてる。
707:名前は開発中のものです。
08/09/09 15:36:50 CoW+esAW
>706
型変換のタイミングを延ばして、誤差を最小限にするんですね
ありがとうございます。
708:名前は開発中のものです。
08/09/09 20:28:23 xHkBaHNO
普通に関数名の最後にFがついた奴で表示すればいい
709:名前は開発中のものです。
08/09/10 00:44:13 KDatiZii
>708
ヘッダを覗いたらありました!
ありがとうございます!
710:名前は開発中のものです。
08/09/10 10:33:12 pAofywHU
久々に来たら自分のカオスソースを見てしまったw
711:名前は開発中のものです。
08/09/13 09:05:11 teQENKcK
>705
亀ですまんが、固定小数点とか楽じゃない?
712:名前は開発中のものです。
08/09/13 09:59:40 OOndKDeu
>711
ありがとうございます。調べてみましたが、なかなか計算速度が向上しそうです。
C,C++では標準でのサポートはされていないようですが…
それも視野に入れて作っていきたいと思います。
713:名前は開発中のものです。
08/09/13 10:13:19 Ln37Pw6J
>>712
難しく考えないでもよほど大きな座標系じゃない限り
浮動小数点でずれが発生するなんてめったにないぞ・・・。
何か間違ってないか?
あと固定小数点は標準のサポートとかそういうんじゃなく、
はるか古来からある基本的な手法の一つだぞっと。
714:名前は開発中のものです。
08/09/13 10:46:48 teQENKcK
>712
要はさ。
座標とか、例えば全部100倍した値で保持しておいて、
実際に表示する時だけ1/100にすればいいんでね?って発想。
実際に使うなら、もうちょっと応用しなきゃならないだろうけど、
これだけでもfloatよりは速い場合があったりする。
715:名前は開発中のものです。
08/09/13 15:47:20 OOndKDeu
>713 >714
そういうことですか。すみません、少し勘違いしていました。
ただ、入力→変換(割り算など)を考えると実感が湧かないので、
とりあえず、クラス化して実際に速度を比較してみます。
716:名前は開発中のものです。
08/09/13 15:56:24 jUmbsVEt
>例えば全部100倍した値で保持しておいて
128倍とか、二の倍数の方が早いかも、と考えるのは古いかな。
717:名前は開発中のものです。
08/09/13 16:38:27 SPZ9dRlM
たとえ話でわかりやすい10進にしてるであろうのにこの突っ込みはかわいそう
718:名前は開発中のものです。
08/09/13 17:58:49 jUmbsVEt
いや別にそれが悪いと言ってるわけじゃないって。
719:名前は開発中のものです。
08/09/13 18:00:25 77ztokxP
僕は5年前HSPというスクリプトでシューティングを作ってたのですが、
整数しかサポートされてなかったので、10000倍にバイアスかけて
描画の時だけ10000で割ってました。
画面が6400000 * 4800000あると仮定していました。
はいはい、よかったでちゅねー僕。
720:714
08/09/13 18:15:00 Craygg7f
>716
ちなみに自分の場合は、ビットフィールドを使ってるので割り算すらしてません
721:名前は開発中のものです。
08/09/13 21:55:19 Ln37Pw6J
>>720
まぁビットフィールド使うよりシフト演算使ったほうが速度的には速いんですけどね。
722:名前は開発中のものです。
08/09/14 09:22:56 GkehiKsz
>721
計測したところあんまり変わらなかったので
シフトさせるよりビットフィールドの方が見やすいかなと。(ぱっと見たら構造体っぽいし)
723:名前は開発中のものです。
08/09/17 17:38:25 tRpYcu/9
みなさんはDXlibで光や水、炎、煙などはどう表現してますか?
元画像とαパターンを用意してアニメーションさせる、
半透明のパーティクルを多数描写して表現するなどの方法が考えられますが
他に効率の良い方法やより良い表現方法などはありますか?
724:名前は開発中のものです。
08/09/17 18:02:15 jRvaVjUa
>>723
チミは、どうやってるの?
725:名前は開発中のものです。
08/09/17 18:34:02 tRpYcu/9
>>724
実はまだαブレンドを使ったことが無いんです
依然作った爆発のエフェクトは透明度0のアニメーションパターンを
大量に描写するという力技をやったのですが非常に見づらくて・・・
いずれαブレンドと使うときの参考に聞いてみたくて
726:名前は開発中のものです。
08/09/17 20:41:09 UL3sHJKU
>723
ドット絵で爆発パターンを用意して、普通にアニメーションさせるのは?
どういうゲームを作るのかにもよるだろうけど、十分綺麗だよ。
727:名前は開発中のものです。
08/09/18 05:58:52 0k0SxurY
αブレンドは非常に便利ですよ~。
とりあえずスーっと消えていく表現をするのはアルファブレンド無しには無理では。
光は単純に加算ブレンドすれば表現出来ますよ。
水はモワモワした明るさのむらがある画像を同様に加算ブレンドで
適当に動かしながらブレンドすれば所どころ輝度が明るくなるので
水がキラキラしてるみたいに見えます。
・・まぁこればかりはサンプル見ながらじゃないと理解は難しいでしょうけど。
煙もフォトショとかで適当にモワモワした画像を用意して重ねて表現してますね~。
爆発だけは私の技量じゃ無理なんで、予め用意した画像をまわして
アニメーション作っています。
・・・ところでDXライブラリ使って皆さん
どんなゲーム作っていらっしゃるんでしょう~?
728:名前は開発中のものです。
08/09/18 22:23:53 rk0RvkW2
>>726
メタルスラッグの爆発アニメーションはすごいですよね
あそこまで出来れば小手先でごまかす必要な無いんでしょうけど・・・
>>727
なるほど、加算も工夫次第でいろいろ使えそうですね
729:名前は開発中のものです。
08/09/19 11:13:43 1wZmK+F1
>>727
ソース見せてくれませんか?
730:名前は開発中のものです。
08/09/19 14:14:52 ULXARkZB
ソース見ても役に立たないのでは・・・
こういうのは素材が大事だ
731:名前は開発中のものです。
08/09/19 16:47:32 EknoqLgk
素材は俺が提供するから>>729にソースを見せてやってくれ
732:名前は開発中のものです。
08/09/19 21:14:53 mE2W/Vvh
D言語のためのDXライブラリです
本家が対応するまでのつなぎみたいな感じでひとつ
URLリンク(gamdev3.hp.infoseek.co.jp)
733:名前は開発中のものです。
08/09/19 21:29:59 QOxm/m8e
スレチかもしれないけど、D言語って統合開発環境あるの?
734:名前は開発中のものです。
08/09/19 21:41:57 a5236E0O
Eclipseでいいじゃん
735:名前は開発中のものです。
08/09/20 01:32:06 B0XkaKvg
>>729
>>731
わかりました。・・で作ってみたんですが、
サンプルコードは素材が無いと書けないのでココに置いときます~。
URLリンク(l.huu.cc)
VisualStudio2005Proのプロジェクトも一緒においておきました。
サンプル見るだけなら実行ファイル開いてもらったらOKです。
人に見せれるようなコードじゃないんですがね;
しかも特にエフェクトの勉強とかしたわけじゃなく、
勝手に考えたんで、責任持てませんよ・・。
私も爆発エフェクトはうまく作れないので、
よい情報あったら下さいまし。
736:名前は開発中のものです。
08/09/20 04:59:41 cpqyoWS/
別人だが、参考になったわ。
結構綺麗に出来るのね。……重さとかは大丈夫?
737:名前は開発中のものです。
08/09/20 08:43:52 ipBgWeEu
>>735
729です
大変参考になりました。かっこいいね。
URLリンク(www4.point.ne.jp)
こんなの作ってみたいが、まだスキルが足りない。
738:名前は開発中のものです。
08/09/20 10:23:08 U4g9HCW0
>>735
特定しました
あなた様のコードはいつも参考にさせて頂いておりますo(*_ _)o
739:名前は開発中のものです。
08/09/20 11:53:39 LKrEZzcd
>>735
龍神録の人でしたか
いつも勉強させてもらってますー
740:名前は開発中のものです。
08/09/20 13:28:20 B0XkaKvg
>>736
重さは多分大丈夫じゃないです;
300回も上書きブレンドしているので、結構な重さにはなっていると思います。
ただいつも通常使ってるデスクトップとわざとちょっと昔のノートと2台で
作ってるんですが、そっちで処理落ちしなければ大丈夫だと勝手に決めてて(ぇ
これは処理落ちしなかったのでまぁ許容範囲かなとは思います。
>>737
おぉ、99年からこんな物が作ってるなんて、一体レンダリングに
何日かかったんだろう・・。
普通にジブリの新作か何かかとすら思いました。
>>738
>>739
どうもありがとうございます。恐縮ですm(_ _)m
741:名前は開発中のものです。
08/09/21 20:07:55 TkLJpNfR
>>740
ちょっとスレ違いかもしれないけど質問です。水面や地形のテクスチャはどのように作っているのでしょうか?
742:名前は開発中のものです。
08/09/21 23:01:36 kM+tIHw+
740です。
私はですが、普通にフォトショップというソフトでマウス使ってひたすらカキカキしてます。
GIMPとか別にソフトは何でもいいと思います。
ペンタブレットがあるといいんでしょうけどね・・。
龍神録の背景製作しているときは、京都の近くに住んでるんで、
あらゆる観光名所まわって素材になりそうな写真沢山とってきて、それ見ながら描いたりしました。
光の素材は適当にフォトショで線を何本かかいた後、
適当にぼかしてはグニャっとまげ、回転したり、またぼかしたり色々やってあんな
形にしてみました。
フォトショの色んなテクはmixiのフォトショコミュとかはいると結構参考になる
テク入手できますよ。
743:741
08/09/22 11:09:21 QYShp17z
>>742
何か専用のツールとか使っているのかと思っていたのですが、
手描きであそこまで仕上げられるとは・・・凄いです。
自分も勉強してみます。
744:名前は開発中のものです。
08/09/22 14:41:02 gqBSy5fA
>>742
rスパロボの戦闘画面みたいなの、つくれる?
745:名前は開発中のものです。
08/09/22 14:43:17 gqBSy5fA
URLリンク(www.suparobo.jp)
こんなかんじのやつ
746:名前は開発中のものです。
08/09/22 14:45:41 wx7vpqDz
それは何を使うかというより使う人の技術の問題だろ
747:名前は開発中のものです。
08/09/22 16:10:45 WbUOCRNA
つーか、そんな事訊いてどうするつもりかと。
748:名前は開発中のものです。
08/09/22 22:06:12 mAu1LxBS
素材があってもビルボードとかの技術がないと無理だな
749:名前は開発中のものです。
08/09/23 01:01:13 x39CpwhV
私は絵がうまくないので、参考にならないと思います‥。
龍神録に出てくるアイシャとリリアの絵はスタッフロールにあるファンタG君に
書いてもらったのですが、絵のうまい彼はペインターとフォトショで書いてるようです。
まぁwindows標準のペイントでも神画像作ってる動画もある位ですし、
どんな絵がかけるかは、ソフトの問題じゃなく、
その人の絵のセンスかと思いますよ。
750:名前は開発中のものです。
08/09/23 07:22:43 Kj+y16lm
これからDXライブラリでゲーム作りをしようと思っているのですが
始めるに当たって、みなさんに相談お願いしたいです
C#で開発できるらしいですが、C#用のライブラリって↓のサイトのやつでいいんでしょうか?
URLリンク(totora.jpn.org)
ただ、このサイトを見ると試作段階でバグがあるかもということですが
C#で開発されている方、そういう面はどうでしょうか?バグとか多いですか?
751:名前は開発中のものです。
08/09/23 09:21:14 OI9+VwfD
>>750
C#用のラッパーは公式サイトで配布されてるからそっち使え
752:名前は開発中のものです。
08/09/23 09:33:01 Kj+y16lm
>>751
おおぉ、よーく探したらこっそり置いてありましたねw
有難うございます。
それにしても、C#で開発できるとかかなり便利ですよね
オブジェクト指向で言語仕様も簡単だし、.netライブラリも充実してるし。
疑問に思うのですが、このライブラリを知るまでは
C#でDirectX使うには、XNAかマネージドDirectXしか無いと思ってたけど
DXライブラリで普通に使えるんですね、、なんで普及しないんだろ。
753:名前は開発中のものです。
08/09/23 09:49:46 D0JwYXSu
2D専門だから
初心者が始めるのにはC#はいいが
CやC++使いもしくは他言語から移るメリットが少ない
754:名前は開発中のものです。
08/09/23 09:57:52 OI9+VwfD
>>752
SlimDXオススメ
わざわざC#でゲーム作ろうとする人って、C#しか使えないんじゃなくて
C#(言語)や.NETのクラスライブラリが使いたいのが理由の人が多いんだと思う
だから初心者向けのDXは需要がないんじゃないのかな
755:名前は開発中のものです。
08/09/23 10:35:17 Kj+y16lm
>>753
なる
>>754
そそ、.NETのライブラリが便利すぎなんだよ
あと、普段業務PGやっててJavaとかC#の純オブジェクト指向言語のが慣れてるってのも理由のひとつ。
SlimDXね、調べてみるわ。
というか、ここのスレの雰囲気いいよね、技術系スレなのに人当たりがいい人が多い。
756:名前は開発中のものです。
08/09/23 12:50:54 5UTvGJHb
とか言われると荒らしたくなる俺
757:名前は開発中のものです。
08/09/23 13:04:41 hqjnHrp3
>技術系スレなのに
どういう意味だそりゃw
758:名前は開発中のものです。
08/09/23 14:23:55 YaNZJWA2
>>757
ム板とか行ってみるとわかるんだが
大体の技術系スレは殺伐としてる
759:名前は開発中のものです。
08/09/23 15:32:55 fd+roZoC
年齢層が結構高いという理由もある。スレにもよるが。
760:名前は開発中のものです。
08/09/23 15:33:30 2tYhKJm3
C#orVB.netのManaged DirectXはかなり遅いのが難点。
ただし作るのが楽チン。スキンメッシュとかうごかしたらかなり
遅いからすぐにわかるとおもう。
逆にいうと、動かさない、3Dシュミレーションゲームとかなら
ぜんぜんこっちのほうが速く作れるからお勧め。
HLSLもつかえるし。
761:名前は開発中のものです。
08/09/24 06:05:47 mdCTmiao
>>759
昔は若かったがなw
そのまま住人が居つくから平均年齢が高くなってきたんだな。
762:名前は開発中のものです。
08/09/24 07:35:30 /MicH7DQ
スレによって年齢層違うっしょ。
バイク、車、他各専門系のスレに小中学生とかが大半を占めてるはずないし。
ここは比較的技術・専門系ということになるのでは
763:名前は開発中のものです。
08/09/24 10:02:33 yBTZmmoT
Cのインターフェイスそのままじゃなくて、C#向けにちょっとだけ整理したラッパーを作ってみようかな
需要ないだろうけど
764:名前は開発中のものです。
08/09/24 10:26:09 KcJa/Ki0
いくつかやってるとこあるみたいだけど途中で止まってるみたいだね。
本家のは使えないしな。
765:名前は開発中のものです。
08/09/24 11:11:18 yBTZmmoT
まあDXライブラリくらいだったら、ラッパー書くんじゃなくて
自分で1から作っても手間はそんなに変わらなかったりするしなあ
766:名前は開発中のものです。
08/09/26 16:53:52 uI0814jI
>>735
見ようみまねでつくった爆発。
DXライブラリがよくわからなかったのでDirectXで作りました。
URLリンク(f42.aaa.livedoor.jp)
767:名前は開発中のものです。
08/09/26 17:28:56 sIk1E79K
静止画で出されても困るような・・・
そういう小さい爆発なら生成ツールがいくつかあったぞ
俺は発色弾というのを使ったことがある
768:名前は開発中のものです。
08/09/26 18:26:54 uI0814jI
>>767
動画にしてみました。
URLリンク(www.nicovideo.jp)
769:名前は開発中のものです。
08/09/26 18:42:43 4I0Ae3rZ
いい出来だと思うけどUPするならGIFのほうがいいよ
770:名前は開発中のものです。
08/09/26 21:24:32 p7KUPS5V
おー見ましたよー素晴らしい。いいですねぇ。
手の込んだ事をするならDirectXでってことになっちゃいますよね。
なんとかDXライブラリで出来ないものか・・。
この動画をキレイに一つの素材として黒い背景に動画をαブレンドすればいいんでしょうけど、
背景が真っ黒じゃなかったら光ったエフェクトになりそうですね。
動画にPNGみたいな「透過色」ってのがあったらいいのに・・。
PNGの背景透過色にして、PNGでこの爆発エフェクトを連続写真のようなもので
出力することって出来ないんでしょうか?
771:名前は開発中のものです。
08/09/26 23:36:24 vO2a+ZXl
必死でPrtScr!
772:名前は開発中のものです。
08/09/27 01:50:43 yFXnQ0DO
いや、これならDXライブラリでもできるでしょう
火炎部分の加算と黒煙部分のアルファブレンドの組み合わせだよ
773:名前は開発中のものです。
08/09/27 04:58:22 S56hocnM
>>771
動画を静止画に分割したとしても、背景が白ではそのままでは加算するしか・・。
>>772
そう言われてみたら何となく出来そうですね。やってみます。
774:名前は開発中のものです。
08/09/27 11:20:08 sqmsiBjv
確かに一つ一つをモワッと広げながら表現すればそれっぽくなりそうですが・・
火炎部分の絵をフォトショで頑張って描いてみましたが大した絵がかけず失敗orz
う~ん、素材がうまく作れないので絵心が無い人は損ですね・・。
>>772
もし簡単に出来る方法があれば、教えてもらえないでしょうかm(_ _)m
775:名前は開発中のものです。
08/09/27 16:17:16 0o9es7Z8
シューティングとか作ってて気がついた。敵にショットが当たって炸裂する爆発が快感なんだと。
爆発エフェクトって大事だよね。
776:名前は開発中のものです。
08/09/27 16:26:47 co8TOWn8
でも爆発エフェクトのせいで見難くなったら逆にストレスたまる。
777:名前は開発中のものです。
08/09/27 22:59:52 6fULJcpY
DXライブラリでゲームを作ろうと先週『14歳で~』シリーズの一番新しい奴買ってきたんだが、
確かにわかりやすいけどえらい誤字脱字多いのな。
そういうのも含めて勉強になるから別に良いんだけど、初版の参考書って皆こんなもんなんだろうか。
778:名前は開発中のものです。
08/09/28 00:13:39 2mgnfi1g
>>777
そんなに多いの?俺の持ってるその作者の別の本は初版でもほとんど間違いなかったけど。
その作者の本は神認定されるのとクズ認定されるのとがあるらしいからなぁ。
779:名前は開発中のものです。
08/09/28 03:18:28 j9AQSBAF
ちょっと読んでみたけど、書くべきではないコードの書き方があちこちあった。
全体的にもそうだけど、部分的にも。
あのコードのままコンパイルしたら通っても、
ちょっと改造しようとすると応用が効かないというか。
780:名前は開発中のものです。
08/09/28 04:50:05 2mgnfi1g
>>779
分かりやすければいいんじゃない?
サンプルは応用じゃなくとりあえず理屈が分かるのが大事だから。
まぁ個人HPならともかく書籍なのにコードが間違ってるのは致命的だけどw
781:名前は開発中のものです。
08/09/28 11:51:21 rt+m1aEe
>>778
買ったのはこれ、今年の5月が初版になってる。
URLリンク(www.amazon.co.jp)
まだ半分も読んでないんだが、誤字や脱字、あと気になる箇所をメモったのが↓
URLリンク(upload.jpn.ph)
最初に書いたコードから追加していくタイプの参考書なので、
追加する際に置換・削除するコードはグレーで表示して欲しかった。
それを除けば理解しやすいし、良質な参考書だと思う。
782:名前は開発中のものです。
08/09/28 12:58:09 j9AQSBAF
>>781
>▼P90
そうそう、779で言ったのはこれの事。
立ち読みしただけだから所々しか読んでないけどそれでも
色々おかしな記述があったの覚えてる。
0xffffffとか何色示したいか知ってる人にはわかるけどね、
何ビット表示かでかわるし、まさか18273みたいな指定の仕方する人は少ないかと。
それから1リフレッシュより短時間の待機はWaitTimerよりもSleepでするべきだと
思うけど(WaitTimerはメッセージ処理するから、Sleepより重くなる)Sleep使ってない。
ゲーム画面をDxtoryやDxrecでキャプチャさせること考えると
ゲーム中なるべくSleepした方がいい。
著者は知ってて端折ってるならいいけど、あちこち後々必要になりそうな
気のきいた記載がないんだよね。
783:名前は開発中のものです。
08/09/28 13:01:44 0G4fpLoL
しかしこれだけの間違いを理解できる人が、
『14歳で~』シリーズなんて買う必要があるのだろうかw
784:名前は開発中のものです。
08/09/28 14:47:52 AquToWxE
>>783
まったくだw
785:名前は開発中のものです。
08/09/28 15:29:04 +XQvTJub
SleepはDXライブラリの関数じゃないからその指摘は酷じゃないか?
786:名前は開発中のものです。
08/09/28 15:52:18 rt+m1aEe
>>783
自分はDXライブラリ初めて触るので、ほんとに1ページから順に読んでいってるのよ。
C言語も自分の中では少し怪しいので、第二章のC言語講座の部分も含めて。
787:名前は開発中のものです。
08/09/28 19:34:55 7o0RXMy3
Sleep関数はDXライブラリの関数じゃないにしても、
DXライブラリの中でインクルードしてあるから、デフォルトで使えるし、
いいんでないかと思ったけど。
まぁ本の題名からしたら14歳が理解出来る程度のことがかいてあればいいのか・・。
788:名前は開発中のものです。
08/09/28 20:58:48 B4kDiXQP
14歳からゲーム作ってたらさぞかし技術高いだろうな・・
789:名前は開発中のものです。
08/09/28 21:08:13 q2E7P3mH
雑誌見ながらぽちぽちBASIC打ち込んでた頃だな……。
未だにあの頃からレベル変わってねー。
790:名前は開発中のものです。
08/09/29 01:33:40 xeNsWOz5
>>788
実際には14で神童・・20過ぎればみたいに3,4年で飽きてしまうやつがほとんどだと思う。
それは昔のBASIC(DXライブラリの作者もこの時代の風潮を参考に開発してる)も証明してるし。
791:名前は開発中のものです。
08/09/29 04:35:27 /M4YHcOb
>>788
80年代の雑誌見てると小学生が投稿しているからなぁ
792:名前は開発中のものです。
08/10/02 20:57:59 rXm6vOwJ
ゲーム開発で必ず付き纏う問題の一つにゲームスピード調整があるけど、
色んなやり方や宗派があるからあまり触れられないよね。最重要なのに。
BASIC時代は無意味なforループでウェイト掛けたりしてたけど、
DXライブラリ使って初めてゲーム作る人は、第一作目はそんな感じの環境依存コードになるよね。
793:名前は開発中のものです。
08/10/02 21:06:49 xFCytqH2
ScreenFlipが勝手にウェイトかけてくれるもんでそれをあてにしてたら
結構あてにならん事を後に知って色々いじる事になった……。
794:名前は開発中のものです。
08/10/02 21:28:05 rXm6vOwJ
>>793
モニタ毎のリフレッシュレート依存だし、リフレッシュレートに追いつかない重い処理だった時に処理落ちするからね。
でも結構そういう人多いんじゃない?
仮にリフレッシュレート固定だとしたらかなり精度の高いタイマーだけどね。
795:名前は開発中のものです。
08/10/02 22:59:58 xFCytqH2
理論的にはそのはずだけど
俺、かなり無茶で非効率なプログラミングしてるのに
リフレッシュレート60でほとんど処理落ちしてない。
メインPCはそこそこ高性能だから当然だとしてもちと古い型のノートPCでもそうだから
よっぽど無茶な事をするか非効率なプログラミングでもない限り処理落ちの心配はないんじゃないかなぁ。
ScreenFlipの問題点はそういう処理落ちの部分じゃなくて、
リフレッシュレートを60以外にしている人の場合とか、
ウィンドウモード時にどうなるかよく解らない点とか、
環境によってはScreenFlipで垂直動機信号待ちをされない場合があるとか、だね。
796:名前は開発中のものです。
08/10/03 00:19:28 yPJm/pNJ
>>795
えと、要するにそういう事が言いたかったんだが。。
797:名前は開発中のものです。
08/10/03 01:42:26 hF4QIbOk
この場合、「ゲームスピード」って表現はおかしくないか?
798:名前は開発中のものです。
08/10/03 02:36:20 yPJm/pNJ
どの環境でも同じスピードで動く、って意味だからいいんじゃない?
たとえばキャラクターがゲーム画面の端から端(仮に800dot)まで動くのに1秒掛かる仕様だとしたら
どの環境でも同じ1秒掛からなくちゃいけない。
この場合、800dot/秒を基準にすればScreenFlipでも問題ない。
リフレッシュレートが上がれば上がるほど滑らかに動いてるように見える。
ただ、この場合、時間を基準にしてるのでゲームがアクティブじゃなくてもその分動く。
>>795のようにリフレッシュレートによって移動量が変わっちゃうのはメインループの1ループ単位で移動量を計算してるからだと思う。
プログラミング的には全体を一つのインクリメントカウンタで統一するとわかりやすいけど、
ScreenFlipでウェイトする時間がリフレッシュレート依存だからマルチスレッドでカウンタを取るのがいいのかな?
あと、ScreenFlipしてるのに(垂直同期を待ってるのに)fps制限してる人を見かけるけど、
デメリット以外ないと思う。
799:名前は開発中のものです。
08/10/03 03:13:27 hF4QIbOk
でもまあ、単に「ゲームスピードの調整」って言われると
「処理能力や画面の更新に伴う、開発者が意図しないゲームスピードの上下」をなくすこと
……だとは連想しないんじゃないかな?
少なくとも自分なら、
名作「パックマン」は、製品化するときに移動速度を開発版の半分に下げた……という逸話とか
そっちを思い出す。
最初の>792に関しては、その後に「FOR文」や「環境依存」の一文があるから、ちゃんと伝わったっていうだけで。
>798
メリットはあるんじゃない?
最初からリフレッシュレートが一定という前提なら、開発は楽だと思う。
800:名前は開発中のものです。
08/10/03 03:18:21 PvtXyZlD
>800dot/秒を基準
移動量を時間で算出するってやり方自体は知ってるけど、
シューティング等のリアルタイムゲームにはまだ使った事ない。
1ループにかかった時間で移動量を計算して当たり判定とかしてると
リプレイで微妙に違う結果が出たりしそうな気がするけど
そういうのはどうしてるんだろ。
結果ごとリプレイデータとして記録すんのかな。
(俺はプレイヤーのキー入力のみを記録してリプレイさせてる)
ここまでくるとDXライブラリとは関係ない話になるな……。
801:名前は開発中のものです。
08/10/03 10:11:58 IDZqQXIh
>>732
遅レスだけど、ありがたく使わせていただきます。
ところでDXライブラリのWikiができたね。
公式の掲示板で紹介されてる。
802:名前は開発中のものです。
08/10/03 10:32:53 Kjf6RT0i
書籍へのリンクにアフィリエイト咬ませてるけど、
こういうの嫌いな人はこなくなっちゃうよ
803:名前は開発中のものです。
08/10/03 12:06:45 STmnJXOA
>>802
同感
804:名前は開発中のものです。
08/10/03 12:06:59 Oi7lrYWp
つまり、他人が作ったもの(DXライブラリ)をネタにして
他人に知識を収集(Wiki)させておいて、
自分だけが稼ごうとして
宣伝してまわってるわけですか。
805:802
08/10/03 18:01:41 Ot6EbYXZ
うは、誰か本家の掲示板にも書いたのね
アフィリはしてもいいと思ってるんだよね。ジャンルは違うけど俺もwikiにアフィリつけてたりするし
DXライブラリ使ってる人はパソコンとかネットに詳しいから、アフィリ嫌いの人多そうだな、と
806:名前は開発中のものです。
08/10/03 18:10:10 Ot6EbYXZ
モザイクを使ったトランジションを試したいがさっぱりやり方がわからん
画面上の各ピクセルの色を取得
↓
画面を4*4とか16*16とかのブロックに分ける
↓
取得した各ピクセルの色からブロックごとに塗る色を決める
↓
ブロックごとに色を塗る
みたいな感じなのか?
リファレンスにも載ってるけどGetPixelで620*480ピクセルの色を取得すると
処理に時間がかかるよー
807:名前は開発中のものです。
08/10/03 18:17:38 dkSGiujY
アフィくらい別にいいだろ、と思ってwiki開いてみたら、
一番目立つ場所に何カ所もベタベタ貼ってあって噴いた
儲ける気満々ですな
無料wiki借りた方がマシじゃねえか・・・
これで「皆様に役に立てば」はねーだろw
808:名前は開発中のものです。
08/10/03 18:27:00 VQ82xcw5
ブロックの処理を1ピクセルずつじゃなくて、2とか4ピクセルずつにすればどうだろ
2だと( for( x=0 ; x < BLOCK_SIZE ; x +=2 ) for( y=0 ; y < BLOCK_SIZE ; y += 2) )
処理量は1/4、4だと1/16だよ
809:名前は開発中のものです。
08/10/03 18:32:29 IDZqQXIh
>>806
リファレンスのGraphLockのサンプルを見るべし。
画面が入っているメモリを直接触れます。
810:名前は開発中のものです。
08/10/03 19:04:13 Ot6EbYXZ
>>808-809
なるほど、試してみます
ありがとうございます
811:名前は開発中のものです。
08/10/03 21:10:17 STmnJXOA
Wikiやるなら形だけでもいいからあの管理人様に是非開いてもらいたい。
後は有志が編集すればいいんだから。
812:名前は開発中のものです。
08/10/03 21:38:21 IDZqQXIh
wiki増えた。2つもどう使えとw
おそらく旧wikiは自サイトの1コンテンツという位置づけなんだろうけど。
なんか私の発言のせいでややこしくなったみたいで申し訳ないなぁ。
813:名前は開発中のものです。
08/10/03 21:47:22 dLMvhKrF
儲けようという魂胆が見えてヤだ、というよりは、
よほどの大手でも無い限りたいした収入があるわけでもなし、見やすさを選ぶべきでは?
……と思ったり。
単に目立っているだけの広告はクリックされない、という説も。
アフィで儲けようとするなら、まずは中身を充実させ、読みやすさを確保しないと誰もクリックしないのよ。
814:名前は開発中のものです。
08/10/04 00:15:42 zK8i70T1
そもそもWikiなんているんかいな。
815:名前は開発中のものです。
08/10/04 00:27:51 ijutKGs3
確かに
公式のリファレンスさえあれば、あとはロジックの問題だし
816:名前は開発中のものです。
08/10/04 05:03:32 qgQalxJc
どうせやるならDXライブラリの非公開関数の解説やってほしいですねぇ。
すごくいい機能の関数なのにリファレンスで紹介されていないもの山ほどありますし。
いちいちヘッダファイルみて一行しかない注釈で使い方想像しながら
試行錯誤してみるのはめんどうですよねぇ・・。
817:名前は開発中のものです。
08/10/04 05:28:37 SaRl2Wd2
>>814
確かに公式があれだけ充実して以上必要性薄いよね
818:名前は開発中のものです。
08/10/04 05:37:31 SaRl2Wd2
>>812
旧
URLリンク(www.dkut.flnet.org)
新
URLリンク(www.dkut.flnet.org)
なるほど。広告は減ってるね。
819:名前は開発中のものです。
08/10/04 07:30:52 IJgnY5No
非公開関数の解説はいいねー
あとはリファレンスに乗ってない引数の使い方解説とか
820:名前は開発中のものです。
08/10/04 08:47:37 aj2d0pp/
非公開関数はあくまで非公開(動作保証対象外)なんだから
可能な限り使うべきじゃないと俺は思うんだけどなー。
821:名前は開発中のものです。
08/10/04 12:51:38 DC8s5W3X
そうなんだ
バンバン使ってるおwwww
822:名前は開発中のものです。
08/10/04 16:12:07 qgQalxJc
でも使いたい人は使ってくれってことでヘッダファイルにわざわざキレイに
注釈付きでかいてあるんだろう?
DXライブラリの幅は非公開関数でグンと広がるし、
ドンドン使っていけばいいと思うけどなぁ。
製作者さんは忙しい人みたいだけど、ライブラリ製作自体が趣味みたいだし、
関数のバグの報告や提案なんかはしてもらって嬉しいはずだとオモフ
823:名前は開発中のものです。
08/10/04 17:43:56 PjoOiVzu
非公開関数を使わずに開発だなんて、もう考えられない。
例えるなら、Cでポインタを覚えた時の感覚?
824:名前は開発中のものです。
08/10/04 23:50:50 V+0uaSqw
非公開関数のwikiはいいね。
あくまで非公式非推奨だって認識で住み分ければ製作者さんや公式に迷惑掛からないし。
825:名前は開発中のものです。
08/10/05 05:49:53 /FNrxoPC
現状の問題は、「同じWikiが2つ存在すること」だよな
826:名前は開発中のものです。
08/10/05 08:52:24 vTxXjVFg
>>825
旧wikiはあの人が自分のサイトを移行したいみたいだから、
新wikiをみんなで自由に編集するものと考えれればいいんじゃなかろうか。
wikiのタイトルもちょっと違うし。
もっとも、そのうち思い直してwikiを1つに統合しちゃうんじゃないかと
心配だけど。
827:名前は開発中のものです。
08/10/05 10:02:30 BD4SzJl6
というかWikiに関しては管理人様が週明け以降に声明だしそうだし今は保留でいいんじゃない。
828:名前は開発中のものです。
08/10/05 13:31:06 UM3/B1nU
こんな混乱を作り出すなら無料wikiの方がマシだなー。
今のところあのアホ管理人は全く余計なことしかしてないね。
829:名前は開発中のものです。
08/10/05 17:42:14 6np9SFhP
>827と>828の指す「管理人」は、それぞれ別人なのな
830:名前は開発中のものです。
08/10/05 18:14:25 BD4SzJl6
確かに無料Wikiの方が個人情報の扱いとか永続性とか考えるといいかもしれない。
個人的にはやはりDXライブラリの管理人さんに開設だけはやってほしいな。
それならアフィ入っててもいいのに
831:名前は開発中のものです。
08/10/05 18:22:15 vTxXjVFg
>>829
公式掲示板のやり取りからして、
827の「管理人」はDXライブラリの作者さんのことかと。
832:名前は開発中のものです。
08/10/05 18:29:24 6np9SFhP
別の人がコンテンツを管理/運営するというのもそれなりにメリットはあるんだけどね。
もともとの目的は負荷分散らしいしさ。
他にも、DxLibの悪いところみたいな、公式じゃないからこそ書けるものもあるだろう。
DxLibに限らず、たまに初心者スレで
ゲームを作りたいのですが、
DxLibを使うのとDirectXを勉強するのとではどっちがいいでしょうか?
といった類の質問を見かけるけど、公式だと基本的にDxLibを薦めるような形になっちゃうっしょ?
質問者に対して適切な回答があったとしても、それが他の言語や他のライブラリだとしたら答えにくい。
833:829
08/10/05 18:30:13 6np9SFhP
>831
だからそう言ってるんじゃないか
834:名前は開発中のものです。
08/10/05 18:49:47 vRdfR60s
>830
>832
同意。この中で誰か無料Wikiに開設すればこの問題は無くなるんじゃないか?
835:名前は開発中のものです。
08/10/05 19:01:53 vTxXjVFg
>>833
ほんとだ。ごめんなさい。
「別人なのかな」に見えたorz
836:名前は開発中のものです。
08/10/05 19:25:00 6np9SFhP
>834
Wikiが3つになるのは致命傷過ぎる
837:名前は開発中のものです。
08/10/05 19:30:08 9v5G4j7i
そしたら俺が予備としてwiki作っとくわ
838:名前は開発中のものです。
08/10/05 19:31:48 vRdfR60s
>836
830の
>無料Wikiの方が個人情報の扱いとか永続性とか考えるといいかもしれない。
を読んでくれ。
今のWikiだと問題があるじゃないか。無料Wikiの方がよいんじゃないか?
無料WikiをDxLibの管理者さんに公認してもらうか、問題のWikiを無くしてもらうように頼むかすればよいんじゃないか?
839:名前は開発中のものです。
08/10/05 19:33:47 vRdfR60s
>837
ありがとう。作ったら公式掲示板やこのスレに書いておけば問題は無くなるね。
840:名前は開発中のものです。
08/10/05 19:41:46 G8wiKs9F
新しくwiki作っておいたお(^ω^)おれいい子?
841:名前は開発中のものです。
08/10/05 19:46:59 6np9SFhP
なんかまた進展があったようだ……。
842:名前は開発中のものです。
08/10/05 20:22:36 ayKOs7hk
wktk
843:名前は開発中のものです。
08/10/05 20:57:18 BD4SzJl6
ハイパーオチンチンタイムはじまるよ~!
844:名前は開発中のものです。
08/10/05 21:25:36 G8wiKs9F
ハイパーωωオチンチンタイムー!!はーじーまーるーよー!!!!
845:名前は開発中のものです。
08/10/05 21:29:48 G8wiKs9F
いえいえ、だからリカちゃん人形をつかうといいですよ
846:名前は開発中のものです。
08/10/05 21:30:30 G8wiKs9F
誤爆
847:名前は開発中のものです。
08/10/05 23:02:55 9v5G4j7i
>>839
いや、さらにwikiが増えて4つになるっていうネタだったんだが…。ごめん…。
848:名前は開発中のものです。
08/10/05 23:10:31 vRdfR60s
>>847
なんだ。ネタだったか。俺も本気にしてしまった。ごめん。
作らないなら俺が作っておくが…。
忙しいから完璧に管理できるとは言いがたいぞ。
ま、そもそも、今まで有志でWikiが出来なかったんだから必要かと言われれば疑問が残るんだけどね。
849:名前は開発中のものです。
08/10/06 07:37:19 UfzFDaAZ
男 「お父さん!娘さんを僕にください!」
父 「チミィ…チミのような高卒に娘はやらん!」
男 「んなっ!!?」
女 「ちょっと!お父さん!!」
猫 「んなー」
男 「大切にします!!僕には確かに…学歴も…彼女に指輪一つ買ってやれないふがいない男です!」
女 「要らない!そんなものいらない!!私には…貴方さえ居てくれたら…」
父 「無理だ!君は娘を幸せにすることなど出来ん!!!!帰ってくれたまえ!!」
_ , ― 、
,-' `  ̄ヽ_
,' ヽ
( )
( ノ'ー'ー'ー'ー'ー'ー'ヽ )
( ノ (●) (●) ( )
`ー' @ (__人__) @ ( ) 母「オチンチンタイム始まるよーーーーーー!!!!!」
ヽ ` ⌒´ /`ー'
/ \
男 「いやっほおおおおおおおおおおおおお!!!!」
娘 「オチンチンタイムきたーーーーー!!!!!!」
父 「ぶるわあああ!!!!チンチン来たーーーー!!!!」
猫 「ひょおおおお!!!!オチンチンタイムだあああああ!!!!」
850:名前は開発中のものです。
08/10/06 11:46:56 5Px6VmFZ
みんなwikiが好きだなぁw
851:名前は開発中のものです。
08/10/06 13:31:34 EJnUz/Vz
実行したらウィンドウは表示されずにプロセスだけ動いてやがる
なんぞこれ
852:名前は開発中のものです。
08/10/06 14:17:45 Ykr4CVZN
Windowsアプリにしてないとか?
853:名前は開発中のものです。
08/10/06 15:04:03 EJnUz/Vz
事故解決
DxLib_Initの前にLoadGraphを呼んでたのが原因ぽい
854:名前は開発中のものです。
08/10/08 17:10:47 3k3C1foI
DXライブラリで効果音を鳴らすと
効果音がなってる間、BGMの音量が小さくなってしまうのですが気のせいでしょか
直す方法あったら教えて下さい
ちなみにPlayMusicでBGM、PlaySoundMemで効果音を鳴らしてます
855:名前は開発中のものです。
08/10/08 19:46:00 yF6YrIzI
きのせいでしょう
856:名前は開発中のものです。
08/10/09 07:39:57 jpAXTtNp
うん
857:名前は開発中のものです。
08/10/09 09:33:31 +hf6fEkc
>>854
昔の話だが
同じ効果音を40個位いっぺんに(同フレーム内で)
鳴らした時にそんな感じになったことがあるようなきがするな。
そこら辺を確認してみてくれ。
858:名前は開発中のものです。
08/10/09 10:10:57 Ub9/sQw8
40個も同時に鳴らさないように制御するべきでは・・。
859:名前は開発中のものです。
08/10/09 10:15:11 Ub9/sQw8
FFの内部のデータ見てみたことあるけど
同時にならさないといけない場合がある効果音は全部あらかじめ同時にならした素材として入ってた。
効果音1と効果音2の同時
効果音1と効果音3の同時
効果音1と効果音4の同時
効果音1と効果音5の同時
みたいに全ての組み合わせの素材があってビックリした。
最初異様にファイル数多いなと思ってたけど確認して納得したw
860:名前は開発中のものです。
08/10/09 10:48:58 GxPPxNWZ
音源の貧弱さをメモリでカバーしたわけか。
861:名前は開発中のものです。
08/10/09 13:44:04 W6kktJvq
>>859
興味深い。他にあればもっと聞かせてくれ
862:名前は開発中のものです。
08/10/09 18:42:08 Ub9/sQw8
859です。
>>861
他にもと言われても何を言えばいいんだw
同じ話だけど
「やぁ!」って声の効果音と「えぃ!」って声の効果音、ほぼ同時に鳴らすときの為に
前者が若干早い時はくっついて
「やえぃ!」
後者が若干早い時はくっついて
「えやぁ!」
って感じで同じ組み合わせでも順番まで考えてデータ作ってあったよ。
多分完全に同時だと聞こえなくなるからあえて全部ちょっとずらしてあるんだと思う。
タイミング命系のアクションゲームとかじゃなかったら
FFみたいなゲームなら掛け声とか0.1秒位ずらしてもなんちゅーことないしね。
いやはや有名なゲームはよく考えてありますね。
863:名前は開発中のものです。
08/10/09 18:56:02 qUBF8r6z
それってFFのどれ。
864:名前は開発中のものです。
08/10/09 22:18:37 UCe7+/VV
そういやドラクエ4のデスピサロ戦では
最終形態移行時の「ゴゴゴゴゴ」のためにBGMの和音数が一時的に減らされてたっけな
ごめん スレチだね
865:名前は開発中のものです。
08/10/09 22:42:46 W6kktJvq
>>862
なるほどーおもしろいねそういう話。
>>864
いいぞもっとやれ
866:名前は開発中のものです。
08/10/11 19:20:47 WCrwwd6s
右端と一番下に1ドットの隙間ができない?
すごく気になるんだけど、どうにかできないかな
867:名前は開発中のものです。
08/10/12 02:36:36 0UjA6dun
>866
それだけ言われても分からん。
エスパーすると、ソフトウェア描画と比較してみ。
868:名前は開発中のものです。
08/10/12 02:55:39 SoL04hdM
>>863
初期~中期のファイナルファンタジーは声が出なかったから、
初代ファイナルファイトだと予想してみるw
869:名前は開発中のものです。
08/10/12 10:14:02 tEG66pVK
掛け声だけしゃべるならFF11じゃねーの
870:名前は開発中のものです。
08/10/12 19:01:33 OAiuWa1a
>>866
エスパーすると
例えば500×500のウインドウで
for(i=0;i<499;i++){
for(j=0;j<499;j++){
座標(i,j)色を変える。
}
}
とすれば、右端と一番下に1ドットの隙間ができるが
for(i=0;i<=499;i++){
for(j=0;j<=499;j++){
座標(i,j)色を変える。
}
}
とすれば、隙間はできない。
871:名前は開発中のものです。
08/10/12 19:26:44 U28t+20v
ああ、DXライブラリってそこらへん、余計な事してるんだよな……。
いつも迷うぜ。
872:866
08/10/12 20:17:40 vIpSBElN
#define WX 480
#define WY 480
ChangeWindowMode(true);
SetGraphMode(WX, WY, 16);
DrawBox(0, 0, WX+1, WY+1, GetColor(255,0,0), true);
こうした時に1ドット隙間が出来るんだ
+1のところを+100に変えても隙間ができる
こんな風に URLリンク(www1.axfc.net)
>>867
ソフトウェア描画って?
>>870
それが問題じゃないみたい
873:866
08/10/12 20:19:06 vIpSBElN
ごめん
URLミスった
URLリンク(www1.axfc.net)
874:名前は開発中のものです。
08/10/12 21:11:31 U28t+20v
赤い部分を切り抜いてみたところ480*480だった。
えーとつまりどういうことだ。
(0,0,480,480)で描画したら0~479の480ピクセル分が塗られるはず。
つまり
(0,0,480+1,480+1)で描画したら0~480の481ピクセル分が塗られるはず。
しかしSetGraphでは(480,480)となってるから、
画面上は0~479の480ピクセル分しかないはず。
つまり、赤く塗られている部分は正しいという事になる。
隙間が出来てるのはSetGraphで(480,480)にしたはずなのに
なぜか1ピクセル分余分にできてる。
……って事かな??
875:名前は開発中のものです。
08/10/12 21:41:00 gLc2eLS+
>>870
つまりこれでもいいんだよね?
for(i=0;i<500;i++){
for(j=0;j<500;j++){
座標(i,j)色を変える。
}
}
876:名前は開発中のものです。
08/10/12 23:04:47 vIpSBElN
>>874
そうみたいですね
しかもその余分にできたスペースには描画ができないんです
皆さんはこうならないんですか?
877:名前は開発中のものです。
08/10/13 00:01:00 6zGpRl/9
いや、てかそもそもそれ隙間じゃなくて枠じゃないか?
878:名前は開発中のものです。
08/10/13 08:22:34 N+ktUREE
>872
>ソフトウェア描画
SetUse3DFlag がture/falseで違いはあるか?ってこと
879:名前は開発中のものです。
08/10/13 08:23:20 N+ktUREE
tureじゃねぇ、true
880:名前は開発中のものです。
08/10/13 15:33:09 +BgxII2m
>>877
今API直打ちで画面全体塗りつぶしをしてみたんだけど隙間はできなかった
>>878
違いはなかった
クライアントエリアの問題かと思ってSetDrawAreaも試してみたけど効果なし
ダブルバッファリングも関係なかった
みんなもこうなってるのか、それとも自分だけなのかが知りたい
881:877
08/10/13 15:43:26 NvE7YaYt
>>880
872で見せてもらった画像を、拡大してよくみると、
上側と左側には薄い灰色と濃い灰色の2ピクセル分の枠がある。
が、右側と下側にはその色はなく、
代わりにうっすーい灰色と白色の2ピクセル分がある。
その部分を隙間って言ってるんだよね?
枠の色が薄すぎるだけの話じゃないのかな?
882:名前は開発中のものです。
08/10/13 16:32:41 +BgxII2m
>>881
本当だ
拡大して比較してみるとDXライブラリのウィンドウは枠ありのウィンドウだった
なるほど、これ枠だったのか・・・
ウインドウスタイルって変更できないのかな
比較の画像一応貼っとく
URLリンク(www1.axfc.net)
883:名前は開発中のものです。
08/10/13 16:37:46 1LlTRytx
404じゃねえかアホ
884:名前は開発中のものです。
08/10/13 16:42:36 +BgxII2m
自分は見えるんだけどな;
専ブラなら普通のブラウザで直接飛んでみてくれないか
885:877
08/10/13 16:49:49 NvE7YaYt
873は俺は見えないが872なら見えた。
同様に882は俺にも見えないが
URLリンク(www1.axfc.net)
これなら俺も見えるw
886:名前は開発中のものです。
08/10/13 17:19:34 1LlTRytx
クソみてえなアップローダ使うなよ
887:名前は開発中のものです。
08/10/13 20:36:22 8/f9V+rI
っていうか、この画像持って公式で聞いて来いw
888:名前は開発中のものです。
08/10/13 21:25:16 +BgxII2m
そうですね
公式で聞いてみます
ありがとうございました
889:名前は開発中のものです。
08/10/13 21:57:36 Kshw6a23
確かにそうなるな。
クラシックウィンドウ使ってるから気にならなかった。
890:866
08/10/15 17:55:03 Yimr3vsO
解決したので報告します
SetWindowLong(GetMainWindowHandle(), GWL_EXSTYLE, WS_EX_WINDOWEDGE);
SetWindowPos(GetMainWindowHandle(), NULL, NULL, NULL, NULL, NULL, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
891:名前は開発中のものです。
08/10/15 23:59:28 Emw9vuwB
質問。
プログラムの素人レベルがシューティングを作るのにどれぐらいかかる?
・自機がジョイパッドで動く
・ショットが出る
・敵が出てきて動く(sin波ぐらいは実装したい)
・敵がショットを出す(2wayとか3wayとか全方位とか自機狙いのだけ、凝ったのなんてまだ技術的にムリだし)
・ザコが一定でた後にボス戦
・自分にあたったら残機が減って、0になったら最初から
・敵に当たったらスコアが増えて、敵が消える
・ボスを倒したらゲームクリア
・1面のみ
本気だせば1ヶ月ぐらいで作れるかな?
リソースはドットだけなら自分で書くつもり、音楽はムリ。
892:名前は開発中のものです。
08/10/16 00:35:15 a+E7tl+p
素人レベルってのがどれくらいかによる。
893:名前は開発中のものです。
08/10/16 00:43:12 wEpmfpuy
プログラム全く分かりません、でなければいけると思う。
894:名前は開発中のものです。
08/10/16 00:44:07 L3LJ4NiJ
>>892
上手く言えないけど今出来る事は
関数を作る(void なんとか(){ の奴)
cppを分割してexternで呼び出してmainで実行
三角関数は一応出来る
何も見ないで自力で出来るのは、画像を→↓←↑と四角く永遠と移動させるぐらい
今やっててジョイパッドの移動ぐらいなら楽に実装できた。
でも当たり判定とか弾を出すコードのイメージがあまりつかめないって感じ。
895:名前は開発中のものです。
08/10/16 00:53:06 IdgqtOe/
C++でexternて使ったこと無いかも
896:名前は開発中のものです。
08/10/16 00:55:21 wWxMuhcD
>>894
ちょっと待ったー。
外部ファイルにある関数をexternで呼び出す必要はないぞ。
ヘッダファイルにプロトタイプ宣言する方法を勉強した方がいい。(ロベールとかで。)
そっちの方がスマートに書けるし、それが定番。
897:名前は開発中のものです。
08/10/16 01:16:18 L3LJ4NiJ
>>896
ん、ごめんまだ素人レベルだから言ってる事の意味が微妙に分からないんだけど
つまり
何々.hのファイルにプロトタイプ宣言って言うのをすると、extern void 何々で呼び出す必要がなくなるって事?
898:名前は開発中のものです。
08/10/16 01:27:19 wWxMuhcD
>>897
んー、実はexternの効果忘れた。>>895が言うように、使う場面が無いんだよね。
○○.hにプロトタイプ宣言しておくと、その#include "○○.h"とするだけで、プロトタイプ宣言された関数が使えるようになる。
通常、一つにファイルに対して、一つのヘッダを作るよ。
例:
hogehoge.cpp → hogehoge.h
piyopiyo.cpp → piyopiyo.h
人によってはヘッダの拡張子がhppになったりする。(むしろ、C++のヘッダならこっちが主流かもしれないけれど)
確かにプロトタイプ宣言さえあれば、extern使う必要は無くなる。