トピック

このマップ、

移動制限?したいのですが… (今の状態は木の所も歩けてしまうんです。) それとキャラクターが移動すると 移動している方に画面スクロールするように したいのですが… (スクロールの制限って出来ますか?)
0そうだね
プレイ済み
返信[1]
親投稿
スクロールは BGPFS レイヤー,X,Y,[Z] スクロールの制限(あたり判定)は 変数=BGGET (レイヤー,X,Y,[座標係フラグ ] という命令があります。ちゃんと変数などを理解しているととても簡単ですよ!
0そうだね
プレイ済み
返信[2]
親投稿
すいません、 BGOFSでした。
0そうだね
プレイ済み
返信[3]
親投稿
こんな感じであってますか?
0そうだね
プレイ済み
返信[4]
親投稿
ほしけん Hosiken
「感じ」はあってます。 ちょっと違うかな、と思ったのは ・変数はX,YじゃなくてBGX,BGYのほうがたぶんいい ・変数IはFORで使う慣習があるので、BGGとか別の名前のほうがいいです ・判定は常時とるので、WHILE TRUE~WENDの中に入れてください ・逆に、LOAD "GRP4:~" を WHILE TRUE~WENDの外(前)に出してください STICK OUT STX,STY BGX=BGX-STX BGY=BGY+STY BGOFS 0,BGX,BGY と書けば、とりあえずスライドパッドでスクロールできます。 キャラが一緒にスクロールしないですが一旦おいておきます。
0そうだね
プレイ済み
返信[5]
親投稿
ほしけん Hosiken
> ・変数はX,YじゃなくてBGX,BGYのほうがたぶんいい すいません、ここウソです。 「BGOFSに渡す」変数は、BGX,BGYのほうがいい BGGETは、BGGET(0,MYX,MYY,1) で自分の座標にあるBGの番号が取れます。 PRINTして値を見ながら動かすと何か分かると思います。
0そうだね
プレイ済み
返信[6]
親投稿
ΖΕΧ ZEX256
でんぺんさんの スマイルツールのマップエディタで作ったマップを使った大型サンプル (アトリビュートを使った当たり判定) https://miiverse.nintendo.net/posts/AYIHAAAEAAA5VHwbyLZRQQ アトリビュートと言っているのはマップエディタ左下の[A×]のこと
0そうだね
プレイ済み
返信[7]
親投稿
これでいいんですか?
0そうだね
プレイ済み
返信[8]
親投稿
ほしけん Hosiken
一見あってるように見えるのですが… 153行目でエラーが出ませんか? (引数が足りない) 147行目を153行目に移動してください。 そのあと、追加した147行目~157行目を「GOTO @7」に移動してください。 もしくは、@7とGOTO @7は要らないんじゃないかと思います。 WHILE TRUE と WEND ってありますよね? この2つの間を繰り返えすはずなのに、その中に@7~GOTO @7 で繰り返すようになってしまっています。 ここまでやって、スライドパッドでBGがスクロールしたら成功です。
0そうだね
プレイ済み
返信[9]
親投稿
ほしけん Hosiken
一見あってるように見えるのですが… 153行目を通るとエラーが出ます (引数が足りない) まず153行目を消します。 BGOFSは147行目にもあります。これを153行目に移動してください。(移動しなくても動きますが、順番的にこっちのほうが目で追いやすくなります) また、@7とGOTO @7は要らないんじゃないかと思います。 WHILE TRUE と WEND ってありますよね? この2つの間を繰り返えすはずなのに、その中に@7~GOTO @7 で繰り返すようになってしまっています。 今回追加した部分は、GOTO @7で繰り返しが終わる先にあるので通ることが無いと思います。 いったん、GOTO @7、@7は消してください。 ここまでやって、スライドパッドでBGがスクロールしたら成功です。
0そうだね
プレイ済み
返信[10]
親投稿
こうですか? (キャラクターが動かなくなってしまいました…)
0そうだね
プレイ済み
返信[11]
親投稿
ほしけん Hosiken
153行目からずっと改行が続いてますが、下に行くとに何がありますか? WENDがどこかにあると思うんですが
0そうだね
プレイ済み
返信[12]
親投稿
WEND?はちゃんとありますよ。 (空いてますが…)
0そうだね
プレイ済み
返信[13]
親投稿
ほしけん Hosiken
見える範囲では大丈夫そうに見えますね 公開キーで見せていただけますか? (今すぐ見れませんが
0そうだね
プレイ済み
返信[14]
親投稿
著作権とか…大丈夫ですかね?
0そうだね
プレイ済み
返信[15]
親投稿
ほしけん Hosiken
マリオの絵をそのまま使ってるとか、 クローンゲーム(内容が既存のゲームの完コピ)とかじゃないので 大丈夫だと思いますよ
0そうだね
プレイ済み
返信[16]
親投稿
Digital Monster を使ってます…
0そうだね
プレイ済み
返信[17]
親投稿
ほしけん Hosiken
どこに使ってますか? 名前だったら別にかまわないです。 もしドット絵がGRPに入っていても、私が見たいのはPRG(プログラム本体)なので、アップロードするのはPRGのファイルだけで問題ないです。
0そうだね
プレイ済み
返信[18]
親投稿
ドット絵がDigimonを使用してます… (それと、スライドパッドでのスクロールは 木は動きませんが地面の方は動きます。)
0そうだね
プレイ済み
返信[19]
親投稿
ほしけん Hosiken
問題ないと思うのでPRGだけアップロードしてみてください。
0そうだね
プレイ済み
返信[20]
親投稿
こういう事かは分かりませんが… 公開キー【545323Z4】
0そうだね
プレイ済み
返信[21]
親投稿
ほしけん Hosiken
119行目の WHILE TRUE を 126行目(もともと@7があった場所)に移動してください。120~125行目は位置とスプライトを初期化する処理があるのに、WHILE~WENDで繰り返している部分に巻き込まれてしまっていました。 これでキャラが歩けます。 地面しか動かない部分については、 BGOFS 0,BGX,BGY の次の行に BGOFS 1,BGX,BGY を追加してください。 今は0と1の二層を使っています。スクロールもそれぞれの層でできるので、今回の場合は、1層のスクロールも必要です。 主人公がスクロールについていかないので、スプライトの位置(MYX,MYY)にBGの位置(BGX,BGY)を加味します。 144行目を SPOFS 0,MYX-BGX,MYY-BGY 147行目を BGG=BGGET(0,MYX-BGX,MYY-BGY,1) に変更してみてください。
0そうだね
プレイ済み
返信[22]
親投稿
ほしけん Hosiken
この時点では、画面スクロールがスライドパッドによる手動のままです。 STICK OUT STX,STY BGX=BGX-STX BGY=BGY+STY これがスライドパッドで動かす処理なので、いったん消します。 消した代わりに、BGX,BGY の値をいい感じに計算すると自動でスクロールします。以下の行を追加すると、主人公の位置にあわせて画面が動きます。 BGX=MYX-200 BGY=MYY-120 (200と120は画面の縦横サイズを半分にした数字です) マップ外が見えないようにするには、BGXとBGYの範囲を0~(マップの幅-画面の幅)の間になるよう調整します。 IF BGX<0 THEN BGX=0 IF BGY<0 THEN BGY=0 IF BGX>16*64-400 THEN BGX=16*64-400 IF BGY>16*64-240 THEN BGY=16*64-240
0そうだね
プレイ済み
返信[23]
親投稿
ほしけん Hosiken
ここまで、一気にやるよりは一箇所ずつやって実行して確認していったほうが、何をやってるか分かると思いますので、ひとつずつ進めてください。
0そうだね
プレイ済み
返信[24]
親投稿
こんな感じであってますか?
0そうだね
プレイ済み
返信[25]
親投稿
ほしけん Hosiken
ざっと見た限りでは150行目と156行目がアウトでした。 一気にやると打ち間違いもわかんなくなると思うので、 最後に書いたとおり、一箇所ずつ実行して変化を確認して欲しいです。 いちおう、一箇所ずつでもちゃんと動くように書いてます。 漠然とまとめて書き写すだけだと、よく分からないままなので、書き写した部分に手を付けられなくなって詰んでしまう要素になってしまいます。できる範囲で何をやってるのか把握することをおすすめします。
0そうだね
プレイ済み
返信[26]
親投稿
なるほど…ではこうですか?
0そうだね
プレイ済み
返信[27]
親投稿
ほしけん Hosiken
合っているか確認するのは、うまく動かないからでしょうか? 書き写して、打ち間違いまで探してもらうんじゃ本末転倒なので、 せめて単純な打ち間違いくらいは自力で解決してみてください。 実際150行目が間違ってます。 149行目と150行目はBGの0層と1層にそれぞれ同じ座標を入れます。 BYXやBYYという変数はどこにも使ってないです。 私の言ったとおり、一気にやらずに一箇所ずつよく見てやれば おかしいことに気づくことができる部分だと思います。 残り投稿回数がこれで0になるので、本日はもう答えられません。 自力で頑張ってください。
0そうだね
プレイ済み