トピック

マミモンの主人公の移動を完璧にする計画

マミムメモンスターの主人公の移動を完璧にしようと思う。ただプレイ日記でいちいちやったんじゃあいつ完成するかわからないから、それ専用のトピックをたてた、というわけ。 やらねばならぬこと ・16マス移動(SPBG1個分の幅) ・十字で動いたら動かした方向に主人公を向かせる 16マス移動についてはそこまで移動するのにSPANIMっぽくなめらかに動きたい。(初代からそう) 十字については上と下(前)は違うspを用意しなければならない。 というか、まず歩かせるアニメがほしいね。 移動処理のプログラムが複雑だし自分でもわかんなくなっちゃってる… ◆この前あまさと しおんさんにgotoの後ろにあるために生きていない行があるとのコメントをいただきました
11そうだね
プレイ済み
返信[1]
親投稿
ΖΕΧ ZEX256
参考になれば DATA_MAP【DADAXZ3】 CHIRO  【J5343VAE】
6そうだね
プレイ済み
返信[2]
親投稿
エラーが出る内容を書いて「あいうえ」とか どんな操作をしてもSyntaxErrorがでなければそこは生きてないのよね
4そうだね
プレイ済み
返信[3]
親投稿
エラーじゃなくてDIALOGでも何でもいいけど書き加えてその行が実行されるか確かめる方法はデバッグスキルの1つ。
4そうだね
プレイ済み
返信[4]
親投稿
つばさ☆ nsm2116
こっちはアニメーション付きでできたんだよな(SPANIMで16ドット)スクロールの時は動かさずにBGANIMでやります。
3そうだね
プレイ済み
返信[5]
親投稿
つばさ☆ nsm2116
前、後ろ、左、右のアニメあったよ。 移動のプログラムって確か IF B ANDだったよね。
3そうだね
プレイ済み
返信[6]
親投稿
ちなみに最新のキーはこちら 移動関係は何も変わってないけど
3そうだね
プレイ済み
返信[7]
親投稿
ちなみに生きてない行もう一回貼っておく
4そうだね
プレイ済み
返信[8]
親投稿
つばさ☆ nsm2116
ちなみにこんなん。 このやり方だとめんどいけど自分風のネタです。SPには3がSWには12が入ってる。んでFがSW以上になったらSPSTOP 0してる。あまりおすすめしない。自分風のネタなのでw ていうか主人公ものすごいスピードで動くから疲れそうw
3そうだね
プレイ済み
返信[9]
親投稿
つばさ☆ nsm2116
そろそろDATAか配列にしないときついな。配列の時も結局DATAか。てか変数使えばいいのに。短縮できる部分短縮しとくくね。
4そうだね
プレイ済み
返信[10]
親投稿
DEFはこの前使い方を覚えたばかりなので「数値や文字だけ自分で入力してあとはこの文字列でok」というのはまだわからないw
1そうだね
プレイ済み
返信[11]
親投稿
otta777 otta777a
キャラクタをBGのキャラクタコードに変換するならINSTR関数で 配列変数BGC%にBGのキャラクターコードをREAD命令で DATAから読んでおけば、 A%=INSTR("マップにあるキャラクタの文字列",M$):BGPUT 1,X,Y BGC%[A%] とすれば大量のIF命令を羅列しなくても記述できますよ。
3そうだね
プレイ済み
返信[12]
親投稿
otta777 otta777a
DIM BGC%[4]:BGCS$="" FOR I=0 TO 3:READ Z$,BGC%[I]:BGCS$=BGCS$+z$:NEXT DARA " ",1,"0",866,"A",868,"a",864 としておいて A%=INSTR(BGCS$,M$):IF A%!=-1 THEN BGPUT 1,X,Y,BGC%[A%]
3そうだね
プレイ済み
返信[13]
親投稿
ほっぺ tkytbrgb
・最初、主人公とライバルの名前を入力するところがあるけど最大文字数を設定してないから10文字とか50文字とか入力できてしまう。それによって表示が乱れる。 ・折角DEFでウインドウの枠を表示させているのに何で文字を表示させるさせるときに再びPRINTで枠を表示しているの? ・ウインドウの中に文字を表示させるときにわざわざ空白も一緒に表示させて前回の表示文字を消しているが 文章表示→スペースで埋める→次の文章表示 とした方がいいと思う。スペースで埋める部分はgosub returnかDEFでやるといいよ
3そうだね
プレイ済み
返信[14]
親投稿
かおなし SYO-YU-KOTO
コメ残しピンポンダッシュ
2そうだね
プレイ済み
返信[15]
親投稿
HRT-86_にでら mijuharuto
内容が気になるのでこめのこ。
4そうだね
プレイ済み
返信[16]
親投稿
・文字数→キーボードを変える予定なので今は何もしないけど変えたら文字数制限つける ・ウィンドウ→必要な行だけを表示している。一番上とかはやってない。 (それでもいらないところはあると思うけど)
3そうだね
プレイ済み
返信[17]
親投稿
ウインドウ命令自体が枠を含んでいるので、最初うんぬんじゃなくていらないのでは
2そうだね
プレイ済み
返信[18]
親投稿
するとX軸を調べなければならない 調べてくるか ちなみに生きてない行の前のGOTOを消すとつづきからはじめてもこうなる 初期位置がここのマップだからそこは問題ないが、何故BGがない?
1そうだね
プレイ済み
返信[19]
親投稿
つばさ☆ nsm2116
いやそのGOTOはマップ表示ですもん。 つづきからの時は+しているで行き先を変えてる。そのさきに MAKEMAPとかいう自作命令で表示している。
1そうだね
プレイ済み
返信[20]
親投稿
なるほど、そういうことか… では、あの行を生かすにはどうすればよいのだ? プログラムまるまる@MAINLOOP内にもってくるとか?
1そうだね
プレイ済み
返信[21]
親投稿
otta777 otta777a
メインループからGOSUBで呼び出しするようにしたらプログラムを まるまる持ってこなくてもいいかと思いますよ。
2そうだね
プレイ済み
返信[22]
親投稿
GOSUB @IDOW 結果
2そうだね
プレイ済み
返信[23]
親投稿
つばさ☆ nsm2116
プログラム見せてくれないか?
2そうだね
プレイ済み
返信[24]
親投稿
stack overflowね GOSUBをGOTO代わり(RETURNしない)で使っている可能性
2そうだね
プレイ済み
返信[25]
親投稿
公開
2そうだね
プレイ済み
返信[26]
親投稿
貧弱回線につきいまだにゲージが増えない
2そうだね
プレイ済み
返信[27]
親投稿
アクセスポイントを変えてはどうかしら このNew3DSのインターネット設定をする時全く繋がらなかったから別のアクセスポイントに設定したのだ
2そうだね
プレイ済み
返信[28]
親投稿
やけに指向性が強い(?)DSをほんのちょっと動かすと繋がったり切れたりする。 パソコン用のを使うにはたぶんMACアドレスの登録がいるなぁ…
2そうだね
プレイ済み
返信[29]
親投稿
あ、拾えたよ
2そうだね
プレイ済み
返信[30]
親投稿
ん??? 移動処理は歩いた方向にSPCHRしてくれる便利な処理までついてるみたいだが… この行が生きてないなら何故主人公は動けるのだ?
3そうだね
プレイ済み
返信[31]
親投稿
つばさ☆ nsm2116
僕がやりにくい分かりにくい移動の処理を作ったからっす。
2そうだね
プレイ済み
返信[32]
親投稿
GOSUB @IDOWをつけた SPCOL 0の後にRETURN→ERROR GOTO@LOOPの直後にRETURN→ERROR RETURNなし→ERROR
1そうだね
プレイ済み
返信[33]
親投稿
サブルーチンの使い方 1.処理をラベルとRETURNで「サンドイッチします」 @ラベル (処理) RETURN 2.処理をやってほしい場所に「GOSUB @ラベル」を書きます
2そうだね
プレイ済み
返信[34]
親投稿
なるほど!! やっとgosubがわかったような
2そうだね
プレイ済み
返信[35]
親投稿
…ん?
2そうだね
プレイ済み
返信[36]
親投稿
GOSUBの場所が惜しいっぽい 繰り返しの範囲が @LOOP から GOTO @LOOP この間のどこか(B=ボタン の直後あたりが良い?)に挟まないとダメ
2そうだね
プレイ済み
返信[37]
親投稿
@IDOW には「時間を止めてしまう」という欠点があるのね… SPANIMにすればいいのだけど…
2そうだね
プレイ済み
返信[38]
親投稿
つまりこういう事ですかね (ZEXさんのやつ)
1そうだね
プレイ済み
返信[39]
親投稿
マップDATAにして移動SPANIMにしてType mismuchになりました\(^o^)/
2そうだね
プレイ済み
返信[40]
親投稿
ちゃんとプログラムを理解しないとね。 DATAはDATAに入れた文字列をREAD読み込んで、えーっと…
1そうだね
プレイ済み
返信[41]
親投稿
移動をいじってたらやばいことになってしまった 主人公がGRP4のページの一部になってしまい、移動するとgrp4のページのその位置にある場所になる 説明しにくいので見て、どうぞ ちなみにBを押しながら移動するとあたり判定がなくなり、移動がSPANIMなしの16マス移動になります。(左に移動する時のみSPANIMつきの16マス移動) ↑もうわけわからん
2そうだね
プレイ済み
返信[42]
親投稿
スパゲティ食べてもいいかなぁ?(=思いっきり書き換えて直す)
3そうだね
プレイ済み
返信[43]
親投稿
もう自分ではどうにもできなさそうなのでどうぞ… (そもそもこの移動プログラムいつのだっけ)
2そうだね
プレイ済み
返信[44]
親投稿
otta777 otta777a
740行目のSPSET 0,X,Y,-255とあるけどSPOFSの間違えでは?
3そうだね
プレイ済み
返信[45]
親投稿
GMX,GMYってなんだろ
3そうだね
プレイ済み
返信[46]
親投稿
とりあえず移動とこ書き直しver.
3そうだね
プレイ済み
返信[47]
親投稿
このX,Yはナンナノ?
3そうだね
プレイ済み
返信[48]
親投稿
返事がない。ただのしかばねのようだ。 …GMXのGMって確かに何の略だろう
2そうだね
プレイ済み
返信[49]
親投稿
すれちがったwwwww
2そうだね
プレイ済み
返信[50]
親投稿
主人公の家から出たら主人公の家の前 ライバルから出たらライバル前 研究所から出たら研究所前 に出るように直そうと思った… が、失敗したかもしれない
2そうだね
プレイ済み
返信[51]
親投稿
多分X,Yの値は正しくない(その部分を変えた後セーブしてないと思ったら変わってました。すみません)
2そうだね
プレイ済み
返信[52]
親投稿
ライバルの家から出ると本来画面外に出るのを防ぐBGと重なってしまい、上に行けばよろしいが下に行くと画面外に行く。
3そうだね
プレイ済み
返信[53]
親投稿
よくみたら変数名を間違えた状態で上がってる… (NOW2$とかいう変数はない) これはまずい…修正します
4そうだね
プレイ済み
返信[54]
親投稿
NOW2$ができた原因は「置き換えでやらかした」からです。 主人公の家の前で固定ですが、とりあえず修正しました。 (本体のみ公開)
4そうだね
プレイ済み
返信[55]
親投稿
こんな位置で話しかけれるのは少々違和感があるな…
4そうだね
プレイ済み
返信[56]
親投稿
斜めに移動する時本来行けないはずのBGにちょびっと重なるあたりバグが増えそう てか、本家って斜め移動できたっけ…?
4そうだね
プレイ済み
返信[57]
親投稿
斜め封じは工夫がいる
4そうだね
プレイ済み
返信[58]
親投稿
そういえば、移動を変える前のプログラムでも斜め移動あったね
4そうだね
プレイ済み
返信[59]
親投稿
DATA "■",2 DATA"■■■■■■■■■■" READ M$ BGPUT 0,X,Y 「DATAで文字列を読み込んだ。その文字を番号に割り当ててBGPUT。■の場合はBG番号2番をBGPUT」
3そうだね
プレイ済み
返信[60]
親投稿
結果 そういやさっきの画像の1408行目、すり抜け防止も動いてないけど 他に何かいるのかなぁ
3そうだね
プレイ済み
返信[61]
親投稿
つばさ☆ nsm2116
SPHITRCってループ外でも使えるんだ! 初めて知った!今までループ内でやってたのに!
1そうだね
プレイ済み
返信[62]
親投稿
(そもそもスプライト系命令が使いこなせるようになったのはこの作品が初なのでそんなの知らない…) マミモン製作前はたぶんSPSETとSPOFSくらいしか使えてなかったとおも
3そうだね
プレイ済み
返信[63]
親投稿
移動が完璧に出来たので閉じます (まぁ今度はマップ表示が出来てないが)
1そうだね
プレイ済み