4. ブロックの動きを変えてみる

← 目次に戻る

< 3. ブロックの見た目を変える 5. 自分専用Scratch 3を公開しよう >

表示だけ変えてみても、オリジナル感は少ないので、次にブロックをクリックしたときの動きも変えてみましょう。「10歩前進する」のブロックを「10歩後退する」に変更して、クリックしたときにネコを後ろ向きに動くようにしてみます。

まずはブロックの表示を変更して「10歩後退する」に変更します。

node_modules/scratch-blocks/msg/scratch_msgs.js の「%1 歩前進する」を「%1 歩後退する」に変更します。(行番号はバージョンによって違う可能性があります)

次にこのブロックをクリックしたときの実際の処理の内容が書かれている /node_modules/scratch-vm/src/blocks/scratch3_motion.js を開き、64行目から始まる moveSteps の内容を変更します。

steps が「10歩」の10の部分に当たるので、

const steps = -1 * Cast.toNumber(args.STEPS);

のように変更して、-1 をかけることで逆向きに動かします。

ファイルを保存してページが自動的にリロードされたら、「10歩後退する」のブロックをクリックしてみましょう。

10歩前進する代わりにネコが10歩後退するようになりました。

もうひとつ別の例として、演算ブロックに「◯の2乗」という、入力された数字の2乗を求めるブロックを作ってみましょう。

node_modules/scratch-blocks/msg/scratch_msgs.js を開き、「定義 %1」でファイル内を検索して(中国語の「定義 %1」も検索にマッチしてしまうので注意してください)、その一つ前の「10 ^」を「2乗」に変更します。

次に、scratch-vm/src/blocks/scratch3_operators.js を開き、以下のように148行目「case '10 ^':」の処理部分をコメントアウトし、149行目のように2乗を求める処理に書き換えてしまいます。10と^の間には半角スペースが入っていることに注意してください。

以下のキャプチャのように例えば6を数字欄に入力して、ブロックをクリックすれば、2乗の値36を表示します。

< 3. ブロックの見た目を変える 5. 自分専用Scratch 3を公開しよう >

← 目次に戻る