斜めに丸を動かしていきたいのですが途中からできなくなってしまいます | First PG Forum | Tech Stadium Forum

斜めに丸を動かしていきたいのですが途中...
 
通知
すべてクリア

斜めに丸を動かしていきたいのですが途中からできなくなってしまいます  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1325
30/04/2023 12:09 pm  

斜めに丸を動かしていきたいのですが途中からできなくなってしまいます。

https://scratch.mit.edu/projects/810289815/


引用
Teacher
(@admin)
メンバー Admin
結合: 4年前
投稿: 1296
30/04/2023 12:11 pm  

今作られているプロジェクトでは、端にぶつかったときに手動で次の列の座標を指定してスプライトを移動させていましたが、端に触れた後の座標移動に変数を使うことで、永遠にスプライトを動かすことが可能です。

詳細は以下添付画像のような形のように、X軸の座標指定を変数で取り扱い、このX軸の変数を○○ずつ変えることでスプライトがずれながらクローンを作ってくれます。

この"変数でスプライトの発生場所を管理"を応用して、最後まで行ったらまた最初の地点に戻ってきたり、さらにY軸用の変数も用意して画面の端まで敷き詰める作業をします。

This post was modified 12か月前 by Teacher

返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1325
30/04/2023 12:12 pm  

反対側にぶつかった時の処理の仕方がわかりません


返信引用
Teacher
(@admin)
メンバー Admin
結合: 4年前
投稿: 1296
30/04/2023 12:12 pm  

X軸の変数をずらす時の処理が「X軸を○○ずつ変えて、Y軸を定数にする」だったので、逆の「X軸を定数にして、Y軸を○○ずつ変える」をすることです。
ブロックの並び方はX軸の変数の処理と同様、"ずっと"の中とまったく同じ並び方になります。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1325
30/04/2023 12:12 pm  

緑のスプライトに何かを入力すれば良いのでしょうか


返信引用
Teacher
(@admin)
メンバー Admin
結合: 4年前
投稿: 1296
30/04/2023 12:12 pm  

演算のことでしょうか?
こちらにはX軸の変数、Y軸の変数、どちらを○○ずつ変えるのかを切り替える処理をしています。
X軸の発生位置が8列目になってしまった場合、X軸の変数(スタート地点)をこれ以上変えることはできないので、今度はY軸の変数を変えて残りの隙間を埋める処理に入ります。
そのため演算(緑のブロック)には、X軸のステート地点が8列目になっているかどうかの処理を入れます。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1325
30/04/2023 12:13 pm  

8列めということは(x座標=202なら)と入力するべきでしょうか?

実行したところ最初の位置で止まってしまうのですが。理解力がなくすみません


返信引用
Teacher
(@admin)
メンバー Admin
結合: 4年前
投稿: 1296
30/04/2023 12:13 pm  

緑の中はその考え方で合っています。

その後にY軸を制御するためのブロックを組まくてはいけません。
具体的には先ほど少し言った「X軸を定数にして、Y軸を○○ずつ変える」をします。
クローンを作って色を変えて座標を○○ずつ変えるの部分はそのまま同じようなブロックの組み方をしますが、その後の「X軸を50ずつ変える」の部分が逆の「Y軸を-50ずつ変える」になった処理を、Y軸がいっぱいになるまで繰り返すことになります。
(添付画像では演算(緑)の部分が" X < 148 "になっていますが、"X = 202"でも同じ動きになります)


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1325
30/04/2023 12:13 pm  

ありがとうございました。
お手本を見ないでできるようになれるよう頑張ります。


返信引用
共有:
タイトルとURLをコピーしました