Screen Saver: Shine

Shine

Screen Saver: Shine

Preview for Windows for Macintosh

光彩の重なりや目の錯覚をコンセプトに、CMYK+WHの5色を用いて作成したスクリーンセーバーです。

下記のソースコードでは、変更する場合のある箇所を黒字で示しています。*1

1. 基本設定

Stage.align = "TL";
 Stage.scaleMode = "noScale";
 _quality = "MIDDLE";

2. 変数の定義

var sw:Number = Stage.width;//ステージサイズ
 var linemax:Number = 192;//ライン最大複製個数
 var xmin:Number = getXposition();//x座標最小値
 var xmax:Number = sw;//x座標最大値
 var rotationmin:Number = -30;//回転角度最小値
 var rotationmax:Number = 30;//回転角度最大値
 var alphamin:Number = 5;//アルファ最小値
 var alphamax:Number = 45;//アルファ最大値
 var c:Number;//ライン複製回数
 var d:Number;//繰り返し回数
 var r:Boolean;//true:偶数回 / false:奇数回 | 繰り返す毎に切り替え

3. ラインを複製

function iterate():Void {
  if (c<linemax) {

   eval("squall_mc.line"+randRange(1, 4)+"_mc").duplicateMovieClip("line"+c,c);
   //eval("squall_mc.line"+0+"_mc").duplicateMovieClip("line"+c,c);//モノクロームラインへ変更
   var newline_mc:MovieClip = eval("squall_mc.line"+c);
   var pastline_mc:MovieClip = eval("squall_mc.line"+(c-1));

   newline_mc._x = pastline_mc._x+randRange(xmin, xmax);
   newline_mc._rotation = pastline_mc._rotation+randRange(rotationmin, rotationmax);
   newline_mc._alpha = randRange(alphamin, alphamax);
   if (newline_mc._x<xmin) {
    newline_mc._x = xmin;
   }
   if (newline_mc._x>xmax) {
    newline_mc._x = xmax;
   }
   c++;
  } else {
   //r ? r=false : r=true; //奇数回/偶数回の判定
   xmax = randRange(0, sw);
   //r ? xmin=xmax : xmin=getXposition(); //偶数回に x座標最小値変更
   xmin = getXposition();
   d++;
   c = 0;
  }
 }
 squall_mc.onEnterFrame = iterate;

a. X座標を返す

function getXposition():Number {
  
return sw;
 }

b. ウィンドウリサイズ時の修正

resizeListener = new Object();
 resizeListener.onResize = function() {

  sw = Stage.width;
  xmin = getXposition();
  xmax = sw;
 };
 Stage.addListener(resizeListener);
 resizeListener.onResize();

c. 乱数の生成 [©Adobe Systems Incorporated]

//Copyright © 2009 Adobe Systems Incorporated. All Rights Reserved.
 function randRange(min, max) {
  var i = Math.floor(Math.random()*(max-min+1))+min;
  return (i);
 }

Source

*1:ソースファイルの _root[asレイヤー]:5〜12行目の変数書き換えや、line1〜4_mcのデザイン/塗りカラーを変更することで全く印象の異なるムービーを書き出すことができます。ご興味のある方はぜひお試しください。