とりあえず気になるのは、何処でSPSETされているのかって感じかな…。
あとはエラーメッセージが出るなら、その内容も書いた方がより正確になりますね。
0そうだね プレイ済み
単純にその行でボタン待ちを入れたい場合は、
REPEAT:WAIT:UNTIL BUTTON(2)==#A
と書けば、その行に来た時にAボタンが押されるまでウエイトが入る(その行が繰り返し実行されるので)という処理にはなりますよ。
そしてこれを使った場合も、この内容がどうしてそうなるのかをちゃんと理解してから先に進んだ方がいいと思います。1行で書かない場合は「:(コロン)」で分割して、
REPEAT
WAIT
UNTIL BUTTON(2)==#A
になりますが、REPEATとUNTILは組で使われるものなので、それもふまえて各命令を調べてみるといいと思います。
0そうだね プレイ済み
間違いやすい文字や記号を間違えるのは始めはよくあるけど、それ以外で正確に写せないないのは、うっかりミスをしやすい人になっちゃうと思うので、1行1行きちんと見て、間違ってないか確認しながら写していきましょう!
間違いやすい記号や文字も慣れてくると、そもそもそんな文字や記号がこのタイミングに出てくるわけないと気がつくようになるので間違えないようになっていきますよ。
0そうだね プレイ済み
プチコンは説明不足な感はとてもありますが、電子マニュアルやスマイルブームのサイト、Miiverseなどを活用して理解を深めていくしかないですね…。
まあでもプログラムって基本そういうところがあるので、そのやり方に慣れておくと、今後、他の言語や開発環境をやりたくなったときに役に立つかもしれません。
2そうだね プレイ済み
気になった点は、Godotさんとほぼ同じです。
メインループがある場合(とくにボタン処理が絡む場合)、ループの頭か終わりにVSYNCを入れておいた方がいいと思います。
プログラムは、同じような記述が出てきたときは、流れの中でまとめられないか考えてみたり、もしまとめられない場合は、サブルーチン(関数)化してみたりして、同じ記述が何度も出てこないようにした方がプログラムが短く、そしてバグの起こりにくいプログラムになるので、その辺も考えてみると良いですね。
1そうだね プレイ済み
プログラムは頭から流れて行って下まで行くと終わってしまうので、あまさと しおんさんも言われているように制御構文というものを使って流れを制御する必要があります。
終わらないようにするには、FORやWHILE、GOTOなどのループ系の命令を使ってプログラムが最後までいかないようにします。
その間でIFなどを使ってボタンの状態に合わせて処理の流れを変えたりしつつ、絵を変更するような命令を書いていけば望みの動作になっていくと思いますよ。
まずはその辺のところを覚えていくといいと思います。
2そうだね プレイ済み
2回ボタン操作を受けつけたいのに、ボタン入力の処理は1回しかしていないのが、そもそもおかしい感じですね。
またボタンの内容はVSYNCなどのタイミングで更新されるので、このソースの場合ならボタン入力処理の前にはVSYNCを入れるようにした方がいいんじゃないかと思います。
あとBUTTONの引数が0だと長押し(実際にはかなり短くても)で連続処理されちゃうので、「2: 押された瞬間(リピート機能なし)」である2を指定した方がいいと思います。
0そうだね プレイ済み
ボタンで押すと言うことは下画面のタッチで押したいということなのかな?
もしタッチの場合、PRINT命令の文字は単純に画面に表示するだけなので、実際は、TOUCH命令でタッチした位置を調べて、その位置がボタン(の文字)の上かどうかを判定するような感じになります。
2そうだね プレイ済み
予定通りの春に発売されていたらWiiUとの衝動買いもあったかもしれないけど、ちょっと遅すぎたーーー!!!!
2そうだね プレイ済み
オマケで書くと、アトリビュートというのは要するにBGキャラ番号に対応した配列だったりします。BGキャラ番号は数字になるので、その数字を添字にした配列を用意して、その配列の内容によって、そのBGキャラに当たりがあるか判定している感じですね。
アトリビュートの配列がATRだとすると、
IF ATR[BGGET(0,X,Y)] THEN
'アトリビュートが1以上(×)のときの処理
ENDIF
みたいに判定出来るので、うまく使うと便利でもあるんですけどね。
2そうだね プレイ済み
SPSETはスプライトの作成ですが実質すぐに表示されますね〜。
そしてはるさんの言われているように、SPOFSはスプライトの位置を決める命令です。初期位置に関しては、SPSETの際にX,Y座標共に0の位置に表示されるので、それが初期位置と言えるかもです。(でもすぐにSPOFSで実際の位置に変更すると思いますが)
XとかYは変数(見たところDX、DYもありますね)ですが、変数名は自分で決められるのでXやYする必要は無いとも言えます。ただ座標は横の位置をX座標、縦の位置をY座標というので、それに合わせてXとYとかDX、DYみたいにわかりやすいようにXとYを含むことは多いですね。
2そうだね プレイ済み
マップエディタのXマークは、アトリビュートという機能のためのものです。
これはマップのBGキャラ(チップ)に対して、当たりが有るか無いかのフラグを設定できるような機能なんですが、あまりこの機能を使って作っている人を見たことはないですね…。
たいていの人が教えてくれているのは、BGキャラ番号を直接調べて、その番号で当たりかどうかを判断するようなプログラムだと思います。
BG自体はマップエディタで作ってもプログラムで作っても同じなので問題ないと思いますが、一応そんな感じですかねー…。
0そうだね プレイ済み
おお、良かったです!
3D風な感じなんですね〜。頑張ってください!
0そうだね プレイ済み
僕が試してみた感じでは再開出来ますが、もしSPCHKなどで動作処理をしていたらSPSTOP中は0になるので、その辺は自分で処理してSPSTOPでの中断中はSPCHKはスキップするなどの対応が必要になるとは思いますね〜。
たぶんその辺りが絡んでるんじゃないかと思うんですが、そんな感じですね。
0そうだね プレイ済み
あれ? SPSTOPで止めてから、SPSTARTすると再開されますよ?
再開しないのだとしたら、他の処理の影響かも?
0そうだね プレイ済み
ゴールド会員なら月3回ぐらいまで画像変換チケットもらえるとかあるといいかもですけどね〜。(実際はないけど)
1そうだね プレイ済み
ちゃんと動いて良かったです。文字見やすくなりましたね〜。
デフォルトである必要はないですが変えるとしても見やすい色の方がチェックしやすいと思うので、その辺を考慮して変更するとベストだと思います。
僕が以前に投稿したサンプルは他にもたくさんあるので興味があったら言ってください。また打ち込んで動かした後は、それがどうやって動作しているのか確認してみたり、自分で改良してみたり、同じような動作をするプログラムをゼロから組んでみたりとか、色々試すと力になっていくと思います。
がんばってください!
1そうだね プレイ済み