提供: Japanese Scratch-Wiki

2019年8月8日 (木) 09:42時点におけるT-takumini (トーク | 投稿記録)による版 (デフォルトソートの整備(Botによる自動編集))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

このきじは ひらがなのページがありません。ごめんなさい。
y座標を () ずつ変える
y座標を () ずつ変える
カテゴリ 動き
タイプ スタック

y座標を () ずつ変えるブロック動きブロックスタックブロック)は、スプライトの y座標を現在の位置から指定した量だけ、変化させるブロックである。

使用例

ゲームなどでは、プレイヤーの操作によってスプライトを自由に動かしたい場合がある。このようなとき、y座標を () ずつ変える ブロック (とx座標を () ずつ変えるブロック) が役に立つ。なお、y 座標の値がとりえる範囲は、-180〜180である。

  • 次の例は、ユーザーの操作でスプライトを上下に動かすためのスクリプトである。変数

「y速度」がスプライトの上下の動きをコントロールしており、これによって、スプライトの加速/減速が動きに反映される。

 
[y速度 v] を [0] にする
ずっと 
  もし <[上向き矢印 v] キーが押された> なら 
    [y速度 v] を (2) ずつ変える
  end
  もし <[下向き矢印 v] キーが押された> なら 
    [y速度 v] を (-2) ずつ変える
  end
  y座標を (y速度) ずつ変える
  もし <(y速度) > [0]> なら 
    [y速度 v] を (-1) ずつ変える
  end
  もし <(y速度) < [0]> なら 
    [y速度 v] を (1) ずつ変える
  end
end
 
  • y座標を () ずつ変えるブロックは、次のような「ジャンプ」を行うスクリプトでもよく使われる:
 
(8) 回繰り返す 
  y座標を (5) ずつ変える
  (0.1) 秒待つ
end
(1) 秒待つ
<[地面 v] に触れた> まで繰り返す 
  y座標を (-5) ずつ変える
  (0.1) 秒待つ
end
 

ただし、次の方法でもなめらかなジャンプは実現できる。

 
(0.5) 秒でx座標を (x座標) に、y座標を ((y座標) + (40)) に変える
(1) 秒待つ
<[地面 v] に触れた> まで繰り返す 
  (0.125) 秒でx座標を (x座標) に、y座標を ((y座標) - (10)) に変える
end

別のブロックによる表現

詳細は「代用ブロック一覧」を参照

このブロックの動作は次の3つの方法で再現できる:

y座標を ((y座標) + (移動する量)) にする

x座標を (x座標) 、y座標を ((y座標) + (移動する量)) にする

定義 y座標を (移動する量) ずつ変える::custom
[向きの一時保存 v] を (向き) にする //この定義では、「画面を再描画せずに実行する」をオンにしておく
(0 v) 度に向ける
(移動する量) 歩動かす
(向きの一時保存) 度に向ける

関連項目