Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
110 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30184
次のページ(過去)
返信[6]
親投稿
プチマップで作ったデータだとしたらプチマップのバグの可能性もありますよ。 もし読みこみがうまくいってないならロードのプログラムのバグの可能性もあります。 ということで、もしバグっぽい感じだったら報告してくださいね。
0そうだね
プレイ済み
返信[3]
親投稿
おや? プチマップのバグ?
0そうだね
プレイ済み
返信[4]
親投稿
通常形式とレイヤー形式の違いはレイヤー形式での保存サンプル(リンク先)に詳しく書いてありますが、レイヤー形式の場合は1つのマップに対するファイル数が増えるので2レイヤー以上使うのであればメリットは少なくなるので通常形式の方がいいんじゃないかと思いますよ。 レイヤー形式はセーブファイルの内容がシンプルなので展開プログラムとしては理解しやすいですが、上記の読みこみルーチンをそのまま使うのであればあまりメリットはないです。あえて言えば、1レイヤーだけなら通常形式より小さいしファイル数も使わないレイヤーのは削除すれば1つになるのでいいかも? ぐらいですね。
0そうだね
プレイ済み
返信[2]
親投稿
レイヤー形式の場合は、こっちです。という感じのプログラムが必要になります。 以前投稿したページのURLも書いておきます。通常形式の読みこみに関してはこっち方がバリエーションは多いですが用途によって異なります。 日付:2016/1/18 マップツール活用委員会? 様々なマップツールのセーブファイルのロード方法やロードプログラムの公開キーが載っています。 https://miiverse.nintendo.net/posts/AYMHAAACAAADVHk04rsiRg 日付:2015/1/8 スマイルツールのマップエディタでレイヤー形式で保存したセーブファイルの読み込みサンプルです。 https://miiverse.nintendo.net/posts/AYIHAAAEAADHVHhnrtEuhw 良かったら参考にしてみてください。ではでは。
1そうだね
プレイ済み
返信[1]
親投稿
スマイルツールのマップで保存出来るセーブ形式には2パターンあって、通常形式(でいいのかな?)とレイヤー形式があります。 それぞれに対して読み込むためのプログラムが必要になって、その簡易的なものを以前公開しました。 で、通常形式はこんな感じです。
1そうだね
プレイ済み
返信[6]
親投稿
なるほど…。 ちなみに動かなくなった時にスタートボタンとかで強制終了させて、その時に表示される行番号はいくつになってますか?
0そうだね
プレイ済み
返信[6]
親投稿
関数の戻り値を必ず処理する必要があるのはプチコンの仕様。 それ以外で命令に意味を見出すのはプログラマーの力量。
2そうだね
プレイ済み
返信[4]
親投稿
歩かせるにはSPANIMが便利。ただもしキャラクタ同士の当たり判定(キャラの居る場所には移動出来ない)を持たせようとするとちょっとやっかい。BGだけなら楽なんだけどね…。
2そうだね
プレイ済み
返信[4]
親投稿
プログラムの公開キーを出しているのはいいのですが、症状が「なんかたまに止まるときがある」だけでは情報がかなり不親切だと思います…。 不具合はバグレポートのように出来るだけ詳細に出して欲しいです。エラーメッセージが出るのであれば、その内容。出ないのであれば、どんな操作をしたときに発生するとか、大体何秒後ぐらいに起こりやすいとか、断片的な情報でも良いのでわかるだけ書いて欲しいです。 とくに再現率が低いものの場合は、より細かい情報が必要ですし、再現率が100%であれば、その再現方法が分かれば(探して)出せるのが理想です。 その上での公開キー(プログラム開示)でないと、調べる人の負担も大きい気がしますし、調べようという人の数も減ってしまうと思います。(なので、だにえるさんには感謝しましょう)
1そうだね
プレイ済み
返信[10]
親投稿
BとBBをまとめたのはよかったと思います。 あと個人的にはB=BUTTON()は@IDOUサブルーチンの中じゃなくて外(メインループ)の頭に持ってきてもいいような気もしますが、まあ今でも呼び出し順を間違えなければ問題ないので好みの差もあるかな…。
2そうだね
プレイ済み
返信[1]
親投稿
一応お伝えすると正しくインデントをつけるのなら6行目と9行目のスペースは要らないですよ〜。
3そうだね
プレイ済み
返信[2]
親投稿
110行目のGOTOの位置がちょうどBGスクロール後の処理になるんで、GOTOを下にずらして、その位置にBGとの当たり判定を入れればいいと思いますよ。 BGGETを使うと指定座標のBGキャラ番号が得られるので、調べたい位置(キャラの居る場所)のBGキャラ番号を調べて、それが町や城だったら…みたいな処理をすればいいと思います。
0そうだね
プレイ済み
返信[12]
親投稿
キーボードの上の段の左から2番目のピンク色で書かれている”が本当の?ダブルクォーテーションですよ。
2そうだね
プレイ済み
返信[5]
親投稿
フレームレート20みたいだから、まさに余計なVSYNC2回分が影響しているような気がする…
3そうだね
プレイ済み
返信[47]
親投稿
返事を書こうと思ったら、おちゃめさんが詳しく書いてくれているので僕の方は割愛します〜。 ちょっと追加で、もしWAITと比べて、 REPEAT:VSYNC:UNTIL SPCHK(管理番号) AND #CHKI が長くて不便、という感じだった場合は、 DEF WTCHK N REPEAT:VSYNC:UNTIL SPCHK(N) AND #CHKI END のようなユーザー定義命令を作れば必要な時に、 WTCHK 0 と書けば良いだけになるので便利ですよ。 こういう事も含めて色々覚えていくと自分の力になるとも思うので、怖がらずに色々と試しながら自分のやり方をみつけていければいいなと思います。
0そうだね
プレイ済み
返信[4]
親投稿
とりあえずメインループの方でVSYNCしている(別の投稿で見覚えが…)なら、76行目と57行目のVSYNCはいらないですよ。つけると逆に遅くなります。
2そうだね
プレイ済み
返信[1]
親投稿
内容的にそんなに重そうにみえないし何かミスがある気もするけど、プラグラム見てみないとわからないですよ〜
3そうだね
プレイ済み
返信[39]
親投稿
そうですねぇ…。応用と言えば応用ですが命令の組み合わせという意味ではそれほど応用ではないというか、よーするにプログラムなんですよね…。 一例と書いたのは、プログラムには正解がないというか結果が求められればそれは全て正解とも言えるので、一つの例として出しました、という事でもあります。 残念ながら、あとは経験というか、色々とやっていくしかない部分もあります。どんな答えであっても、それを理解しようとする気持ちが大事です。 ある意味、僕のプログラム例は応用というよりは基本に近いです。とくに初心者が分からないように書こうとは思ってませんし、分からない部分はどんどん質問して欲しいと思っています。 そういう意味では、答えに対して「ありがとうございました!」と返事をする人が、ちゃんと理解して返事をしているのか気になる時はありますね。本当に分かっているなら良いんですが…
0そうだね
プレイ済み
返信[8]
親投稿
1行目で既にエラーなので、PRINTで文字列を表示している時の”(ダブルクォーテーション)の記号が間違っているんだと思いますよ。
1そうだね
プレイ済み
返信[37]
親投稿
例えばアニメーションが終わるまでウエイトなら REPEAT:VSYNC:UNTIL SPCHK(管理番号) AND #CHKI みたいな感じですね。ただループとかしていると終わることが無いので、そこは注意って感じです。 コマンドスキップの場合、例えば IF BUTTON(2)==#A && (SPCHK(0) AND #CHKI)==0 THEN 'Aボタンが押されて管理番号0のアニメーション中でないなら実行 ENDIF みたいな感じです。あくまで一例ですけどね…。
0そうだね
プレイ済み