[過去ログ] 1人でゲームが作れるように修行します。 (984レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
587
(1): SGGK ◆6pZCoAtaxk 2009/02/27(金)23:24 ID:U/xgHr9a(1) AAS
>>585
なんだか自分も仕様について考えてみたくなってきました。w
>525の頃に言っていた「やる事リスト」の前に仕様決めた方がいいのかも・・・。
>>586
製作中は当たり判定表示した方が便利そうですね〜。(引数が15個に増えてる〜!)
自分もバグ取れたらちょっと考えてみたいです。

バグはまだ取れないけど、iteratorを使っている関数(選手、ボール、ゴールの初期化、
省3
588: 436 2009/02/28(土)01:22 ID:BN0uPU4y(1) AAS
そう、コンフィグです、今日も
>>586
複雑そう・・・自分には無理だ;
>>587
おぉ復活しつつあるようで、ひとまずホッとしました
589
(1): SGGK ◆6pZCoAtaxk 2009/02/28(土)23:41 ID:6cM45uPX(1) AAS
なんとかコンパイルできるようになりました。
初期化関数については、元々上手くいってる選手やボールの初期化関数ではiteratorを使ってませんでした。
ゴール関係初期化関数だけiteratorを何故か使ってしまっていてそれがプログラム実行中のエラーになっていたらしい。
結局>577のエラーメッセージの意味は分からなかったので、先がちょっと不安な感じ。
何故か移動用関数内では、(*it). で要素にアクセスできているので不思議〜。
これでやっと>539のバグ取りに戻れる・・・orz

(プログラム実行時エラーになる書き方、詳細は略)
省17
590
(1): 436 2009/03/01(日)02:02 ID:fK/bT0En(1) AAS
>>589
お〜おめでとうございます 自分は停滞気味・・・
591: SGGK ◆6pZCoAtaxk 2009/03/01(日)22:35 ID:4AGEbIXn(1) AAS
>>590
ありがとうございます〜。 今日はほとんど進みませんでした。orz
この数日のバグ取りの反動かもw
592
(1): 436 2009/03/02(月)01:26 ID:yUGCkh1E(1) AAS
マウスオン+クリックで選択できる様に変更
もう3月!今年も残り10ヶ月を切ったぞーいそげいそげ
593
(2): ◆Fp.xSEIREI 2009/03/02(月)17:23 ID:O2JzSRpM(1) AAS
list<GoalData>::iterator it;

こ…これはいったい何をしているんだ…俺にはわからない…/(^o^)\

ゲームシステムについていろいろ(・∀・)
面白くするにはどうすればいいか、を考えてみる
クソゲーを観察してみるのも勉強になるみたいね
594: SGGK ◆6pZCoAtaxk 2009/03/02(月)23:46 ID:MvrVI/rB(1) AAS
>>592
そういえばもう3月ですね〜、時間の流れが速すぎる〜。
>>593
C++で、配列みたいに複数のデータを管理できるコンテナクラスというのが標準でいろいろ用意されていて、
そのひとつにlistクラスというのがあり、そのlistクラスでGoalData型(←これは自分でプログラムの中で宣言して作った型)のデータを複数管理したいので、
どのGoalData型かを指し示す為にイテレータit(←配列変数の要素にアクセスするための添え字みたいなやつ)というものを宣言しますみたいな感じで自分は理解していますが、
自信はあまり無いです・・・orz
省7
595
(2): 2009/03/03(火)00:53 ID:j/EdIaTK(1) AAS
ひょっとして「押されている」と思ってるのが「押されたとき」だったり

【ハウツー】最初にマスターしたいVisual Studioのデバッグ機能 - 基本編 (1) ブレークポイント | エンタープライズ | マイコミジャーナル
外部リンク[html]:journal.mycom.co.jp
596
(1): 436 2009/03/03(火)01:13 ID:B6hdHZko(1) AAS
ウィンドウモード変更・表示倍率変更・フレームレート変更・FPS表示切替を選択できる様になりました
>>593
面白く・・・最大の問題すなぁ・・・
597
(1): ◆Fp.xSEIREI 2009/03/03(火)21:05 ID:9wM7nouk(1) AAS
画像リンク[jpg]:www.dotup.org

回転行列による矩形と点の当たり判定実装(・∀・)
598
(1): SGGK ◆6pZCoAtaxk 2009/03/03(火)22:56 ID:vs8eMq8g(1) AAS
>>595
ありがとうございます〜。デバッグは機能が色々ある様なので少しずつ覚えていこうと思います。
キー入力の状態については、実は自分はまだよく理解できぬままプログラムやってます・・・orz
>>596
かなり順調にいっててうらやましいですー。
>>597
回転行列を当たり判定に使う・・・、む・・・難しそうな世界。
省5
599: 436 2009/03/04(水)01:23 ID:+kKOKlkp(1) AAS
フルスクリーンから復帰すると古い方の拡大率になってたのに気付いて修正
マウスで窓枠ドラッグした時の拡大率を取得出来る様にした
今になってもっとシンプルなインタフェイスを思いつく・・・あ〜全体的に作り直したい
>>595
勉強になります
>>598
一つの結果が出るまでのスパンというか下ごしらえが段々長く大変になってきました;
600: せいれい 2009/03/04(水)21:55 ID:1TDttkKc(1) AAS
もうちょっと調整したらゲームシステム部分の作成に移れそう
そろそろ背景やファイル入出力もいじらねば(・∀・)
601: SGGK ◆6pZCoAtaxk 2009/03/04(水)22:20 ID:M0lqZAHx(1) AAS
こちらは、まだまだバグ取り中〜。

昨日言っていたバグの原因は、プログラムをかなり略して書くと、

メインループ(){
 選手.move();//選手の移動処理
 ボール.move();//ボールの移動処理
 ゴール.move();//ゴールの移動?処理
 当たり判定();//それぞれのオブジェクトの当たり判定をここでまとめて行う
省17
602
(1): 2009/03/04(水)22:40 ID:/ZV4wLD2(1) AAS
何故else条件でボールのフラグを落とすのか、40文字以内で説明せよ(5点)

フラグ落とすのは選手だけでいいと思うんだが。そもそもボールのフラグもいらない。
ボール持ってる選手しか蹴る(移動の初期値を与える)ことができないのなら
ボール支配できたときにボール蹴る関数にでも飛ばせばいいと思うが、どうか。
603
(1): 436 2009/03/05(木)00:50 ID:LR5dYdvr(1) AAS
ああああせりました;
窓枠ドラッグ時の拡大率を取得する為SetAlwaysRunFlag();をON-OFF多用してたら
なぜかSetAlwaysRunFlag();をOFFにするとデバッグに行く途中で止まり、
ON状態の一文を入れないと動かなくなり、とうとうそれを入れても入れなくても動かなくなり・・・
VCリインストールしたら今度はヘッダファイルを読まなくなり(パスは渡してるのに)、
レジストリからVC関連を全消去してリインストール、さっきようやくまともに動いたっぽい

SetAlwaysRunFlag();を乱用乱発してたのが悪かったのかなぁ
604
(1): SGGK ◆6pZCoAtaxk 2009/03/05(木)23:27 ID:hIYt1MGi(1) AAS
>>602
else条件でボールのフラグを落とすのは、(Xキー押し)&&(ボール接触フラグON)がボールを蹴れる条件なので、
選手がボールから離れている(else)時には、ボール接触フラグをOFFにする必要があった為。

今のプログラムでは、ボールに接触してるので蹴ろうとしても、ボールに接触していない選手がいたら、elseが成立してしまい
ボールの接触フラグをOFFされてしまうという問題がありました・・・。

確かに今思うとボールのフラグは必要無かった様です。
選手全てにボールに接触してるかどうかを表すフラグを持たせておいたのは、同時に複数の選手がボールを蹴る様な場合を考えてました。
省4
605: 2009/03/06(金)00:01 ID:zNsEmWk0(1) AAS
>同時に複数の選手がボールを蹴る様な場合を考えてました。

それは「蹴った」時の処理であって、
接触したかどうか判定する時点では関係ないんじゃないかな。

同時蹴りの優先度は確かに悩むところだね。
606
(1): 436 2009/03/06(金)00:30 ID:SvQUccHR(1) AAS
拡大率取得する関数がすでにあったorz
拡大率変えるとSetMousePointが元のウィンドウの大きさ基準で動く為、
元の解像度を超える座標を指定出来ないorz
ので、新たに思い付いたインタフェース案はモロにその影響を受ける為、
すっぱりあきらめられたw
今は構造をもっとスッキリ出来ないかイジクリ中
>>604
省1
607: SGGK ◆6pZCoAtaxk 2009/03/06(金)23:39 ID:Fo+vpfkW(1) AAS
>それは「蹴った」時の処理であって、
>接触したかどうか判定する時点では関係ないんじゃないかな。

た・・・確かにそうです。
メインループ内での処理を移動、当たり判定に分けておいて、当たり判定内で
いろいろな組み合わせの当たり判定をあらかじめ行い、その結果を各種フラグ変数に記憶させておいて
移動関数でそのフラグ変数を参照するようにすれば、移動関数から当たり判定関数を呼ばなくても済み、
プログラムが整理できそうな気がしたけど、なかなか上手く行っていないです・・・orz
省7
608: 436 2009/03/07(土)02:38 ID:ryJcMnzA(1) AAS
フォントを選択させるのが面倒で同梱しようと思い立つも、ライセンスがややこしいので
何でもありのとにかくゆるめでフリーの物を探してネットうろうろ
609: SGGK ◆6pZCoAtaxk 2009/03/07(土)23:42 ID:sd4yKQvc(1) AAS
こちらは停滞・・・。
選手の数を増やしてみようかな〜と思ってみただけ orz
610: せいれい 2009/03/08(日)01:17 ID:7fa9GmvZ(1) AAS
キャラのドット絵作成中(・∀・)
128×128の大きめサイズで練習
611: 436 2009/03/08(日)01:47 ID:vm6UceMj(1) AAS
画像化はOKでも、同梱してテキスト表示とかまでOKとなると限られちゃう@フォント
デフォルト+選択制が無難だすかなぁ
612
(1): 2009/03/08(日)02:18 ID:B042Qjwa(1) AAS
画像化だけでもレアなのに同梱含めたらほとんどナイでしょ。
613: SGGK ◆6pZCoAtaxk 2009/03/08(日)23:14 ID:fwbLAlbm(1) AAS
選手の数を増やす場合、今の画面では小さ過ぎる気がしてきた。
フィールドの画面を大きく書き直す必要があるかもと思い・・・、思っただけ orz
次の土日までになんとか調子を戻していきたい・・・。
614: 436 2009/03/09(月)01:00 ID:xP45InoQ(1) AAS
フォント選択用のポップアップとスクロールバーを組み立て中
>>612
無いですねえ〜。許諾契約料20万とかw
615: せいれい 2009/03/09(月)01:33 ID:qEgNskJk(1) AAS
ドット難しい(・∀・)
616: SGGK ◆6pZCoAtaxk 2009/03/09(月)22:37 ID:V1nM6zSI(1/2) AAS
作業を今の時点で区切り、フォルダ丸ごとコピーしてフオルダの名前を変更。
フォルダ内のプロジェクトファイル?とソリューションファイル?の名前も変更。
ソリューションファイルをダブルクリックするとコンパイラ左側ツリーに出るプロジェクトファイル名が
何故か変更されてなかったので、そのツリー画面上で名前変更・・・orz
フォルダ内で古い名前の付いたファイルを全て削除してから、リビルドしてデバッグしたら一応動いたので
今後これで作業を進めていくつもりだけど、確信持って設定移動してる訳でないので、なんとなく不安な感じw
617: SGGK ◆6pZCoAtaxk 2009/03/09(月)22:44 ID:V1nM6zSI(2/2) AAS
「今後の作業の為にバックアップ取ってバージョンアップ!」と書けば一行で済んだのにと赤面(汗; ・・・orz
618: 436 2009/03/10(火)01:02 ID:FeRMaDcm(1) AAS
フォントリストを表示させスクロールまで出来た
今は選択出来る仕組みを組み込み中
619: ◆Fp.xSEIREI 2009/03/10(火)21:24 ID:Ta9VdMwv(1) AAS
キャラを細かくアニメーションさせるための仕組みをいろいろ(・∀・)
行動との同期も取らないといけない(・∀・)
620
(1): SGGK ◆6pZCoAtaxk 2009/03/10(火)23:04 ID:0xGp0ldU(1) AAS
今使っているフィールド画像データの表示を座標(0,0)から(-320,-240)に変えて試しにコンパイルしてみた。
すると、フィールドの右側下半分が画面の左上半分の位置に表示されてそれ以外の範囲は黒塗り状態になった。
もしかすると画面よりも大きいフィールドを用意すれば、それをスクロールさせる事ができるのかもしれない・・・と思ったところで終了。
621: 436 2009/03/11(水)01:16 ID:4vECasPK(1) AAS
選択出来る様に出来た
後は十字キー入力での連動スクロールと先頭<->末尾のワープ表示でフォント関係は完成かな〜
622
(2): SGGK ◆6pZCoAtaxk 2009/03/11(水)23:42 ID:wgNGe+yV(1) AAS
こ・・・こちらは、ちょっと大きめのフィールドを作成したらサイズが5MB!
このフィールド画像データでもコンパイルできたけど、気のせいかボールの速度が落ちた感じ・・・。
623
(1): せいれい 2009/03/12(木)00:47 ID:Rw3/tWDK(1) AAS
>>622
画面に表示されていない部分も描画はされているからかな(・∀・)表示はされないけど
小さいマップを敷き詰めてスクロールしたときに画面外のマップは描画しないよいにしたらいいかな(・∀・)RPGチックに
624: 2009/03/12(木)00:57 ID:0PMWhv9U(1) AAS
>>622

ちょっと大きめってどれくらい? 5メガつったらかなり大きい気がするんだけど。
256色BMPとかにしてみてる?

よーっぽどでかいフィールドなら>>623の言われてるように
マップチップ方式にするって方がいいけど、
画面4画面分(1280*960)を1枚程度なら普通に動くと思うんだけど。
625: 436 2009/03/12(木)01:08 ID:m9evrlXs(1) AAS
引き続きキー入力の処理
キャストのタイミングが悪くて結果が微妙にずれていたのがてこずった;
626
(2): SGGK ◆6pZCoAtaxk 2009/03/13(金)00:19 ID:pWn9DyKv(1) AAS
全部描画してその一部を表示しようと思ってたけどちょっと遅い感じがするので、
マップ敷き詰め方式も調べてみます。アルゴリズムがまだイメージできていないのでかなり日数掛かると思います〜。
昨日の画像は、横3200、縦1600、Windowsシステムパレット、bmpファイルです。
選手が縦横32だから、このぐらいのフィールドが必要かと思いました・・・orz
627
(1): 436 2009/03/13(金)01:09 ID:cvveg6UM(1) AAS
キー入力の分書き終え、マウスホイールも効く様にして、
スクロールバーのスライダー以外をクリックで1画面分スクロールするのも付け足し
>>626
でかっw
628
(1): 2009/03/13(金)01:25 ID:9ozL4c5N(1) AAS
>選手が縦横32だから、このぐらいのフィールドが必要かと思いました・・・orz

走力とかキック力とかも現実に合わせるつもりですかw
629
(1): ◆Fp.xSEIREI 2009/03/13(金)17:31 ID:SAxIqL0V(1/2) AAS
自機関係の処理の構造をいじる(・∀・)今のままじゃ不便すぎる
630
(1): ◆Fp.xSEIREI 2009/03/13(金)17:33 ID:SAxIqL0V(2/2) AAS
>>626
でけぇwwww
ディスプレイの解像度をはるかに超えるサイズwww
631: SGGK ◆6pZCoAtaxk 2009/03/14(土)00:08 ID:Z9qTH4pb(1) AAS
>>627
自分はスクロールでしばらくの間悩む事になりそうです・・・。
>>628
団子サッカー防止のために現実に合わせてみたいな〜という気持ちはあります。
>>629,630
自分も早くソースを整理できるようになりたいです〜。
マップ敷き詰め方式がもしもうまく出来たら、このサイズのまま進めてしまうかもしれませんw
省2
632
(1): 2009/03/14(土)00:21 ID:dHp3MRSp(1) AAS
「スクロール」なんて考えるからややこしくなるんですよ。

「フィールドがあって、その中を選手達が動き回ってる」 ……ここまでは今まで作られていたのと同じでしょう?

ただその表示する部分が「フィールドの一部分だけ」なだけ。
いわば「カメラの位置」を動かすだけで見た目はスクロールしてるようになるわけです。
633: 436 2009/03/14(土)01:09 ID:DIgtrbyp(1) AAS
PageUp/Down、End/Homeボタンも効くようにした
今はキーコンフィグ入力受付処理をかきこき
634: ◆Fp.xSEIREI 2009/03/14(土)03:44 ID:QgvbbJg3(1) AAS
自機いじるついでにアニメーションのこともいろいろ(・∀・)
三次元構造体配列で何とかなる気がしないでもないけど未完成
635: せいれい 2009/03/14(土)20:22 ID:0CsxrsDs(1) AAS
問題点の解決法発見(・∀・)あとは実装するのみ
636: SGGK ◆6pZCoAtaxk 2009/03/15(日)00:07 ID:beIxoxFg(1) AAS
>>632
確かに「マップ敷き詰め方式」と比べると「カメラの位置を動かす」の方が分かりやすそうな気がする。
ここは臨機応変に考えてまずは「カメラの位置を動かす」に挑戦して、出来なかったら「マップ敷き詰め方式」で考えて見ます〜。

じ・・・順調目指してますが、自分にはプログラムがあまりにも難しすぎる〜。

とりあえずいつもと同じで1日の作業は短いので・・・orz、今日はフィールドを見直してみた。
選手は32x32ドットなので、高さ32dotを身長200cmで換算する事にした。
サッカー競技場のフィールドについてネットで調べたら、縦横にある程度の許容範囲があり、
省4
637
(1): 2009/03/15(日)00:39 ID:7FB2KF+0(1/2) AAS
>確かに「マップ敷き詰め方式」と比べると「カメラの位置を動かす」の方が分かりやすそうな気がする。

いや、マップ敷き詰め方式ってのは、「カメラの位置うんぬん」とは別の話ですから比べるようなものじゃないですよ。

「マップ敷き詰め方式」ってのは要するにメモリ消費を抑える為の手段でして
でっかい絵をどーんと置くか、ちっちゃいパズルを並べるかの違い。

「カメラの位置うんぬん」は、その絵のどこを表示するか、という考え方だから「マップ敷き詰め方式」の場合にも使います。

これだけじゃなんなので、簡単に解説します。
省9
638
(1): 2009/03/15(日)00:48 ID:7FB2KF+0(2/2) AAS
<637の続き>

で、たとえば画面の大きさを 640*480 とするならば、画像の中心座標は ( 320,240 ) ですよね。

選手が立ってる位置が (500,400) だとして、その選手を画面の中心に置きたいのなら、
カメラの位置は ( 500 - 320 , 400 - 240 ) で ( 180 , 160 ) って事になります。
(ただし、これは選手の大きさを考慮に入れてません)

つまり、画面の中心に置きたい選手の座標が ( px , py ) で、カメラの位置が( cx , cy ) ならば、
cx = px - 320
省4
639: 436 2009/03/15(日)01:23 ID:PMo+0xWl(1) AAS
フォントのプレビューを兼ねたヘルプウィンドウを付けた
DrawStringで復改が使えないとはしらなんだ
640: SGGK ◆6pZCoAtaxk 2009/03/15(日)23:22 ID:NEkwwH3s(1) AAS
>>637,638
詳細な説明、ありがとうございます。「マップ敷き詰め方式」が別物の件もわかりました〜。
実装頑張ってみます!

今日はフィールドに縦線とセンターサークル書いて終了。(画像ツールがものすごく苦手で時間かかる・・・orz)
とりあえずフィールドの作りこみはこれ以上やらずにここまででプログラムに移るつもり。
DXライブラリのリファレンスページで使えそうな関数が無いか探し始めたところで終了。
一日10分(0分の日もあるかもorz)から1時間位の作業時間でやってるので長期戦・・・。
641
(1): 436 2009/03/16(月)01:22 ID:TkalS2E8(1) AAS
フォントハンドル数が上限40とはしらなんだ〜
642: SGGK ◆6pZCoAtaxk 2009/03/16(月)23:25 ID:kd1vw+Gx(1) AAS
>>641
そういえば自分もDXライブラリでグラフィク関係関数にグラフィックハンドルというのが出てくるけど、
もしも上限が余裕なかったとしたらサッカゲームお手上げな予感です〜。

DXライブラリのリファレンス見たところ、使えそうな関数がなさそうな感じ。
まだ調べ方が十分じゃない所為かもしれないので、今日はとりあえず後回し。
その代わり、プログラムのフィールドが今までは単にデータをロードして表示してただけなのを
選手、ボール、ゴールと同様にクラス化?(←自信なしw)した。
省1
643
(1): 436 2009/03/17(火)00:55 ID:baRscC9v(1) AAS
フォントサイズの設定とプレビューを付けた
最近眠くてしょうがない
644
(1): ◆Fp.xSEIREI 2009/03/17(火)01:05 ID:120cRAoh(1/2) AAS
ぽちぽちドット打ち(・∀・)
画像を本気で用意しようとするととんでもなく時間かかるなぁ
645: ◆Fp.xSEIREI 2009/03/17(火)20:15 ID:120cRAoh(2/2) AAS
今気づいた
杖を持たせてる手が逆だ\(^o^)/オワタ
646: SGGK ◆6pZCoAtaxk 2009/03/17(火)23:14 ID:CdZR/pK0(1) AAS
>>643
自分も夜12時に寝ていても眠いですorz
>>644、645
フィールド書くだけで1時間以上掛かったので、同じくドット絵苦手です。
座標指定で線引けないので、マウスが震えないように直線引いたりしてますw

ボール、選手、ゴール、フィールドのクラスにカメラ座標cx、cyをメンバ変数として追加。
ボールの位置を参考に画面を動かしたいので、それぞれの移動用メンバ関数にボールクラスのオブジェクトのアドレスを引数として取るような変更を加えた。
省2
647
(1): 436 2009/03/18(水)01:20 ID:avggRhEo(1) AAS
今日はサボり気味;内部を整理しただけです
648
(2): ◆Fp.xSEIREI 2009/03/18(水)20:56 ID:YH4Ystcz(1) AAS
AA省
649
(1): SGGK ◆6pZCoAtaxk 2009/03/18(水)23:31 ID:QZkUMxQu(1) AAS
>>647
同じくちょっと今日は進みませんでした〜orz
>>648
そ・・・それは災難ですね〜。ハードディスククラッシュみたいな最悪状態じゃなくて良かったと思ってみるとか・・・(汗;

進まなかったので、昨日の上手く行かなかった関数の話。
GHandle = MakeGraph( 640 , 480 ) ; //表示画面と同じ大きさの空のグラフィックハンドルを作成
GetDrawScreenGraph( -1600 , -800 , -961 , -321, GHandle ) ;//表示画面外の画面データを切り抜き、前の命令で作ったグラフィックハンドルGHandleに渡す。
省4
650
(1): 436 2009/03/19(木)01:12 ID:oZOFCOMI(1) AAS
仕様を考え中ったら考え中
>>648
:( ゚Д゚ ll|):
651
(1): 2009/03/19(木)01:36 ID:g4JXnoXo(1) AAS
>>649

>座標の変換?みたいな事をしないで見たい画面の部分を切り抜いて直接表示画面に持ってこれないかなーと思った為。

いちいちそんな事してたら無駄に負荷がかかると思いますw

ちなみにその「見たい部分のみ抜き出す」って考え方が、例の「マップ敷き詰め方式」の根本です。

つまり「いちいち切り抜く」のではなく、あらかじめ細かく切りきざんであるのを敷き詰めて並べておいて、
そのうちの「見たい部分」のみを抜き出すわけですね。
652: SGGK ◆6pZCoAtaxk 2009/03/20(金)00:01 ID:/cDOXKwk(1) AAS
>>650
仕様書、やる事リスト、自分はまだどちらも手を付けていませんでした・・・orz
>>651
>つまり「いちいち切り抜く」のではなく、あらかじめ細かく切りきざんであるのを敷き詰めて並べておいて、
>そのうちの「見たい部分」のみを抜き出すわけですね。

な・・・なるほど!自分は無意識に「マップ敷き詰め方式」をやろうとしてしまっていたワケですね。
明日こそは「カメラの位置を動かす」方式に挑戦してみようと思います。
省1
653: 436 2009/03/20(金)01:04 ID:U+nXWAc2(1) AAS
一文字ごとに表示する+設定で表示スピードを変える物を組み立て中です
654
(1): SGGK ◆6pZCoAtaxk 2009/03/20(金)23:17 ID:8+2HwF0+(1) AAS
フィールドだけがボールと反対方向に動くようになったけど変な感じ。
フィールド画像の左上原点をボールの移動距離と反対方向に動かしてフィールド画像を毎ループ(フレーム?)毎に描画する時に
フィールドの端が表示画面の端に来たらそれ以上動かないように条件if文を使ったが、フィールドの端まで来ないのにフィールドが動かなくなる。
もしかしてフィールドのデータが読み込まれた時に一部分カットされてるのではと思い、DXライブラリで使えそうな関数を探し、フィールドのデータを読み込んだ直後に

int SizeX , SizeY;
GetGraphSize( gh , &SizeX , &SizeY ) ;
printfDx("%d",SizeX);
省4
655
(1): 436 2009/03/21(土)01:18 ID:Nd/MqJBa(1) AAS
一文字ごと表示+スピード設定が出来るようになった
文字のサイズ変更で大きくした際に、メッセージ枠をはみ出した分を自動で復改する様にした
今はエスケープシーケンスの復改の代わりになる物を組み立て中
656
(1): 2009/03/21(土)01:33 ID:B0u9yEZ5(1) AAS
>>654

「フィールドをボールと反対方向に動かす」という考え方は応用が利きにくいと思うので止めた方がいいかも。

あくまで「カメラ位置」を考えてください。
そしてその「カメラ」もキャラのひとつ(画面全体分――つまり640*480の大きさのキャラ)と考えてください。

ボールが常に「画面の中心」にくるというのなら、
カメラの位置はボールの位置から(-320,-240)の場所です。

ただし、そのずらした結果が、マイナスになったら強制的に0にしてしまえばはみ出す事はありません。
省3
657
(1): SGGK ◆6pZCoAtaxk 2009/03/21(土)23:44 ID:7vjJASG9(1) AAS
>>655
文字処理関係は考えなければならない事が沢山ありそうで自分も将来サッカーゲームの制作がうまく進んだら?文字処理トライすることになった時に参考にしてみます〜。

>>656
>あくまで「カメラ位置」を考えてください。
>そしてその「カメラ」もキャラのひとつ(画面全体分――つまり640*480の大きさのキャラ)と考えてください。

まだ考え中で、上記アドバイスと意図が合ってるか自信が無く、カメラのクラスを作ってなんとか目的を実現できないかと思ってるところです。

昨日までやろうとしていた方法は、フィールドサイズ1088X1696の紙を2枚重ねて、
省13
658: 436 2009/03/22(日)02:10 ID:B7hTCU6u(1) AAS
復改出来る様になった。文字スピード設定のプレビューを付けた
今はBGMの音量設定を考え中
659
(1): 2009/03/22(日)03:03 ID:oncUjrKC(1) AAS
>>657

よくわからないのだけど、ウィンドウのサイズは640*480ではないの?
もしそうならわざわざ切り抜いて表示する必要があるのかどうか。
660: SGGK ◆6pZCoAtaxk 2009/03/22(日)22:06 ID:KdhPxjYd(1) AAS
>>659
フィールドがウィンドウサイズより大きい場合にウィンドウの外にあって見えないフィールドの部分を表示させる方法として、
1.フィールドの原点座標を移動させて、見せたい部分がウィンドウの位置に来るようにする。
2.フィールドの原点は移動させないで、表示させたい範囲(640x480)を指定してウィンドウのある位置に持ってくる(表示させる)
を思いついたのですが、たぶん2.の方がアドバイスに近いと思うし、自分も2の方が直感的かもしれないような感じがしたのが理由です。

今日はとりあえず準備として選手の移動関数内にある選手座標の計算部分と描画部分を分離して別々の関数にしようとしたけど、なんだか失敗。
14歳シリーズがかろうじて分かるかどうかなレベルなので1から自分で書こうとすると結構ハマる。早くても1ヶ月位は掛かると予想してます。
661: 436 2009/03/23(月)01:37 ID:i8724I4G(1) AAS
構造を整理中
662: せいれい 2009/03/23(月)02:45 ID:OY/0+Xwu(1) AAS
主人公の服装がはっきり決まっていなかったので考える(・∀・)絵描き練習も
663: ◆Fp.xSEIREI 2009/03/23(月)23:34 ID:sn4mHp6u(1) AAS
敵機のオプション呼出&操作関連の不具合修正中(・∀・)
親機が生存していて子機が破壊された時、親機を破壊するか
親機が破壊されて子機だけになった場合、子機を破壊するか
親機が破壊された場合、子機及び孫機を破壊するか
子機が破壊された時、孫機を破壊するか
孫機が破壊された場合、その孫機の親機を破壊するか、また上の親機に影響がうんたら

柔軟な対応ができるようにいろいろ(・∀・)
664: SGGK ◆6pZCoAtaxk 2009/03/23(月)23:48 ID:g0cKOg9Q(1) AAS
す・・・進んでますね〜。こちらもなんとか1ヶ月でスクロール?というかカメラ移動の実装を終わらせたいです〜。

昨日の作業はちょっと中断。画面があまりに遅いので調べたら、毎フレーム呼ばれるmove関数内でフィールド画像をロードすると同時にグラフィックハンドルを設定し、
そのグラフィックハンドルを元にフィールドを描画してた。load関数で1回だけやればいい画像データのロードを毎フレーム毎にやってたから遅くなったと思われる。
それを直したら今度は背景が真っ黒になった。ソースをよ〜く見てみたら、load関数内でグラフィックハンドルをフィールドオブジェクトの中にあるグラフィックハンドル記憶用のメンバ変数にインプットしてたのに対し、
その次の初期化用init関数内でいったんフィールドオブジェクトをクリアして新しい初期値を入れるようにしていたのでグラフィックハンドルが消えてしまってたのが理由だと分かった。
では何故今までは問題無かったかというと、load関数内でグラフィックハンドルはパラパラアニメ用のanimedrawクラスのオブジェクトにあらかじめインプットしてあって、このanimedrawオブジェクトのアドレスを
init関数で渡す仕様になってたのでload関数内で設定したグラフィックハンドルが失われなかったというワケ。
省3
665: 436 2009/03/24(火)01:33 ID:jDJLGX1a(1) AAS
自作関数を使いまわしやすい様に全体的に書き加え
666: ◆Fp.xSEIREI 2009/03/24(火)04:43 ID:UHqomJ90(1/2) AAS
レーザーを出しまくって負荷テスト(・∀・)CPU:Celeron420_1.6Ghz、GPU:Geforce8400Gs
180〜240本程度が進行に支障が出ないレベルっぽい(・∀・)てか避けれん
重いのは当たり判定の処理部分。改善の余地アリ
667
(2): ◆Fp.xSEIREI 2009/03/24(火)21:31 ID:UHqomJ90(2/2) AAS
画像リンク[jpg]:www.dotup.org
ちょっと吸い込まれる弾幕つくってみたら難しすぎワロス
1-
あと 317 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s