ファミコンのプログラム3at GAMEDEVファミコンのプログラム3 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト944:名前は開発中のものです。 12/02/28 21:05:59.53 FLxgWkDL 変換じゃなくて壊す側がおかしくないか? 945:名前は開発中のものです。 12/02/28 22:42:52.32 ac5+J/w/ >>941 ・CrashBlock_Routine:でbcs, bccを使ってるのが敗因。 0<= 弾の中心座標 <8 の論理を構築できてない。 bpl, bmiを使った方が大小関係が直感的に分りやすい。 その際、lda <Bullet_Y_Center → cmp Block001y,x のように不等式で挟まれる側を先にレジスタにロードした方がやりやすいはず。 またadc, sbcと違い、cmp系の前にはclcは必要ない。 ・ゲームループがまずく、infinityLoop:内のルーチンの実行回数のフレームレートが一定でない、不安定動作のおそれあり。以下のループが無難。 __ここでNMI有効にせよ__ infinityLoop: ;VBlankを待つ間は無限ループ jmp infinityLoop mainLoop: ;メインループ __ここでNMIを無効にせよ__ ;BGとスプライトの表示をOFF lda #%00000110 sta $2001 lda #$3 ;スプライト描画のためのDMA転送 sta $4014 jsr BlockDisappear ;ブロック消滅;$2006-$2007への書き込みはNMI直後に、VBlankが終わる前になるべく早めに jsr SetScroll ;スクロールセットもVBlankが終わる前になるべく早めに ;BGとスプライトの表示をON lda #%00011110 sta $2001 jsr PadGet ;パッド入力チェック jsr NormalBullet ;弾丸発射 jsr PlayerSpriteMove ;機体の移動 jsr CrashBlock ;ブロックと弾丸の当たり判定 jsr BulletPositionConvert ;弾丸の座標をタイル番号に変換 __ここでNMI有効にせよ__ NMIEnd: rti 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch