<ステージ等の準備>
●テキストツールで好みの大きさのダイナミックテキストフィールドを作成し、インスタンス名を tf とする。 このとき、「あ」などの文字を一文字入れておくと見やすい。 ステージの色、文字のサイズ、色、FONTを設定。
●テキストフィールドをシンボルに変換し、シンボル名、リンケージ名を box_mc とする。 |
| <サンプル1> |
|
| <スクリプト> (as2.0) |
scriptの説明 |
import mx.transitions.Tween;
import mx.transitions.easing.*;
str = "所以我将会用日文与大家?通";
var total = str.length;
for (i=0; i<total; i++) {
mc = attachMovie("box_mc", "box"+i, i);
mc.num = i;
mc.tf.text = str.charAt(i);
myTween(mc);
}
function myTween(mc) {
startx = 30;
stopx = 30*(mc.num+1);
lag = 1*(mc.num+1)*0.1;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
} |
Tween、easingクラスのインポート
表示文字列
文字数
インスタンスbox1,box2,,,の作成
ムービークリップmcの番号取得
mcに一文字ずつ割当
mcについてtmyTween関数の参照
myTween関数
x座標初期値
最終値
時間差
tween発生
|
| <サンプル2> |
このページのコンテンツには、Adobe Flash Player の最新バージョンが必要です。

|
| <スクリプト> scriptはfunction()部だけを記述(他は1と共通) |
function myTween(mc) { startx = 30*(total+1); stopx = 30*(mc.num+1); lag = (total-mc.num)*0.1; mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
} |
|
| <サンプル3> |
このページのコンテンツには、Adobe Flash Player の最新バージョンが必要です。

|
| <スクリプト> scriptは追加1行とfunction()部だけを記述(他は1と共通) |
var mid = Math.ceil(str.length/2);
function myTween(mc) {
startx = 30*(mid+1);
stopx = 30*(mc.num+1);
lag = 0.5+Math.abs(mc.num+1-mid)*0.05;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
} |
|
| <サンプル4 タイプライター> scriptはfunction()部だけを記述(他は1と共通) |
このページのコンテンツには、Adobe Flash Player の最新バージョンが必要です。

|
| <スクリプト> |
|
function myTween(mc) {
mc._visible = false;
startx = 30;
stopx = 30*(mc.num+1);
lag = 1*(mc.num+1)*0.1;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
mcTween.onMotionFinished = function() {
mc._visible = true;
}
} |
文字を非表示
mcTweenが終了したら
文字を表示 |
| <サンプル5 複数行のタイプライター> |
|
このページのコンテンツには、Adobe Flash Player の最新バージョンが必要です。

|
| <スクリプト> |
|
import mx.transitions.Tween;
import mx.transitions.easing.*;
str1 = "いにしえの奈良の都の八重桜";
str2 = " けふ九重に匂ひぬるかな";
setTween(1);
function setTween(n) {
str = this["str"+n];
var total = str.length;
for (i=0; i<total; i++) {
mc = attachMovie("box_mc", "box"+n+i, 100*n+i);
mc.num = i;
mc.tf.text = str.charAt(i);
switch (n) {
case 1 :
myTween1(mc);
break;
case 2 :
myTween2(mc);
break;
default :
break;
}
}
}
function myTween1(mc) {
mc._visible = false;
startx = 30;
stopx = 20*(mc.num+1);
lag = 1*(mc.num+1)*0.2;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
mcTween.onMotionFinished = function() {
mc._visible = true;
var last1 = "1"+(str1.length-1);
if (mc == _root["box"+last1]) {
setTween(2);
}
};
}
function myTween2(mc) {
mc._visible = false;
mc._y = 25;
startx = 30;
stopx = 20*(mc.num+1);
lag = 1*(mc.num+1)*0.2;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
mcTween.onMotionFinished = function() {
mc._visible = true;
};
} |
最後の文字のTweenが終了したら
|
| <サンプル6 連続トゥイーン> |
このページのコンテンツには、Adobe Flash Player の最新バージョンが必要です。

|
| <スクリプト> |
import mx.transitions.Tween;
import mx.transitions.easing.*;
str = "いらっしゃいませ";
var total = str.length;
var last = (str.length-1);
createTextMovieClip();
function createTextMovieClip() {
for (i=0; i<total; i++) {
mc = attachMovie("box_mc", "box"+i, i);
mc.tf.text = str.charAt(i);
}
setTween(1);
}
function setTween(n) {
for (i=0; i<total; i++) {
mc = _root["box"+i];
mc.num = i;
switch (n) {
case 1 :
myTween1(mc);
break;
case 2 :
myTween2(mc);
break;
case 3 :
myTween3(mc);
break;
case 4 :
myTween4(mc);
break;
default :
break;
}
}
}
function myTween1(mc) {
startx = 20;
stopx = 20*(mc.num+1);
starty = 30;
stopy = 30;
mc._yscale = 100;
lag = 1*(mc.num+1)*0.1;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
mcTween = new Tween(mc, "_y", Regular.easeOut, starty, stopy, lag, true);
mcTween.onMotionFinished = function() {
var last = (str.length-1);
if (mc == _root["box"+last]) {
setTween(2);
}
};
}
function myTween2(mc) {
startx = mc._x;
stopx = 20;
starty = 30;
stopy = 100;
lag = 1*(mc.num+1)*0.1;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
mcTween = new Tween(mc, "_y", Regular.easeOut, starty, stopy, lag, true);
mcTween.onMotionFinished = function() {
if (mc == _root["box"+last]) {
setTween(3);
}
};
}
function myTween3(mc) {
startx = mc._x;
stopx = 20*(mc.num+1);
lag = 1*(mc.num+1)*0.1;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
mcTween.onMotionFinished = function() {
if (mc == _root["box"+last]) {
setTween(4);
}
};
}
function myTween4(mc) {
startx = mc._x;
stopx = 100+30*(mc.num+1);
starty = mc._y;
stopy = 50;
lag = 1*(mc.num+1)*0.1;
mcTween = new Tween(mc, "_x", Regular.easeOut, startx, stopx, lag, true);
mcTween = new Tween(mc, "_y", Regular.easeOut, starty, stopy, lag, true);
mcTween = new Tween(mc, "_yscale", Regular.easeOut, 0, 150,lag*1.5,true);
mcTween.onMotionFinished = function() {
if (mc == _root["box"+last]) {
setTween(1);
}
};
}
|
myTween4で大きくなったのを戻す |
|