[過去ログ]
1人でゲームが作れるように修行します。 (984レス)
1人でゲームが作れるように修行します。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
573: ◆Fp.xSEIREI [sage] 2009/02/24(火) 15:37:15 ID:5+X9BMJV >>572 うおおおおおおおおおおおお!!!?コンパイル通ったwwwwwwwwwきちんと動いたSUGEEEEEEEEEEEEEEEEEEEEEE できたうっひょおおおおおおおおおおおおおおおおおぴょおおおおおおおおおおお 某関数がシンプルになったぜええええええええええええええええええええええYEAAAAAAAAAAAAAAAA ありがとう、ありがとうズゴック先生(;∀;) てか->とか * とか考えなくても &つけりゃよかったのねorz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/573
574: ◆Fp.xSEIREI [sage] 2009/02/24(火) 15:45:04 ID:5+X9BMJV http://www.dotup.org/uploda/www.dotup.org2320.jpg ここに使われますた ポインタって便利だね http://peace.5ch.net/test/read.cgi/gamedev/1006284805/574
575: SGGK ◆6pZCoAtaxk [sage] 2009/02/24(火) 23:16:12 ID:AWriAbTE >>564-565 チェック厳しいですが、なんとかVC++2008EEでやってみようと思います。 ソース上書きしてしまって直前の内容には戻れなくなったしw >>566-574 ポインタっていつ見てもややこしいですね〜。勉強してる時はなんとなく分かった感じになっても しばらくして自分で書こうとするとまた分からなくなってしまってたりする・・・w 今日もコンパイラの使い方で足踏み状態。 既にあるソースをコンパイルに含める方法はわかったので、もう前のバージョンに上書きされる事は無くなった。 プロジェクトファイルのフォルダにソースをコピーしてから、「新しい項目の追加」の▼押して「既存項目の追加」で出来る。 処理がどこで止まっているかわからないので、画面右下の「呼び出し履歴」を表示させたいが、 デバッグでプログラムが止まった時に出るエラー画面でデバッグの「中止」を押すと、「呼び出し履歴」が消えてしまう。 これはエラー画面でデバッグの「再試行」を押し、次に出る画面で「中断」を押せば、「呼び出し履歴」が残る。 履歴は上からじゃなく下から上に向かっている事に気付くのに時間掛かった。 とりあえず、ゴールのデータを初期化する所で止まっているらしい。 ちなみにエラー画面の英文は、イテレータがどうのこうのという感じの内容でよく分からなかったけど、 たしかにそういうのを使っているので、その辺が原因かも?というところまで来てマス。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/575
576: 436 [sage] 2009/02/25(水) 01:06:52 ID:ueY3gPVj マウスとホイールの挙動も大体出来て、今はコンフィグ画面を組み立て中 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/576
577: SGGK ◆6pZCoAtaxk [sage] 2009/02/25(水) 23:02:59 ID:yn9MVXN6 バグ変化無し・・・。 一行ずつ実行させようとすると勝手にWinMain関数から始まり、内部の関数を呼ぶところで 「現在の場所のソースコードを記述できません」と表示され先に進まず。 それならばと思い、昨日問題があると思ったゴール関係の処理関数内部一行目にブレークポイントを設定し、デバッグ開始し、 ブレークポイントで止まったところからF11キーを押して一行ずつ実行させてみたら いつの間にかエディタ画面内に「list」というタブが付いた画面が表示され、 その画面中身は見覚えのない理解不能なソースが書かれていて、何故か一行実行がこの画面に移ってしまっている・・・orz ちなみにエラー文は、「Experssion:list iterator not dereferencable」 一応検索してみたけど、自分に分かりそうなのは見つからず・・・。 気持ちを切り替えた方がいいと思い、今日はここで終了。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/577
578: 名前は開発中のものです。 [sage] 2009/02/25(水) 23:18:59 ID:M83kTzla リリースモードでやって、逆アセの画面みてるとかw MOV AX,BXとかそういうんあった? http://peace.5ch.net/test/read.cgi/gamedev/1006284805/578
579: 436 [sage] 2009/02/26(木) 01:18:57 ID:F2EPEs+N 引き続きコンフィグ画面を〜 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/579
580: 名前は開発中のものです。 [sage] 2009/02/26(木) 04:04:36 ID:qHLjortN >>577 ひょっとしてiteratorを++とかやってたり http://peace.5ch.net/test/read.cgi/gamedev/1006284805/580
581: 名前は開発中のものです。 [sage] 2009/02/26(木) 04:13:26 ID:qHLjortN いや、ちがうなんだっけ えーとstd::list.iterator itr とかしたとき何かができなかったような… http://peace.5ch.net/test/read.cgi/gamedev/1006284805/581
582: ◆Fp.xSEIREI [sage] 2009/02/26(木) 10:02:19 ID:0TSvd06Q 二次元上での物体の自由落下についていろいろ(・∀・) 既存の関数を利用してそれっぽいのなら作れそう http://peace.5ch.net/test/read.cgi/gamedev/1006284805/582
583: ◆Fp.xSEIREI [sage] 2009/02/26(木) 11:43:11 ID:EbeM2R2x 矩形の4点座標を計算する関数に便利機能をつけたら引数14個のアホみたいな関数になってしまった http://peace.5ch.net/test/read.cgi/gamedev/1006284805/583
584: SGGK ◆6pZCoAtaxk [sage] 2009/02/26(木) 22:12:21 ID:1SuK1bkP >>578 確認したところデバッグモードでした。listというタブと逆アセンブルというタブの付いたウィンドウが出てきて デバッグを中断すると見れます。MOVとかは逆アセンブルの方に出ていて listのウィンドウは、 #if _HAS_ITERATOR_DEBUGGING if (this->_Mycont == 0 || _Ptr == 0 || _Ptr == ((_Myt *)this->_Mycont)->_Myhead) { _DEBUG_ERROR("list iterator not dereferencable"); _SCL_SECURE_TRAITS_OUT_OF_RANGE; } #else ・・・のような感じで意味不明な文が延々と1300行近く出力されます・・・。 >>579 早くバグを取って自分も先に進みたいです。w >>580、581 iteratorをあまり理解しないうちにプログラムを書いていたら、 やっぱりそういうところがバグになって現れてしまうみたいです。 iteratorはプログラム内のあちこちで使ってるので大変ですが、 とりあえず本当にすべてのiteratorを使っているところでバグになるのか 切り分けをしてみようと考えてます。 >>582,583 自分もいつか選手にジャンプ&自由落下させてみたいけれど、バグが・・・w http://peace.5ch.net/test/read.cgi/gamedev/1006284805/584
585: 436 [sage] 2009/02/27(金) 00:36:41 ID:JFxOaYgu まだまだコンフィグ画面 項目をオンマウスでアクティブ、から、オンマウス+クリックでアクティブ、に変更 たったそれだけの変更でもあちこち書き換えなきゃならない羽目に 仕様は予め細部まで熟考しとく事!>自分 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/585
586: ◆Fp.xSEIREI [sage] 2009/02/27(金) 02:03:40 ID:gp2A0UAm >>584 俺はそんなことなったこと無いなぁ…難しいことしてないからかもしれないけど レーザーの幅と長さに対する倍率で当たり判定のサイズを指定できるようにしてみた 長さ0.9倍、幅0.5倍を当たり判定に指定するとこの赤い四角が当たり判定に(・∀・)一枚目:最大時 二枚目:消滅時 きちんとレーザーの状態に合わせて自動で当たり判定のサイズも変わる便利仕様 http://www.dotup.org/uploda/www.dotup.org0283.jpg http://peace.5ch.net/test/read.cgi/gamedev/1006284805/586
587: SGGK ◆6pZCoAtaxk [sage] 2009/02/27(金) 23:24:49 ID:U/xgHr9a >>585 なんだか自分も仕様について考えてみたくなってきました。w >525の頃に言っていた「やる事リスト」の前に仕様決めた方がいいのかも・・・。 >>586 製作中は当たり判定表示した方が便利そうですね〜。(引数が15個に増えてる〜!) 自分もバグ取れたらちょっと考えてみたいです。 バグはまだ取れないけど、iteratorを使っている関数(選手、ボール、ゴールの初期化、 選手、ボール、ゴールの移動、当たり判定)の内、コンパイラで停止した関数がゴール関係だったので、 とりあえずゴールの初期化と移動の関数を呼び出す行に // をつけて注釈文にしたら、画面が表示された! なので、ゴール関係関数と他の関数でのiteratorの使い方に違いが無いか見比べてみるつもり。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/587
588: 436 [sage] 2009/02/28(土) 01:22:18 ID:BN0uPU4y そう、コンフィグです、今日も >>586 複雑そう・・・自分には無理だ; >>587 おぉ復活しつつあるようで、ひとまずホッとしました http://peace.5ch.net/test/read.cgi/gamedev/1006284805/588
589: SGGK ◆6pZCoAtaxk [sage] 2009/02/28(土) 23:41:24 ID:6cM45uPX なんとかコンパイルできるようになりました。 初期化関数については、元々上手くいってる選手やボールの初期化関数ではiteratorを使ってませんでした。 ゴール関係初期化関数だけiteratorを何故か使ってしまっていてそれがプログラム実行中のエラーになっていたらしい。 結局>577のエラーメッセージの意味は分からなかったので、先がちょっと不安な感じ。 何故か移動用関数内では、(*it). で要素にアクセスできているので不思議〜。 これでやっと>539のバグ取りに戻れる・・・orz (プログラム実行時エラーになる書き方、詳細は略) init(){ goallist.clear(); //GoalData型(ゴール関係のデータが入ってるクラス)のリストgoallistの要素を空にする。 list<GoalData>::iterator it; //GoalData型リストgoallistのどれかを指定するためのiteratorを設定 it=goaldata.begin; //iteratorをGoalData型リストgoallistの先頭を指すようにする (データの数だけループ){ (*it).x1=10; //GoalData型の要素に初期データを代入する (*it).x2=50; ++it; //iteratorを1つ上げて次のGoalData型の要素を指すようにする。 } (プログラムが無事実行できた書き方、詳細は略) init(){ GoalData gd; //GoalData 型データ1個分を仮保存するためのローカル変数gdを定義 (データの数だけループ){ gd.x1=10; //GoalData型の要素に初期データを代入する gd.x2=50; goallist.push_back(gd); //gdに仮保存したgoallistの要素一個分のデータをまとめてgoallistの最後尾の要素に登録 } http://peace.5ch.net/test/read.cgi/gamedev/1006284805/589
590: 436 [sage] 2009/03/01(日) 02:02:50 ID:fK/bT0En >>589 お〜おめでとうございます 自分は停滞気味・・・ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/590
591: SGGK ◆6pZCoAtaxk [sage] 2009/03/01(日) 22:35:05 ID:4AGEbIXn >>590 ありがとうございます〜。 今日はほとんど進みませんでした。orz この数日のバグ取りの反動かもw http://peace.5ch.net/test/read.cgi/gamedev/1006284805/591
592: 436 [sage] 2009/03/02(月) 01:26:59 ID:yUGCkh1E マウスオン+クリックで選択できる様に変更 もう3月!今年も残り10ヶ月を切ったぞーいそげいそげ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/592
593: ◆Fp.xSEIREI [sage] 2009/03/02(月) 17:23:38 ID:O2JzSRpM list<GoalData>::iterator it; こ…これはいったい何をしているんだ…俺にはわからない…/(^o^)\ ゲームシステムについていろいろ(・∀・) 面白くするにはどうすればいいか、を考えてみる クソゲーを観察してみるのも勉強になるみたいね http://peace.5ch.net/test/read.cgi/gamedev/1006284805/593
594: SGGK ◆6pZCoAtaxk [sage] 2009/03/02(月) 23:46:06 ID:MvrVI/rB >>592 そういえばもう3月ですね〜、時間の流れが速すぎる〜。 >>593 C++で、配列みたいに複数のデータを管理できるコンテナクラスというのが標準でいろいろ用意されていて、 そのひとつにlistクラスというのがあり、そのlistクラスでGoalData型(←これは自分でプログラムの中で宣言して作った型)のデータを複数管理したいので、 どのGoalData型かを指し示す為にイテレータit(←配列変数の要素にアクセスするための添え字みたいなやつ)というものを宣言しますみたいな感じで自分は理解していますが、 自信はあまり無いです・・・orz ボール動かないバグ取れないですね〜。 if(ボール蹴る時のキーが押されてる)&&(ボールと選手の当たり判定用フラグ変数==true)の条件部分が真になっていない感じ。 ボールと選手の当たり判定用フラグ変数が、当たり判定関数で当たり=1と成っていても if文に来る直前でprintfDX()使って表示させて確認してみると何故か0になってる。 プログラム中では同じ変数名で書いていても中身は違うとなると 変数のスコープ(有効範囲みたいなやつ?)をよく分かっていなくてそれが原因なのかもしれないというのが思いついたけど それを確かめる方法が無い・・・orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/594
595: 名前は開発中のものです。 [sage] 2009/03/03(火) 00:53:43 ID:j/EdIaTK ひょっとして「押されている」と思ってるのが「押されたとき」だったり 【ハウツー】最初にマスターしたいVisual Studioのデバッグ機能 - 基本編 (1) ブレークポイント | エンタープライズ | マイコミジャーナル ttp://journal.mycom.co.jp/articles/2008/08/18/debug/index.html http://peace.5ch.net/test/read.cgi/gamedev/1006284805/595
596: 436 [sage] 2009/03/03(火) 01:13:26 ID:B6hdHZko ウィンドウモード変更・表示倍率変更・フレームレート変更・FPS表示切替を選択できる様になりました >>593 面白く・・・最大の問題すなぁ・・・ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/596
597: ◆Fp.xSEIREI [sage] 2009/03/03(火) 21:05:59 ID:9wM7nouk http://www.dotup.org/uploda/www.dotup.org4085.jpg 回転行列による矩形と点の当たり判定実装(・∀・) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/597
598: SGGK ◆6pZCoAtaxk [sage] 2009/03/03(火) 22:56:23 ID:vs8eMq8g >>595 ありがとうございます〜。デバッグは機能が色々ある様なので少しずつ覚えていこうと思います。 キー入力の状態については、実は自分はまだよく理解できぬままプログラムやってます・・・orz >>596 かなり順調にいっててうらやましいですー。 >>597 回転行列を当たり判定に使う・・・、む・・・難しそうな世界。 ボール動かないバグの原因なんとなく見えた。 フラグ用変数のスコープが違ってて名前は同じでもアドレスが異なっている別々の変数を それぞれの関数内で操作してるのではないかと思ったけど、どうもそうではなさそう。 ボールが選手に当たっている状態を表すフラグの立て方に原因があったと思われる。 これを説明するには一週間分の書き込みスペースを使ってしまいそうな感じ。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/598
599: 436 [sage] 2009/03/04(水) 01:23:23 ID:+kKOKlkp フルスクリーンから復帰すると古い方の拡大率になってたのに気付いて修正 マウスで窓枠ドラッグした時の拡大率を取得出来る様にした 今になってもっとシンプルなインタフェイスを思いつく・・・あ〜全体的に作り直したい >>595 勉強になります >>598 一つの結果が出るまでのスパンというか下ごしらえが段々長く大変になってきました; http://peace.5ch.net/test/read.cgi/gamedev/1006284805/599
600: せいれい [sage] 2009/03/04(水) 21:55:43 ID:1TDttkKc もうちょっと調整したらゲームシステム部分の作成に移れそう そろそろ背景やファイル入出力もいじらねば(・∀・) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/600
601: SGGK ◆6pZCoAtaxk [sage] 2009/03/04(水) 22:20:50 ID:M0lqZAHx こちらは、まだまだバグ取り中〜。 昨日言っていたバグの原因は、プログラムをかなり略して書くと、 メインループ(){ 選手.move();//選手の移動処理 ボール.move();//ボールの移動処理 ゴール.move();//ゴールの移動?処理 当たり判定();//それぞれのオブジェクトの当たり判定をここでまとめて行う } ・・・となっていて、当たり判定関数の中では、 while(最後の選手まで繰り返す){ if( 選手とボールが当たっているか? ){ a->atari=true;// 選手のメンバ変数atariのフラグをONする。 b->atari=true;// ボールのメンバ変数atariのフラグをONする。 } else{ a->atari=false;// 選手のメンバ変数atariのフラグをOFFする。 b->atari=false;// ボールのメンバ変数atariのフラグをOFFする。 } ボールを蹴る処理は、メインループの「ボール.move();//ボールの移動処理」の中にあって、蹴れる条件は、 (Xキーが押されている)&&(ボールのatariフラグがONである) なのに対し、今のプログラムでは、自分がコントロールできるのは一番目の選手だけなので、 選手をボールに接触させてatariフラグをONにしても当たり判定関数のwhile内で最後の選手まで 判定するので、最後の選手はボールに触れてないから、b->atari=falseになって、ボールのatariフラグは結局最後にはOFFにされてしまう。 その状態でメインループのボール移動関数に戻るので、いつまでたってもボールを蹴れる条件が成立しない・・・orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/601
602: 名前は開発中のものです。 [sage] 2009/03/04(水) 22:40:39 ID:/ZV4wLD2 何故else条件でボールのフラグを落とすのか、40文字以内で説明せよ(5点) フラグ落とすのは選手だけでいいと思うんだが。そもそもボールのフラグもいらない。 ボール持ってる選手しか蹴る(移動の初期値を与える)ことができないのなら ボール支配できたときにボール蹴る関数にでも飛ばせばいいと思うが、どうか。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/602
603: 436 [sage] 2009/03/05(木) 00:50:31 ID:LR5dYdvr ああああせりました; 窓枠ドラッグ時の拡大率を取得する為SetAlwaysRunFlag();をON-OFF多用してたら なぜかSetAlwaysRunFlag();をOFFにするとデバッグに行く途中で止まり、 ON状態の一文を入れないと動かなくなり、とうとうそれを入れても入れなくても動かなくなり・・・ VCリインストールしたら今度はヘッダファイルを読まなくなり(パスは渡してるのに)、 レジストリからVC関連を全消去してリインストール、さっきようやくまともに動いたっぽい SetAlwaysRunFlag();を乱用乱発してたのが悪かったのかなぁ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/603
604: SGGK ◆6pZCoAtaxk [sage] 2009/03/05(木) 23:27:28 ID:hIYt1MGi >>602 else条件でボールのフラグを落とすのは、(Xキー押し)&&(ボール接触フラグON)がボールを蹴れる条件なので、 選手がボールから離れている(else)時には、ボール接触フラグをOFFにする必要があった為。 今のプログラムでは、ボールに接触してるので蹴ろうとしても、ボールに接触していない選手がいたら、elseが成立してしまい ボールの接触フラグをOFFされてしまうという問題がありました・・・。 確かに今思うとボールのフラグは必要無かった様です。 選手全てにボールに接触してるかどうかを表すフラグを持たせておいたのは、同時に複数の選手がボールを蹴る様な場合を考えてました。 同時蹴りの時にボールに接触してる複数の選手から一人を選ぶ仕組みが必要かと思いながら実装の案はまだ何もなし・・・。 バグの修正はもう少し検討中〜、今のボール移動関数は、選手のデータを引数に持っていないので、選手のフラグ変数を使えないのデス・・・orz >>603 レジストリとか全然わからないので、自分もその関数には注意しておきます〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/604
605: 名前は開発中のものです。 [sage] 2009/03/06(金) 00:01:32 ID:zNsEmWk0 >同時に複数の選手がボールを蹴る様な場合を考えてました。 それは「蹴った」時の処理であって、 接触したかどうか判定する時点では関係ないんじゃないかな。 同時蹴りの優先度は確かに悩むところだね。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/605
606: 436 [sage] 2009/03/06(金) 00:30:05 ID:SvQUccHR 拡大率取得する関数がすでにあったorz 拡大率変えるとSetMousePointが元のウィンドウの大きさ基準で動く為、 元の解像度を超える座標を指定出来ないorz ので、新たに思い付いたインタフェース案はモロにその影響を受ける為、 すっぱりあきらめられたw 今は構造をもっとスッキリ出来ないかイジクリ中 >>604 今後は念の為C:とソースのバックアップを取る様にしました; http://peace.5ch.net/test/read.cgi/gamedev/1006284805/606
607: SGGK ◆6pZCoAtaxk [sage] 2009/03/06(金) 23:39:57 ID:Fo+vpfkW >それは「蹴った」時の処理であって、 >接触したかどうか判定する時点では関係ないんじゃないかな。 た・・・確かにそうです。 メインループ内での処理を移動、当たり判定に分けておいて、当たり判定内で いろいろな組み合わせの当たり判定をあらかじめ行い、その結果を各種フラグ変数に記憶させておいて 移動関数でそのフラグ変数を参照するようにすれば、移動関数から当たり判定関数を呼ばなくても済み、 プログラムが整理できそうな気がしたけど、なかなか上手く行っていないです・・・orz >>606 そういえば自分もバックアップ全然取っていないです。もしもハードディスクがクラッシュしたら・・・。(汗;) やっと>539のバグがなんとか取れました。(もっと日数かかるかと思ってた) このスレでやってたおかげでVC++2008EEに移れた影響も大きかった。 ボール移動関数に選手のオブジェクトのアドレスを渡して、選手のメンバ変数の中から ボールとの当たり判定用フラグにアクセスして、(Xキー押し)&&(ボールとの当たり判定用フラグON)が真なら ボール移動処理に移る様にするとOK! http://peace.5ch.net/test/read.cgi/gamedev/1006284805/607
608: 436 [sage] 2009/03/07(土) 02:38:02 ID:ryJcMnzA フォントを選択させるのが面倒で同梱しようと思い立つも、ライセンスがややこしいので 何でもありのとにかくゆるめでフリーの物を探してネットうろうろ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/608
609: SGGK ◆6pZCoAtaxk [sage] 2009/03/07(土) 23:42:40 ID:sd4yKQvc こちらは停滞・・・。 選手の数を増やしてみようかな〜と思ってみただけ orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/609
610: せいれい [sage] 2009/03/08(日) 01:17:11 ID:7fa9GmvZ キャラのドット絵作成中(・∀・) 128×128の大きめサイズで練習 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/610
611: 436 [sage] 2009/03/08(日) 01:47:51 ID:vm6UceMj 画像化はOKでも、同梱してテキスト表示とかまでOKとなると限られちゃう@フォント デフォルト+選択制が無難だすかなぁ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/611
612: 名前は開発中のものです。 [sage] 2009/03/08(日) 02:18:54 ID:B042Qjwa 画像化だけでもレアなのに同梱含めたらほとんどナイでしょ。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/612
613: SGGK ◆6pZCoAtaxk [sage] 2009/03/08(日) 23:14:02 ID:fwbLAlbm 選手の数を増やす場合、今の画面では小さ過ぎる気がしてきた。 フィールドの画面を大きく書き直す必要があるかもと思い・・・、思っただけ orz 次の土日までになんとか調子を戻していきたい・・・。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/613
614: 436 [sage] 2009/03/09(月) 01:00:58 ID:xP45InoQ フォント選択用のポップアップとスクロールバーを組み立て中 >>612 無いですねえ〜。許諾契約料20万とかw http://peace.5ch.net/test/read.cgi/gamedev/1006284805/614
615: せいれい [sage] 2009/03/09(月) 01:33:24 ID:qEgNskJk ドット難しい(・∀・) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/615
616: SGGK ◆6pZCoAtaxk [sage] 2009/03/09(月) 22:37:23 ID:V1nM6zSI 作業を今の時点で区切り、フォルダ丸ごとコピーしてフオルダの名前を変更。 フォルダ内のプロジェクトファイル?とソリューションファイル?の名前も変更。 ソリューションファイルをダブルクリックするとコンパイラ左側ツリーに出るプロジェクトファイル名が 何故か変更されてなかったので、そのツリー画面上で名前変更・・・orz フォルダ内で古い名前の付いたファイルを全て削除してから、リビルドしてデバッグしたら一応動いたので 今後これで作業を進めていくつもりだけど、確信持って設定移動してる訳でないので、なんとなく不安な感じw http://peace.5ch.net/test/read.cgi/gamedev/1006284805/616
617: SGGK ◆6pZCoAtaxk [sage] 2009/03/09(月) 22:44:16 ID:V1nM6zSI 「今後の作業の為にバックアップ取ってバージョンアップ!」と書けば一行で済んだのにと赤面(汗; ・・・orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/617
618: 436 [sage] 2009/03/10(火) 01:02:21 ID:FeRMaDcm フォントリストを表示させスクロールまで出来た 今は選択出来る仕組みを組み込み中 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/618
619: ◆Fp.xSEIREI [sage] 2009/03/10(火) 21:24:41 ID:Ta9VdMwv キャラを細かくアニメーションさせるための仕組みをいろいろ(・∀・) 行動との同期も取らないといけない(・∀・) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/619
620: SGGK ◆6pZCoAtaxk [sage] 2009/03/10(火) 23:04:31 ID:0xGp0ldU 今使っているフィールド画像データの表示を座標(0,0)から(-320,-240)に変えて試しにコンパイルしてみた。 すると、フィールドの右側下半分が画面の左上半分の位置に表示されてそれ以外の範囲は黒塗り状態になった。 もしかすると画面よりも大きいフィールドを用意すれば、それをスクロールさせる事ができるのかもしれない・・・と思ったところで終了。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/620
621: 436 [sage] 2009/03/11(水) 01:16:16 ID:4vECasPK 選択出来る様に出来た 後は十字キー入力での連動スクロールと先頭<->末尾のワープ表示でフォント関係は完成かな〜 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/621
622: SGGK ◆6pZCoAtaxk [sage] 2009/03/11(水) 23:42:01 ID:wgNGe+yV こ・・・こちらは、ちょっと大きめのフィールドを作成したらサイズが5MB! このフィールド画像データでもコンパイルできたけど、気のせいかボールの速度が落ちた感じ・・・。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/622
623: せいれい [sage] 2009/03/12(木) 00:47:04 ID:Rw3/tWDK >>622 画面に表示されていない部分も描画はされているからかな(・∀・)表示はされないけど 小さいマップを敷き詰めてスクロールしたときに画面外のマップは描画しないよいにしたらいいかな(・∀・)RPGチックに http://peace.5ch.net/test/read.cgi/gamedev/1006284805/623
624: 名前は開発中のものです。 [sage] 2009/03/12(木) 00:57:35 ID:0PMWhv9U >>622 ちょっと大きめってどれくらい? 5メガつったらかなり大きい気がするんだけど。 256色BMPとかにしてみてる? よーっぽどでかいフィールドなら>>623の言われてるように マップチップ方式にするって方がいいけど、 画面4画面分(1280*960)を1枚程度なら普通に動くと思うんだけど。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/624
625: 436 [sage] 2009/03/12(木) 01:08:51 ID:m9evrlXs 引き続きキー入力の処理 キャストのタイミングが悪くて結果が微妙にずれていたのがてこずった; http://peace.5ch.net/test/read.cgi/gamedev/1006284805/625
626: SGGK ◆6pZCoAtaxk [sage] 2009/03/13(金) 00:19:14 ID:pWn9DyKv 全部描画してその一部を表示しようと思ってたけどちょっと遅い感じがするので、 マップ敷き詰め方式も調べてみます。アルゴリズムがまだイメージできていないのでかなり日数掛かると思います〜。 昨日の画像は、横3200、縦1600、Windowsシステムパレット、bmpファイルです。 選手が縦横32だから、このぐらいのフィールドが必要かと思いました・・・orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/626
627: 436 [sage] 2009/03/13(金) 01:09:32 ID:cvveg6UM キー入力の分書き終え、マウスホイールも効く様にして、 スクロールバーのスライダー以外をクリックで1画面分スクロールするのも付け足し >>626 でかっw http://peace.5ch.net/test/read.cgi/gamedev/1006284805/627
628: 名前は開発中のものです。 [sage] 2009/03/13(金) 01:25:50 ID:9ozL4c5N >選手が縦横32だから、このぐらいのフィールドが必要かと思いました・・・orz 走力とかキック力とかも現実に合わせるつもりですかw http://peace.5ch.net/test/read.cgi/gamedev/1006284805/628
629: ◆Fp.xSEIREI [sage] 2009/03/13(金) 17:31:15 ID:SAxIqL0V 自機関係の処理の構造をいじる(・∀・)今のままじゃ不便すぎる http://peace.5ch.net/test/read.cgi/gamedev/1006284805/629
630: ◆Fp.xSEIREI [sage] 2009/03/13(金) 17:33:14 ID:SAxIqL0V >>626 でけぇwwww ディスプレイの解像度をはるかに超えるサイズwww http://peace.5ch.net/test/read.cgi/gamedev/1006284805/630
631: SGGK ◆6pZCoAtaxk [sage] 2009/03/14(土) 00:08:27 ID:Z9qTH4pb >>627 自分はスクロールでしばらくの間悩む事になりそうです・・・。 >>628 団子サッカー防止のために現実に合わせてみたいな〜という気持ちはあります。 >>629,630 自分も早くソースを整理できるようになりたいです〜。 マップ敷き詰め方式がもしもうまく出来たら、このサイズのまま進めてしまうかもしれませんw マップ敷き詰め方式、アルゴリズム考えるために紙に書いてみたりしたけど、さっぱり思いつかない・・・orz でも、目標を変えても結局は画面のスクロールについて考える時がくるのだから、もう少し考えてみるつもり。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/631
632: 名前は開発中のものです。 [sage] 2009/03/14(土) 00:21:09 ID:dHp3MRSp 「スクロール」なんて考えるからややこしくなるんですよ。 「フィールドがあって、その中を選手達が動き回ってる」 ……ここまでは今まで作られていたのと同じでしょう? ただその表示する部分が「フィールドの一部分だけ」なだけ。 いわば「カメラの位置」を動かすだけで見た目はスクロールしてるようになるわけです。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/632
633: 436 [sage] 2009/03/14(土) 01:09:22 ID:DIgtrbyp PageUp/Down、End/Homeボタンも効くようにした 今はキーコンフィグ入力受付処理をかきこき http://peace.5ch.net/test/read.cgi/gamedev/1006284805/633
634: ◆Fp.xSEIREI [sage] 2009/03/14(土) 03:44:44 ID:QgvbbJg3 自機いじるついでにアニメーションのこともいろいろ(・∀・) 三次元構造体配列で何とかなる気がしないでもないけど未完成 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/634
635: せいれい [sage] 2009/03/14(土) 20:22:51 ID:0CsxrsDs 問題点の解決法発見(・∀・)あとは実装するのみ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/635
636: SGGK ◆6pZCoAtaxk [sage] 2009/03/15(日) 00:07:17 ID:beIxoxFg >>632 確かに「マップ敷き詰め方式」と比べると「カメラの位置を動かす」の方が分かりやすそうな気がする。 ここは臨機応変に考えてまずは「カメラの位置を動かす」に挑戦して、出来なかったら「マップ敷き詰め方式」で考えて見ます〜。 じ・・・順調目指してますが、自分にはプログラムがあまりにも難しすぎる〜。 とりあえずいつもと同じで1日の作業は短いので・・・orz、今日はフィールドを見直してみた。 選手は32x32ドットなので、高さ32dotを身長200cmで換算する事にした。 サッカー競技場のフィールドについてネットで調べたら、縦横にある程度の許容範囲があり、 ワールドカップでは縦68m横105mなので、これで計算すると縦1088ドット、横1680ドットになる。 「マップ敷き詰め方式」で考える可能性も考慮し、32x32ドットで区切りよくなるようにしたら、縦1088ドット、横1696ドット。 これをmに戻すと縦68m横106mなので、そんなに誤差も目立たないので、縦1088ドット、横1696ドットでフィールドを書くことに決定! 縦1600横3200からかなり縮小した感じ。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/636
637: 名前は開発中のものです。 [sage] 2009/03/15(日) 00:39:03 ID:7FB2KF+0 >確かに「マップ敷き詰め方式」と比べると「カメラの位置を動かす」の方が分かりやすそうな気がする。 いや、マップ敷き詰め方式ってのは、「カメラの位置うんぬん」とは別の話ですから比べるようなものじゃないですよ。 「マップ敷き詰め方式」ってのは要するにメモリ消費を抑える為の手段でして でっかい絵をどーんと置くか、ちっちゃいパズルを並べるかの違い。 「カメラの位置うんぬん」は、その絵のどこを表示するか、という考え方だから「マップ敷き詰め方式」の場合にも使います。 これだけじゃなんなので、簡単に解説します。 フィールドの一番左上の座標を ( 0,0 )だとして、選手が立ってる座標が、(500,400)だとします。 カメラの位置(左上の座標)がフィールドの一番左上(0,0)だとすると、 フィールド画像の表示位置は ( 0, 0) 、選手の表示位置は (500,400) ですよね? たとえばカメラの位置を右下にずらして (100,100)に動かすと、フィールド画像や選手の表示位置は反対方向にずれていきます。 つまりフィールド画像の表示位置は (-100,-100) になり、選手の表示位置は( 500-100,400-100) で ( 400,300) になります。 選手の座標が ( px , py ) で、カメラの位置が( cx , cy ) なら、 フィールド画像の表示位置は( -cx , -cy ) で、選手の表示位置は ( px - cx , py - cy ) って事です。 あくまで表示する時にだけ座標計算するってだけで、それ以外は 1696*1088のフィールド上で選手を好きに動かせばいいって事です。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/637
638: 名前は開発中のものです。 [sage] 2009/03/15(日) 00:48:11 ID:7FB2KF+0 <637の続き> で、たとえば画面の大きさを 640*480 とするならば、画像の中心座標は ( 320,240 ) ですよね。 選手が立ってる位置が (500,400) だとして、その選手を画面の中心に置きたいのなら、 カメラの位置は ( 500 - 320 , 400 - 240 ) で ( 180 , 160 ) って事になります。 (ただし、これは選手の大きさを考慮に入れてません) つまり、画面の中心に置きたい選手の座標が ( px , py ) で、カメラの位置が( cx , cy ) ならば、 cx = px - 320 cy = py - 240 と、するようにしたらいいわけですね。 フィールド外を表示したくないなら、カメラの座標( cx , cy ) が ( 0 , 0 ) 〜 ( 1696 - 640 , 1088 - 480 ) の範囲をはみ出さないようにすればいいだけです。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/638
639: 436 [sage] 2009/03/15(日) 01:23:25 ID:PMo+0xWl フォントのプレビューを兼ねたヘルプウィンドウを付けた DrawStringで復改が使えないとはしらなんだ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/639
640: SGGK ◆6pZCoAtaxk [sage] 2009/03/15(日) 23:22:06 ID:NEkwwH3s >>637,638 詳細な説明、ありがとうございます。「マップ敷き詰め方式」が別物の件もわかりました〜。 実装頑張ってみます! 今日はフィールドに縦線とセンターサークル書いて終了。(画像ツールがものすごく苦手で時間かかる・・・orz) とりあえずフィールドの作りこみはこれ以上やらずにここまででプログラムに移るつもり。 DXライブラリのリファレンスページで使えそうな関数が無いか探し始めたところで終了。 一日10分(0分の日もあるかもorz)から1時間位の作業時間でやってるので長期戦・・・。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/640
641: 436 [sage] 2009/03/16(月) 01:22:11 ID:TkalS2E8 フォントハンドル数が上限40とはしらなんだ〜 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/641
642: SGGK ◆6pZCoAtaxk [sage] 2009/03/16(月) 23:25:24 ID:kd1vw+Gx >>641 そういえば自分もDXライブラリでグラフィク関係関数にグラフィックハンドルというのが出てくるけど、 もしも上限が余裕なかったとしたらサッカゲームお手上げな予感です〜。 DXライブラリのリファレンス見たところ、使えそうな関数がなさそうな感じ。 まだ調べ方が十分じゃない所為かもしれないので、今日はとりあえず後回し。 その代わり、プログラムのフィールドが今までは単にデータをロードして表示してただけなのを 選手、ボール、ゴールと同様にクラス化?(←自信なしw)した。 エラー18個も出て危ないところだったが、一応動いた。今日はここまで! http://peace.5ch.net/test/read.cgi/gamedev/1006284805/642
643: 436 [sage] 2009/03/17(火) 00:55:37 ID:baRscC9v フォントサイズの設定とプレビューを付けた 最近眠くてしょうがない http://peace.5ch.net/test/read.cgi/gamedev/1006284805/643
644: ◆Fp.xSEIREI [sage] 2009/03/17(火) 01:05:54 ID:120cRAoh ぽちぽちドット打ち(・∀・) 画像を本気で用意しようとするととんでもなく時間かかるなぁ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/644
645: ◆Fp.xSEIREI [sage] 2009/03/17(火) 20:15:03 ID:120cRAoh 今気づいた 杖を持たせてる手が逆だ\(^o^)/オワタ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/645
646: SGGK ◆6pZCoAtaxk [sage] 2009/03/17(火) 23:14:41 ID:CdZR/pK0 >>643 自分も夜12時に寝ていても眠いですorz >>644、645 フィールド書くだけで1時間以上掛かったので、同じくドット絵苦手です。 座標指定で線引けないので、マウスが震えないように直線引いたりしてますw ボール、選手、ゴール、フィールドのクラスにカメラ座標cx、cyをメンバ変数として追加。 ボールの位置を参考に画面を動かしたいので、それぞれの移動用メンバ関数にボールクラスのオブジェクトのアドレスを引数として取るような変更を加えた。 DXライブラリに使えそうな関数見つけたけど、上手く行かず・・・orz 今日はここまでで終了〜! http://peace.5ch.net/test/read.cgi/gamedev/1006284805/646
647: 436 [sage] 2009/03/18(水) 01:20:16 ID:avggRhEo 今日はサボり気味;内部を整理しただけです http://peace.5ch.net/test/read.cgi/gamedev/1006284805/647
648: ◆Fp.xSEIREI [sage] 2009/03/18(水) 20:56:33 ID:YH4Ystcz 保存し忘れたまま再起動しちゃった ______ | 樹海 | ヒャッホー . ̄.|| ̄ ┗(^o^ )┓ 三 || ┏┗ 三 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/648
649: SGGK ◆6pZCoAtaxk [sage] 2009/03/18(水) 23:31:53 ID:QZkUMxQu >>647 同じくちょっと今日は進みませんでした〜orz >>648 そ・・・それは災難ですね〜。ハードディスククラッシュみたいな最悪状態じゃなくて良かったと思ってみるとか・・・(汗; 進まなかったので、昨日の上手く行かなかった関数の話。 GHandle = MakeGraph( 640 , 480 ) ; //表示画面と同じ大きさの空のグラフィックハンドルを作成 GetDrawScreenGraph( -1600 , -800 , -961 , -321, GHandle ) ;//表示画面外の画面データを切り抜き、前の命令で作ったグラフィックハンドルGHandleに渡す。 DrawGraph( 0, 0, GHandle, false) ;//表示画面に表示させる。 結果は背景が真っ黒になっただけ・・・orz なんでこんなことしてみようと思ったかと言うと、座標の変換?みたいな事をしないで見たい画面の部分を切り抜いて直接表示画面に持ってこれないかなーと思った為。 とりあえずこのやり方は無理と分かったので、画面に表示する時に指定する座標を表示用に計算しなおす方法に挑戦する予定。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/649
650: 436 [sage] 2009/03/19(木) 01:12:38 ID:oZOFCOMI 仕様を考え中ったら考え中 >>648 :( ゚Д゚ ll|): http://peace.5ch.net/test/read.cgi/gamedev/1006284805/650
651: 名前は開発中のものです。 [sage] 2009/03/19(木) 01:36:46 ID:g4JXnoXo >>649 >座標の変換?みたいな事をしないで見たい画面の部分を切り抜いて直接表示画面に持ってこれないかなーと思った為。 いちいちそんな事してたら無駄に負荷がかかると思いますw ちなみにその「見たい部分のみ抜き出す」って考え方が、例の「マップ敷き詰め方式」の根本です。 つまり「いちいち切り抜く」のではなく、あらかじめ細かく切りきざんであるのを敷き詰めて並べておいて、 そのうちの「見たい部分」のみを抜き出すわけですね。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/651
652: SGGK ◆6pZCoAtaxk [sage] 2009/03/20(金) 00:01:02 ID:/cDOXKwk >>650 仕様書、やる事リスト、自分はまだどちらも手を付けていませんでした・・・orz >>651 >つまり「いちいち切り抜く」のではなく、あらかじめ細かく切りきざんであるのを敷き詰めて並べておいて、 >そのうちの「見たい部分」のみを抜き出すわけですね。 な・・・なるほど!自分は無意識に「マップ敷き詰め方式」をやろうとしてしまっていたワケですね。 明日こそは「カメラの位置を動かす」方式に挑戦してみようと思います。 今日はダメでした。現実の義務に時間を割かなければならない状況になってきてて・・・、言い訳といえば言い訳なんですが、まぁ少しずつやっていこうと思います〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/652
653: 436 [sage] 2009/03/20(金) 01:04:11 ID:U+nXWAc2 一文字ごとに表示する+設定で表示スピードを変える物を組み立て中です http://peace.5ch.net/test/read.cgi/gamedev/1006284805/653
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 331 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s