BLOG ブログ

ENTRY

お申し込みはこちら

ScratchのTipsまとめ

 Scratchでよく使う組み合わせの要素をなるべく簡潔にまとめました。
 目次に知りたい項目がなくてもCtrl+Fを押してページ検索することで見つかるかもしれません。

長押し防止

長押し防止
 キー入力を1回ずつ正確に区切って反応させたいときに有効。クローンで射撃攻撃をしたいときや楽器を鳴らしたいとき、連打を必要とするゲーム、またキー入力のブロックを触れたときのブロックに入れ替えれば通過中ダメージが入り続ける処理も制限ができる。

特定の範囲に反応させる

特定の範囲に反応させる
 指定したい範囲の±が同じ場合、2つの条件を「かつ」や「または」ブロックで作るより整理して表現することができる。

落下・着地

落下
 スプライトを自然に落下しているように見せることができる。着地の判定は色でも可能。

ジャンプ

ジャンプ
 アクションゲームなどで重要な要素。落下・着地のプログラムに少し追加するだけ。

特定のコスチュームを繰り返す

モーション
 アクションやアイテムの取得状態、変身などに応じて連番コスチュームを制御するときに利用できる。
 上記のサンプルでは変身に応じた歩くアニメーションの切り替え。
 変身モードが0のときは1→2→3→1…と繰り返す。変身モードが1になると4→5→6→4…と繰り返す。

埋まりこみ防止

埋まりこみ防止
 ジャンプのプログラムで落下が速い場合どうしても少し地面にめり込んでしまうので、それを回避したい場合に有効。
 せり上がる床や斜面にもある程度対応できる。
 定義ブロックの編集画面で再描画しないのチェックボックスを有効にしておくほうが自然に見える

射撃

射撃攻撃
 スクロールシューティングゲームなどで弾やビームなどを飛ばすときに利用できる。
 主にクローンで使うことを推奨。
 これをベースに色々なタイミングで向きを制御することで弾道にアレンジが効く。

フェード・ブラー

フェード
 だんだん透明にしていくプログラム。
 いきなり「隠す」よりビジュアルに深みが出る。
 また、クローンに利用することで残像効果にも応用できる。

極座標系への変換

極座標系への変換
 Scratch上では上が0°、右が90°で定義されているが、数学では右が0°、上が90°が一般的である。数学的にプログラムを考える上でこの違いが煩わしいときにとても有用。

パーセントで確率を指定

%で確率を指定
 運要素の確率を百分率で表現したい場合に利用できる。1~100の範囲で乱数を生成しあとは任意の%で「もし~ならで~なければ」ブロックで区切っていくだけ。
 上記のサンプルでは10%の確率で何かを実行する。

文字列から特定の文字を走査する

特定の文字を探す
 アイテムやスキルの取得状況を1つの変数で管理したいときなどにも有効。クラウド変数でリストのような役割を持たせることにも応用できる。
 また、カウンターで繰り返しの回数を利用する方法としても重要なテクニック。

任意の数の倍数

任意の数の倍数
 任意の数の倍数のときだけ何かを実行する。6ステージおきにアイテムショップが出てくるなど。
 「特定のコスチュームを繰り返す」の項でもこの要素が使われている。

並べて配置する

並べて配置する
 クローンやスタンプなどを生成する段階で並べるときに利用できる。弾幕シューティングなどにも応用できる。
 生成の時差が気になる場合は定義ブロックで固めて再描画しないのチェックボックスを有効にすれば解消できる。

当たり判定を数値で設定する

距離判定
 Scratchでの当たり判定はスプライト同士の接触で取る方法が簡単だが、見た目に左右されず厳密に中心からのエリアを使いたい場合には「~までの距離」ブロックが有効。

ホーミング・追尾弾

追尾
 常に向きを指定することでずっと追いかけてくる物が作れる。前述の射撃にも応用が効く。スピードが速すぎると逃げられなくなるので注意。

クローンに識別番号・固有のIDを与える

識別番号
 変数を作るときに「このスプライトのみ」のラジオボタンを有効にしておくと、クローンは生成された時点の変数の値をそれぞれ個別に保持するようになる。これを利用してクローンを生成するたびに変数をずらすとクローンはそれぞれ番号を持つことになる。クローンに別の動きや役割を与えたいときにとても重要なテクニック。

ペンブロック

線を描く
 ペンで何かを描くときの基本形。描くものが複雑になっても定義ブロックで固めて再描画なしに設定しておけば毎フレーム描画できる。

ランダムで-1か1を出す

-1か1の乱数
 普通に「-1から1の乱数」ブロックを使うと0も含めた3パターン出力されてしまうので、2パターンで利用したい場合には上記のような工夫が必要になる。

背景・コスチュームを1つ戻す

背景を戻す
 「次の背景にする」や「次のコスチュームにする」ブロックはあるが「前のコスチュームにする」ブロックはないのでこういった工夫が必要。
 見てわかる通り変数などの数値でも直接指定ができる。

BGM

BGM
 BGMをループで流す場合「~の音を鳴らす」ブロックを使ってしまうと再生開始され続けてしまう。最初に陥りがちなポイント。

break文

break
 特定の条件を満たした場合に処理を途中で中断させることができる。

CONTACT お問い合わせ

無料体験授業は随時開催しています。
ご希望やご質問など、お気軽にお寄せください。