flash編集知識必須(flaファイル付)のブログ記事
ActionScriptの制御による文字列操作素材です。
定義した複数文字列を左端から順番に混ぜながら、最終的には目的の文字列を表示します。
//複数文字列を左端から順番に表示していく
//最終的には文字配列内の最終文字列を表示する
//text_dtはステージ上ダイナミックテキストインスタンス
//コメントの文字番号とは表示文字列の何文字目かを指す0基点の数値
var DURATION_NUM:Number = 70;//文字シャッフル関数呼び出し間隔(msec)
var intervalId:Number;//setInterval 関数用識別変数
//表示文字配列
//最終要素が最終的に表示される文字列となる
//文字数はすべて統一すること
var STR_ARR:Array = new Array(
"あいうえおあいうえおあいうえおあいうえおあいうえおあいうえお■■",
"かきくけこかきくけこかきくけこかきくけこかきくけこかきくけこ☆☆",
"さしすせそさしすせそさしすせそさしすせそさしすせそさしすせそ○○",
"たちつてとたちつてとたちつてとたちつてとたちつてとたちつてと★★",
"なにぬねのなにぬねのなにぬねのなにぬねのなにぬねのなにぬねの■■",
"はひふへほはひふへほはひふへほはひふへほはひふへほはひふへほ☆☆",
"まみむめもまみむめもまみむめもまみむめもまみむめもまみむめも○○",
"らりるれろらりるれろらりるれろらりるれろらりるれろらりるれろ★★",
"青春Bはいつだってクリエイティブに! もっとクリエイティブに!!");
var ARR_NUM:Number = STR_ARR.length - 1;//文字列数 0基点
var STR_NUM:Number = STR_ARR[ARR_NUM].length - 1;//文字数 0基点
var cnt_num:Number = 0;//シャッフル関数呼び出し回数
//文字シャッフル関数設定
intervalId= setInterval(_root, "textChange", DURATION_NUM);
function textChange():Void{
cnt_num++;//関数呼び出し回数インクリメント
var i:Number = cnt_num - ARR_NUM;//シャッフル終了とならない最小文字番号
if(i < 0)i = 0;
var j:Number = cnt_num;//表示対象の最大文字番号+1
if(cnt_num > STR_NUM)j = STR_NUM + 1;
var k:Number = 0;
var str:String = "";
//文字列生成
while(k < j){
//シャッフル終了となるかどうかで分岐
if(k < i) str += STR_ARR[ARR_NUM].charAt(k);
else str += STR_ARR[cnt_num - k - 1].charAt(k);
k++;
}
text_dt.text = str;
if(cnt_num > STR_NUM + ARR_NUM)clearInterval( intervalId );//関呼び出し終了
}
2008.1.14公開
flashPlayer version6.0r65以降
ActionScriptの制御によって画像の拡大と縮小を繰り返します。
画像は徐々に拡大と縮小の度合いを小さくしながら、最終的には等倍にて静止します。
//text_mcは拡大縮小するインスタンス名
var max_scale:Number = 1.1;//最大時スケール
//最大時スケールが3倍の場合は最小時は1/3とする
var repeat_num:Number = 6;//拡大縮小繰り返し数
var duration_num:Number = 10;//画像サイズ変更処理呼び出し間隔(msec)
var next_scale:Number;//次の目標スケール(%)
var now_num:Number;//現在が何回目の繰り返しか
var scale_duration:Number = 3;//何パーセントずつ増減させるか
var intervalId:Number;//setInterval 関数用識別変数
//インスタンスクリック時関数
text_mc.onPress = function():Void{
//前回のインターバル関数設定をクリア
if( intervalId != null)clearInterval( intervalId);
now_num = 0;//繰り返し回数を0に
//次の目標値計算
next_scale = 100 / max_scale + (100 - 100 / max_scale) * (now_num / repeat_num);
intervalId= setInterval(_root, "scaleC", duration_num);
}
//サイズ変更用関数
function scaleC():Void{
if(next_scale < 100){//縮小中
if(text_mc._xscale < next_scale + scale_duration){//縮小終了
text_mc._xscale = text_mc._yscale = next_scale;
//次の目標スケールを取得
next_scale = 100 * max_scale - (100 * max_scale - 100 ) * (now_num / repeat_num);
return;
}
text_mc._xscale -= scale_duration;
text_mc._yscale = text_mc._xscale;
}
else if(next_scale > 100){//拡大中
if(text_mc._xscale > next_scale - scale_duration){//縮小終了
text_mc._xscale = text_mc._yscale = next_scale;
//次の目標スケールを取得
next_scale = 100 / max_scale + (100 - 100 / max_scale) * (now_num / repeat_num);
now_num++;//繰り返し回数増加
return;
}
text_mc._xscale += scale_duration;
text_mc._yscale = text_mc._xscale;
}
else{//拡大縮小終了
text_mc._xscale = text_mc._yscale = 100;
clearInterval( intervalId );//関数繰り返し終了
intervalID = null;
}
}
2007.9.3公開
flashPlayer version9.0以降
XMLファイル内のURLを元に外部画像をロードし、リンク用ボタンを生成して円状に並べます
ロールオーバー時には全ボタンがロールオーバーしているボタン上に集まり、ロールアウト時には円状に戻る。
また、ロールオーバー時には説明文が中央に表示されます。
XmlLoad.asはmodt002で使用しているものと同様です。引数として与えられたURLを元にしてXMLファイルのロードを行います。
LinkButton.asは与えられたURLを元にボタンを生成します。
modt011.asはLinkButtonの生成と円運動の管理を行っています。
2007.8.20公開(2007.8.29 コード変更)
flashPlayer version9.0以降
表示する画像をクリックによって切り替えるタイプの画像ビューアです。画像ファイルのURLはXML内にて指定します。
画像毎の説明文を下部に表示します。説明文の内容もXMLファイルにて指定します。
XmlLoad.asはmodt002で使用しているものと同様です。引数として与えられたURLを元にしてXMLファイルのロードを行います。
ImageTextLoad.asはXMLファイル内の説明文の保持、及び、XMLファイル内のURLを使用して画像のロードを行います。XMLファイルのデータはXmlLoadクラスにて取得します。引数はXmlLoadクラスと同じでXMLファイルの置かれているURLです。
Modt005.asはImageTextLoadクラスにてロードした説明文、画像を元にビューアの作成を行います。引数は画像表示領域の横幅と縦幅、及び、上記二つのクラスと同じでXMLファイルの置かれているURLです。
画像数が少ないのでサンプルではわかりづらいと思いますが、左上にロードの進度を表示しています。
タイムライン上のActionScriptはModt005インスタンスの生成と表示のみを行っています。
2007.8.19公開(2007.8.29 コード変更)
flashPlayer version9.0以降
表示する画像をクリックによって切り替えるタイプの画像ビューアです。画像ファイルのURLはXML内にて指定します。
XmlLoad.asはmodt002で使用しているものと同様です。引数として与えられたURLを元にしてXMLファイルのロードを行います。
ImageLoad.asはXMLファイル内のURLを使用して画像のロードを行います。XMLファイルのデータはXmlLoadクラスにて取得します。引数はXmlLoadクラスと同じでXMLファイルの置かれているURLです。
Modt004.asはImageLoadクラスを使用してロードした画像を元にしてビューアの作成を行います。引数は表示領域の横幅と縦幅、及び、上記二つのクラスと同じXMLファイルの置かれているURLです。
画像数が少ないのでサンプルではわかりづらいと思いますが、左上にロードの進度を表示しています。
タイムライン上のActionScriptはModt004インスタンスの生成と表示のみを行っています。
2007.8.22公開(2007.8.29 コード変更)
flashPlayer version9.0以降
XMLファイル内に「ボタン画像URL」「ボタンロールオーバー時画像URL」「クリック時移動先ページURL」「メニュー名称」の四つの情報をボタン数の分だけ持たせます。その情報を元に、横一列にボタンが並んだメニューを作成します。
メニュー名称はボタン上にマウスカーソルが来た際に表示するためのものです。 XmlLoad.asはmodt002で使用しているものと同様です。引数として与えられたURLを元にしてXMLファイルのロードを行います。
ButtonMake.asはXML内の四つの情報を引数として受け取り、ボタンを一つ生成します。
Modt006.asはButtonMake.asインスタンスをボタン数だけ生成します。
タイムライン上のActionScriptはModt006インスタンスの生成と表示のみを行っています。
2007.8.17公開(2007.8.29 コード変更)
flashPlayer version9.0以降
XMLファイル内の「URL」「サイト名」「説明」情報を利用してリンク用のHTMLを作成します。
サンプルでは二つのXMLファイルをロードし、それぞれを元にリンク集を作成しています。
XmlLoad.asはmodt002で使用しているものと同様です。与えられたURLを元にしてXMLファイルのロードを行います。
Modt003.asはXmlLoad.asを使用してXMLデータを取得し、XMLデータから要素を抽出してHTML形式に変換しています。
タイムライン上のActionScriptはXMLファイルのURLを渡す役目とHTML形式に変換されたデータの表示のみを行っています。