Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 1272
次のページ(過去)
返信[8]
親投稿
otta777 otta777a
万能MMLプレイヤーのフォルダの中のFILESの結果の スクリーンショットは貼れますか? BGM000の前に万能MMLプレイヤー以外のファイルがあるとMMLの ファイルを認識出来ない仕様のようです。 MMLの追加はBGM019以降のファイル名を使う必要がありそうです。 その際は行頭のラベル名もファイル名に合わせて下さい。
1そうだね
プレイ済み
返信[6]
親投稿
otta777 otta777a
スロット1に読み込まれるBGMプログラムの行頭のラベル名は @MIKUBGM+(BGM番号の3桁の文字列)となっていますか? だとしたら改造前のプログラムに戻しても58行目の条件が 満たせないためSubsprict out of rangeになりますよ。 58行目も61行目と同じようにラベル名を書き換えて試してみて下さい。 58行目、61行目、スロット1に読み込まれるMMLプログラムの ラベル名が同じ規則になっていないとこのプログラムでは MMLデータと認識出来ないため不具合になってしまってます。
1そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
【訂正】と【追記】 MML$のデータ→MMLデータ 60行目のIF命令の条件が成立しないためENDIFまでのMMLデータを 配列変数に格納する部分が実行されないため Subsprict out of rangeとなります。
1そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
58行目でラベル名があるかチェックを行ってますが"1:@BGM"も 61行目と同じように変更しないと曲データを検知出来ずに 配列変数MML$にMML$のデータがPUSHされないため Subsprict out of rangeとなります。
2そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
"0"*SFT+RIGHT$(BIN$(NUM,32),32-SFT) SFT:右シフトしたいビット数 NUM:右シフトしたい数値 として2進数の文字列を切り取って論理シフトした結果にする方法もあります。 かなり小ずるいですけど^^;;;
3そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
BGANIMEが終了したときに新たに雲を置き直してしまうと画面が 繋がっているようには見えません。 BG画面を横に1画面分多く確保しておいてBGCOPY命令で画面の 左端から1画面分を多く確保した部分にコピーしておくと BGANIMEで画面の右端までスクロールしたときに画面の右端の 部分も描かれているので繋がっているように見えますよ。 BGANIMEが終了したときはBGOFS命令でBG画面のオフセットを 左端の位置に戻してからBGANIME命令を再度実行すれば 良いと思います。
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
119行目のINSTR関数ですが第1引数の文字列の中に第2引数の 文字列を含む場合に第1引数の文字列の何文字目から始まっている かを返します。 119行目のINSTR関数で指定しているQ$[I]とYOKEN$を入れ替えて みたら変化有りますか?
0そうだね
プレイ済み
返信[7]
親投稿
otta777 otta777a
変数ECには一番最後にセットした植物のスプライトの管理番号が 入っているので1回Bボタンを押すと一番最後にセットした植物の スプライトを消せますが変数ECの値が変化しないのでそれ以外の 植物のスプライトは消せません。 Bボタンを押したときにどういう処理をするかによって対策は違います。 1)カーソルの位置の植物を消す 2)一番最後にセットした植物を消す
0そうだね
プレイ済み
返信[20]
親投稿
otta777 otta777a
ループとは特定の条件が成立するまで処理を繰り返す事を指すようで 無限ループは条件を意図的に成立させないようにするかループ内の 処理によって条件が成立しなくなってしまった場合に発生します。 後者はバグによって発生することがありますね。 ATMや切符の自動販売機やアーケードゲームなど、プログラムが 終了してしまうとサービスが提供できなくなってしまう物に意図的に 無限ループを実装しています。
1そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
1ページのグラフィック画面を表示しているときだけスプライトを手前に 表示したいというのでしたら GPAGE 1,1:GPRIO -1 処理 GPAGE 0,0:GPRIO 0 のようにGPAGEで指定したページによってGPRIOの設定を切り替えてみるのは どうですか?
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
特に表示の優先順位を指定しない場合はスプライトの方が グラフィック画面より表示の優先順位が高いのでそのように スプライトがグラフィック画面の上に乗っかったようになります。 GPRIO命令でグラフィック画面をスプライトの手前に表示するように スプライトのZ座標より小さい数値でグラフィック画面のZ座標を 設定して下さい。
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
#と同じ音階を半音上げる働きがあります。昔のBASICのMMLでは #ではなく+で半音上げるものがあったのでその名残で残して あるのではと思います。
1そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
LOCATE命令で画面の上からCHR$(10)を表示してるって書かなかったから 分かりにくかったですね。 原因が分かって頂けたようで何よりです。 動作がおかしい場合は途中にSTOPを挿入してどこまでが想定通りの 動作をしているか確認するのも一つの手です。 今回自分もそれで原因が分かりました。
1そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
文字がずれる理由はコンソール画面の高さに対して表示している CHR$(10)の数が画面に表示されている文字をスクロールアウト させるのに足らないからです。 XSCREEN 5の時はコンソール画面の高さが50行になっています。 最初のプログラムで24~27行の部分でグラフィック画面のドット数から 計算したコンソール画面の高さに合わせてCHR$(10)を表示していますが 480ドットの場合でも60個しか表示されないため画面に表示されている 文字が残ってしまいます。これが文字の表示位置がずれたように見えた 原因だと思います。 >毎回かならず全画面スクロールして、画面に文字残らないはず という仕様を想定していたようですがXSCREEN 5の場合は残ってしまって いたというわけですよ。
1そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
29行目にCLSを挿入すれば問題は解決します。 コンソールの高さを取得するときにCHR$(10)を想定されるコンソールの 高さの数だけ表示してシステム変数CSRYと比較していますが XSCREEN 5の時は高さが50行になっているので10行ほど 画面がスクロールするため画面に文字が残りますがXSCREEN 4以下の 場合は高さが30行しかないので画面の文字が全てスクロールしてしまい 画面に文字は残りません。 このためにずれた位置に表示されたように見えたのでは無いでしょうか?
0そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
自分がBIGを購入するのを決めたきっかけは大きな画面で 16×16ドットのフォントが標準で使えることでした。 3号ですと編集画面で漢字が読みづらい欠点があったので 実機でその画面を見たときの衝撃は忘れられません。
1そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
命令を間違えていました。 誤:SPOFS ~ OUT ~命令で読み取ったW,Hを指定に使用すれば 正:SPCHR ~ OUT ~命令で読み取ったW,Hを指定に使用すれば
3そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
SPCHR命令でW,Hの引数を省略すると16が指定されたと見なすと ヘルプには書いてありますが #SPROT90または#SPROT270の設定をしたスプライトでSPCHR命令の W,Hの引数を省略するとW,Hの値が入れ替わってしまうようです。 SPOFS ~ OUT ~命令で読み取ったW,Hを指定に使用すれば 希望の動作をすると思いますがどうでしょう? #SPROT0や#SPROT180では値の入れ替わりは起きないのですが #バグなのか仕様なのか判断は付きませんでした。
4そうだね
プレイ済み
返信[24]
親投稿
otta777 otta777a
先に作ったプログラムを公開してこのプログラムにこう言う絵を描いて くれませんかってお願いをした方が賛同して下さる方が現れるかも しれないですね。
3そうだね
プレイ済み
返信[16]
親投稿
otta777 otta777a
あ、そっか。データは10進数で記述した方が短くなりますね。盲点でした。
0そうだね
プレイ済み