Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
130 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 5072
次のページ(過去)
返信[2]
親投稿
otta777 otta777a
改造したプログラムがどうなっているか分からないのですが 新しく追加したコマンドでどこのプログラムが実行されるかしっかり 追跡してみて下さい。予想では追加したコマンドを選んだ場合に プレイヤーの攻撃をする部分を実行せずに敵が攻撃する部分を 実行しているために一方的に攻撃をされているのではないかと思います。
1そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
それならそのように書かないと伝わりませんよ。 質問を思いつきで書いて投稿してしまうと言葉足らずになったりするんで 投稿前に一度文面を読み返すことをお勧めします。
2そうだね
プレイ済み
プレイ日記
otta777 otta777a
スクロールバーに合わせてBG画面をスクロールさせるサンプル。
5そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
まずTOUCH関数を使って画面をタッチした座標を取得します。 その座標がSとGの範囲内なのかをIF命令で判別してその範囲内なら Sの右端から何ドット離れた位置かを計算してその数値を元に BGOFS命令でBGの表示位置を変えれば良いと思います。
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
SとGの間のSPを十字ボタンで動かすのでしたらBUTTON関数で左右の ボタンを押したときにSPを移動して上の画面のBGの表示開始位置を SPの表示位置から計算すればいいと思います。 SPの管理番号を0として WHILE TRUE BT=BUTTON() VX=!!(BT AND 8)-!!(BT AND 4) X=X+VX SPOFS 0,X+○○,△△ 'SPの表示位置 BGOFS 0,X*16,0 'BGのオフセット量 VSYNC WEND 大雑把ですがこんな感じでしょうか?
0そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
UNTIL命令では条件式が満たされるまでREPEAT~UNTIL間を繰り返します。 条件式がBUTTON(2)!=#AですとAボタンが押されていない時に条件式を 満たすためUNTILの次の命令に移行します。 条件式をBUTTON(2)==#Aに変更して下さい。 WHILE 条件式~WENDとREPEAT~UNTIL 条件式ではループをさせるための 条件が逆になってしまうので注意が必要ですね。
0そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
先程の解説で「BGOFS命令で0,240の位置を表示」としましたが240は BG画面の高さが15の場合です。 BG画面の高さ×16の数値にして下さい。
0そうだね
プレイ済み
返信[7]
親投稿
otta777 otta777a
9行目 BGSCREEN 0,50,65に変更してBGFILL命令の前に移動 10行目 BGOFS 0,0,480に変更 11行目 BGANIM 0,"XY",-30,0,0,0に変更 BGFILL命令の後ろに GCCOPY 0,0,0,25,15,0,50を追加
0そうだね
プレイ済み
返信[6]
親投稿
otta777 otta777a
まずBGSCREEN命令は使用するレイヤーに対してBG画面を描画する 前に実行しましょう。 背景を上から下にスクロールする場合はBG画面を描画した後に BG画面の下方向に1画面分GCOPY命令でBG画面のをコピーします。 これをするためにBGSCREENの高さはBG画面のサイズに15を加算した 値にして下さい。 これによりBG画面の上と下が繋がっているように見えます。 BGOFS命令で0,240の位置を表示してからBGANIM命令で"XY"を指定して 0,0まで移動するようにすれば一画面分スクロールして見えます。 これを無限ループさせれば望みの動作になると思います。
0そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
BGOFS命令で表示オフセットのYの変数はどのように変更していますか? この数値が0未満だと上側は何も描かれていないため真っ黒になって しまいます。
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
参考になりますか? https://miiverse.nintendo.net/posts/AYIHAAAEAAArVRTtNOdLCQ
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
こんな画面です。十字ボタンで上下左右にスクロールします。Aボタンを押すと4倍速でスクロールします。
0そうだね
プレイ済み
プレイ日記
otta777 otta777a
画面サイズの2倍のBG画面を上下左右繋げてスクロールするサンプル。
1そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
同じ名前のユーザー定義命令、または関数が宣言されています。 検索機能を使って293行目と同じ名前のユーザー定義命令か関数が 無いか調べ名前を変更して下さい。
2そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
そうですね。 SPCOL 0,始点X,始点Y,幅,高さ で衝突情報の設定ができるのでもう少し当たり判定を小さくした方が いいと思います。数値はご自身で違和感が無いようになるまで調整 して下さい。
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
SPCOL命令で当たり判定の始点X,Y座標、幅、高さの指定ができます。 無指定だと始点X,Y座標は0,0(左上)で幅、高さはスプライトの サイズと同じになっているため実際にキャラの絵が衝突したように 見える前にスプライト同士が衝突していると判断されるためずれて いるように感じるのでは無いでしょうか? SPCOL命令のヘルプを見て始点X,Y座標、幅、高さの数値を調整して みて下さい。
1そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
BGFILL命令のヘルプを見ると始点座標、終点座標は0~BGSCREENで 指定した値-1となっていてこの範囲を外れたBGは描画されません。 BGPUT,BGGET命令ではこの範囲を外れるとOut of rangeという エラーになります。 なぜ0未満の座標に描画しようとしたのでしょうか?
1そうだね
プレイ済み
返信[32]
親投稿
otta777 otta777a
人間に叩かれないようにGを操作するゲーム。人間は最初は新聞紙を 使ってきますが逃げ続けているとだんだん大きいものや硬い物で狙って きます。Gホイホイに突っ込んだら即ゲームオーバー。 新聞紙などの柔らかい物なら3回叩かれるとゲームオーバーだけど 硬い物は2回または1回叩かれるとゲームオーバーとする。 叩かれる場所には事前に影が映り込むのでそれを見て逃げろ! なんてどうでしょう?
0そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
どういう処理をしたいのかのお答えもいただけないようですし 私が勝手にこうだろうと憶測でプログラムを変更しても目的の 動作になるか分かりません。 よく分からないけど動作が変だから上手く動くように直してという 事でしたら申し訳ありませんが手を引かせて頂きます。
1そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
240行目の処理をIF命令から代入命令に変えたのにはどんな理由が ありますか? どういう処理をしたいのかが分からないのでそれでいいのかは 判断できません。 BGGET関数はその書式ですとドット単位の座標で(0,224)のBGの キャラクターコードを取得します。
0そうだね
プレイ済み