Flash CS3 Math.random()による風の効果
スノーフレークがフラッシュに落ちたのでR パーティクルシステム、ActionScript 3コードを少し変更しましょう。私たちのフレークはまっすぐに落ちます。しかし、風がまったくない場合を除き、ほとんどのフレークは斜めに流れます。それでは、数学を使って、フレークが落ちるときに少し右に移動させましょう。リアルさを増すために、スノーフレークがステージを下るときに水平方向の動きの量を変更する必要があります。

このシリーズの以前のチュートリアルの1つでは、ステージの上部に沿って水平方向に異なる位置にフレークを配置しました。これを行うには、各フレークのX位置に異なる値を設定しました。そのため、このチュートリアルでは、同じ_Snowflake.xプロパティを再度使用して、アニメーションの水平方向の動きを制御できます。

次に、フレークを作成するときに、フレークの初期XおよびY位置を乱数に設定します。

_Snowflake.x = Math.random()* 510;
_Snowflake.y = Math.random()* 40;

同じMath.random()を使用して、ランダムな水平方向の動きの量を制御できます。次に何が来ると思いますか?

Flashムービーの各フレームで、snowfall関数を呼び出すことを知っています。

stage.addEventListener(Event.ENTER_FRAME、snowfall);

この関数は、_Snowflake.yプロパティをフレームごとに10ずつ増やします。これがフレークをステージに移動します。

_Snowflake.y + = 10;

しかし、次に追加する微妙な水平方向の動きを見るには速すぎます。したがって、10を5に変更して、速度を少し遅くしましょう。

_Snowflake.y + = 5;

同じコードを使用して、フレークを水平に右に移動できます。必要なのは、the_Snowflake.yを_Snowflake.xに変更することだけです。

_Snowflake.x + = 10;

これで、スノーフレークはFlashムービーの各フレームで右に10ピクセル、下に5ピクセル移動します。しかし、スノーフレークの水平方向の動きがよりランダムである場合、ステージを下るので、より現実的です。これを行うには、10を0〜9の乱数で置き換えます。これを行うにはMath.random()を使用します。

_Snowflake.x + = Math.random()* 10;

次に、この新しいコードをsnowfall関数に追加し、これを取得します。

if(_Snowflake.y> 370)
{stage.removeEventListener(Event.ENTER_FRAME、snowfall); }
そうしないと
{_Snowflake.y + = 5;
_Snowflake.x + = Math.random()* 10;}

しかし、フレークを右に移動しているため、最終的に画面の右側を超える可能性があります。スノーフレークがステージより下に落ちた場合、スノーフレークを停止したことに注意してください。

if(_Snowflake.y> 370)

ステージの右側を超えた場合は、停止することもできます。それを条件文に追加しましょう。これらの条件の最初または2番目のいずれかが真の場合にアニメーションを停止するため、||を使用できますifステートメントの2つの条件の間の演算子。

if(_Snowflake.y> 370 || _Snowflake.x> 550)

これらの条件のいずれかが真の場合、FlashはENTER_FRAMEイベントリスナーを削除します。

これが新しいコードです。
stage.addEventListener(Event.ENTER_FRAME、snowfall);

var _Snowflake:mcSnowflake;

_Snowflake = new mcSnowflake();
addChild(_Snowflake);
_Snowflake.x = Math.random()* 510;
_Snowflake.y = Math.random()* 40;

関数snowfall(event:Event):void
{
if(_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener(Event.ENTER_FRAME、snowfall); }
そうしないと
{_Snowflake.y + = 5; _Snowflake.x + = Math.random()* 10; }
}


ムービーにテキストを入力すると、スノーフレークはステージの下部に落ちるにつれて水平方向の動きが変わります。雪景色をSnowScene6.flaとして保存します。

Copyright 2018 Adob​​e Systems Incorporated。全著作権所有。 Adobe Systems Incorporatedの許可を得て、Adobe製品のスクリーンショットを転載しました。 Adobe、Photoshop、Photoshop Album、Photoshop Elements、Illustrator、InDesign、GoLive、Acrobat、Cue、Premiere Pro、Premiere Elements、Bridge、After Effects、InCopy、Dreamweaver、Flash、ActionScript、Fireworks、Contribute、Captivate、Flash CatalystおよびFlash Paper米国および/またはその他の国におけるAdobe Systems Incorporatedの登録商標または商標です。