Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
174 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94184
次のページ(過去)
返信[8]
親投稿
ラベルは目印となるマークのようなもので@名前のような感じで書いたものがラベルになります。 例えばGOTOやGOSUBでプログラムを飛んだり呼び出したいと思っても、どこを呼び出せばいいかわからないと困りますよね? なのでこのラベルというのを書いて、GOTO @ラベル、のような形でその場所に飛ぶ、みたいな処理になるわけです。 ラベルは飛び先以外にもREADで読み込むデータの場所を示すRESTORE命令などでも使ったりしますんで、ラベルの概念はきちんと理解しておいた方がいいですよ。頑張ってください!
1そうだね
プレイ済み
返信[2]
親投稿
丁寧に返事したいのですが時間がないのでコメントだけ…。 僕の活動の中で何回かBG関係の投稿をしているので、その中には質問の答えになりそうなものもあると思うので、良かったら見てみてください〜。
1そうだね
プレイ済み
返信[2]
親投稿
STXとSTYは0ですね〜
1そうだね
プレイ済み
返信[1]
親投稿
ヒマなひとさんの指摘のように3行目に?が無いですね。 あとエラーが起きた場合はエラーメッセージの行を書いた方がいいですよ〜。その方が見てくれる人がチェックしやすくなります。 HU==16でも問題ない(同時押しは出来ないけど)と思いますが、ループしてないのでプログラムは一瞬で終わっちゃいますね。
0そうだね
プレイ済み
返信[89]
親投稿
ちょうど別の投稿にコメントしたらこっちにもコメントが! アトリビュートに2以上の数字を使わなければ公式ツールとの併用も可能なのでいじってみてください〜。マップサイズを変えた場合は、公式ツールで一応読み込めて動くのは確認してるんですが、公式ツール的には保証外だと思うサイズなので、不具合が出る可能性があるかもなので、そこは注意です。 (同じサイズ・アトリビュートで利用する際は完全互換です)
0そうだね
プレイ済み
返信[8]
親投稿
PUCHI-MAPというのを公開してます〜。 公式ツール互換あり(ただし上記のアトリビュートに2以上の数字を使ったりすると公式ツールの方ではエラーになります。1か0に戻せば読み込めます)で公式ツールより使いやすくなってると思うんで良かったら使ってみてくださいね〜。公式ツールでは出来ない64×64以外のマップサイズにすることも出来ますよ。
1そうだね
プレイ済み
返信[6]
親投稿
お役に立てて良かったです〜。構造はその通りですね。 アトリビュートはマップキャラの数が32×32個あって1キャラに対して1バイトが割り当てられてるので1024バイトになる感じですね。 またマップデータは1つが2バイトになってるんで、それがマップの広さが64×64なので1レイヤーにつき8192バイトと。 わかってると思っていますが補足してみました〜。 ちなみにアトリビュートは1バイト割り当てられてますがマップツールで使っているのは0か1だけなので、僕の作ったマップツールでは0〜255(1バイト)の値を自由に設定できるようにしてみました。ただまだあまり有効に利用する方法が見つかってない感じもあるんで、まあオマケみたいな感じですね〜…。
1そうだね
プレイ済み
返信[1]
親投稿
ガイドブックは割り切って全部マンガの初心者講座の長編(?)の方が良かったかもって思ったりもしました。命令などはWEBなどできちんと補足してくれればなんとかなるし…。 まあ色々と注文をつけすぎたので全部てんこ盛りにしようとした結果なのかもしれませんけどね(^^;
1そうだね
プレイ済み
返信[5]
親投稿
ランチャー紹介してくれてありがとうございます〜。 ちょこっと便利なツールですね〜。プロジェクト名あまり覚えてないですしね〜。 ちなみに変更したF1キーを元に戻す機能ってありますか? なんとなくデフォルトに戻せる機能もあるといいなと思ったので〜…。 僕は最近は活動してないので、たまにコメントするぐらいですが、これからも頑張って活躍してください!
1そうだね
プレイ済み
返信[7]
親投稿
基本的には木が飛び出している感じですよね? 木の絵の角度が真上からというわけではないので多少違和感を感じますね。ちょっと飛び出し過ぎな気もするんで、もうちょっとだけ控えめにしてみればいい感じになるんじゃないかな?って思います。 あとは床という設定との事ですがまわりを囲っているので壁みたいな感じがするんで、みんなが言っているように壁が低い感じに見えるのが違和感があるかもしれません。
0そうだね
プレイ済み
返信[1]
親投稿
23行目と24行目の間にVSYNCを入れれば直るんじゃないかなと思います。 理由は、BUTTON命令の内容はVSYNCが発生しないと以前のボタンの状態のまま更新されないことが多いので、メインループなどのループの際やボタンの入力を確実にしたい場合はVSYNCを入れてタイミングをとる必要がある感じです。 今はボタンの内容が変化しないで一度押しただけなのに何度も同じ判定に入ってしまってるんじゃないかと思いますよ。
0そうだね
プレイ済み
返信[5]
親投稿
確かにツララさんの言うようにせっかくOS風なものを作るのであればなにかに似せるよりも独自性を高めた方が面白いかなーって思いますね〜。 頑張ってください〜。
1そうだね
プレイ済み
返信[3]
親投稿
エラーにはパターンがあるので、とりあえずはエラーメッセージを確認・ヘルプで意味を確認(この時点で完全に意味がわからなくてもOK)・エラーのある行をチェックを繰り返していくと、どんなエラーメッセージがどういうときに発生するのかがわかってくると思いますよ。 デバッグもある意味経験しないとスキルアップしないので、エラーを直すのも一つのゲームだと思ってチャレンジしていくといつのまにか総合的に上達していくことになると思います。
0そうだね
プレイ済み
返信[2]
親投稿
ヨッシーさんの言うとおりボタンを押している間つねにSPAIMを実行してしまうとアニメーションは再生されません。(というか毎回アニメーションの頭に戻るので変化が出ない) あとSPANIMでキャラ番号を変えているならIFの中にあるSPSETは不要になると思いますよ。(SPANIMで切り替わるので) またSPANIMを使わないでキャラを切り替える場合もSPSETよりSPCHRで行う方がいいです。
0そうだね
プレイ済み
返信[1]
親投稿
Aはアトリビュート(属性)の意味だと思うのですが、このデータはマップツールが生成したデータに含まれる感じで実際のマップデータ(BG)自体に含まれる情報ではないのです。 なので利用する場合、マップツールで作ったマップをロードする際にこのA情報を配列に読み込んでおき、それを参照する形で利用する事になります。 以前作ったサンプルに一応このアトリビュートを使ったものがあるので参考になりそうならしてみてください。僕の活動の12月30日にある「スマイルツールのマップエディタで作ったマップを使った大型サンプルです」のやつです。
1そうだね
プレイ済み
返信[3]
親投稿
厳密にはNoBさんの考えている事で合ってると思います。十字キー以外という意味ではサンプルのコードは不備がある感じですが、ゆうたんさんの言うように拡張スライドパッド用のボタンなので実害はほとんど無い、みたいな感じでしょうね。 bit4〜bit12までの9桁をマスクするANDという意味では、&H1FF0の方が正しいでしょうね。
0そうだね
プレイ済み
返信[4]
親投稿
理屈的にはお二人が言われているような感じですね。 プチコンではボタンの処理で使われていることが多いですが、その場合の大体の違いは、ANDはボタンの同時押しに対応していて、==の場合は同時押しには対応してない、という場合が多いです。 ただANDをしてから==してるのは同時押しに対応しているし、さらに丁寧に処理を書いている場合が多いです。 どちらにしても書き方によって細かいところはかわるのですが、大まかにはそんな感じですね〜。
1そうだね
プレイ済み
返信[3]
親投稿
あ、あともう一点! スプライトは座標系が文字(LOCATE)とは違うので、上画面だとしたらXは0〜399、Yは0〜239までになります。なので上記の例のIFのままだと範囲が狭くてちょっとしか移動出来ないので広げた方がいいと思いますし、1を足すのでは遅く感じたら数字を増やしたりする必要が出てくると思います。(VSYNCも1でいいかも)
0そうだね
プレイ済み
返信[2]
親投稿
いぶきさんの言うとおりです〜。 ちょっとだけ補足するとおそらく前はコンソール(文字)で動かしたり出来ていたんだと思いますがSPだとちょっとやり方がかわります。 一つは、毎回消さなくてもSPの位置を変えれば前のキャラは消える(ので移動する)のでループの中や移動前のCLSは不要です。 またスプライトはSPSETで表示させますが、これも一度表示したらSPCLRなどで消さない限りは消えないので、ループの前に置けばOKです。(ただしACLSでは全て消えるのでその後にしてください) もう一つは移動するときはいぶきさんのアドバイスのようにSPOFSでの変更になります。なのでLOCATEは文字を表示する位置を決めるための命令なので不要になります。 ということでいぶきさんのアドバイス通りの結果になります。いぶきさんが書いてない(書き忘れた?)点はCLSが不要ってところぐらいですね。
0そうだね
プレイ済み
返信[20]
親投稿
ボタン情報はVSYNCやWAITが入らないと更新されない事があるので連続したボタン判定処理があるとうまく動かないことがあります。 なので僕のオススメのボタン待ちの仕方としては、 REPEAT:WAIT:UNTIL BUTTON() == 16 って感じかな。 ちなみに==だとAボタンを押した時しか判定されなくなります(他のボタンを押していては駄目)が、明確にAボタンだけ押したときに進ませたいときは逆に==の方がいいケースもあると思っています。まあケースバイケースですね。
0そうだね
プレイ済み