提供: Japanese Scratch-Wiki

このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
青いハテナ.png この記事は翻訳途中であるか、翻訳に間違いがある可能性があります。情報の利用には注意してください。

正確な翻訳ができる編集者は改訳をお願いします。

視差効果パララックス効果とも呼ぶ)は、マウスを動かすことで、背景や風景に対する視点が変わったように見せる効果(エフェクト)のことである。

視差効果の出し方

視差を表現するには、背景や風景にある物体を複数のスプライトに分割し、それらを重ねる必要がある。それぞれのスプライトを完成させた後、次のスクリプトを使用して視差効果を出すことができる。

@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]) ずつ変える

関連項目

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。