提供: Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
| この記事は翻訳途中であるか、翻訳に間違いがある可能性があります。情報の利用には注意してください。
正確な翻訳ができる編集者は改訳をお願いします。 |
視差効果(パララックス効果とも呼ぶ)は、マウスを動かすことで、背景や風景に対する視点が変わったように見せる効果(エフェクト)のことである。
視差効果の出し方
視差を表現するには、背景や風景にある物体を複数のスプライトに分割し、それらを重ねる必要がある。それぞれのスプライトを完成させた後、次のスクリプトを使用して視差効果を出すことができる。
@greenFlag が押されたとき
ずっと
x座標を((マウスのx座標)/(. . .::grey))、y座標を ((マウスのy座標) / (. . .::grey))にする// 変数amountはスプライトがどれだけ移動するかを表している。1のときはマウスのx座標とマウスのy座標に移動し、無限大のときは(0,0)の位置に留まる。
入力する値はレイヤーによって異なる。一般的に手前のレイヤーには小さい数字が割り当てられ、背景などの奥のレイヤーには大きい数字が割り当てられる。実際に数字を変えて試してみるとよい。
以下の定義ブロックは、背景全体に対して、それぞれのスプライトのレイヤーの移動範囲を定義している。
定義 視差 (移動量) x座標を((マウスのx座標)/(移動量))、y座標を((マウスのy座標) / (移動量))にする //値が大きいほど、可動域は狭くなる。
遠くと近くの物体による比例した動きを再現するには、最前面のレイヤーから最背面のレイヤーへ移動するのにしたがって、ブロックの値を増加させる。
さらに複雑なスクリプトを使えば、滑らかな動きなどの異なる効果を出すことができる。
動くスプライトに対する視差効果
動くスプライトにおいても視差効果を維持するには、次のスクリプトが使える。
定義 視差 (移動量) (x) (y) x座標を(((マウスのx座標)/(移動量)) + (x))、y座標を(((マウスのy座標) / (移動量)) + (y))にする
次はこのスクリプトを使ったブロックの実装例である。このとき、スプライトが画面の右側から移動し、マウスの動きに基づいて位置を調整している。
@greenFlag が押されたとき
[x v] を [240] にする
[y v] を [0] にする
[速度 v] を [2] にする
<(x座標) \< [-240]> まで繰り返す
視差 [20] (x) (y)::custom
[x v] を ((速度) * [-1]) ずつ変える