| Name |
しげ
|
| Date |
2008年05月04日 (日) 00時13分 |
| Message |
このようなパタパタはどのようにしたらよろしいか分かる方
いらっしゃいましたら教えてください
http://www.swims.no/ |
Response
01
|
| 2008年05月04日
(日) 09時20分> joy
|
|
しげさん、
おはようございます。
憲ちゃんさんのお作りになったサンプルで、類似のものがありました。以下のURLです。
■文字がパラパラとランダムにでるスクリプトは?
scriptの理屈は、憲ちゃんさんが、詳細に解説されていらっしゃるので、それをお読み下さい。
オリジナルは、hitTestを使ってますので、マウスが重なっている間は、ランダム表示されますが、該当サイトと同じような動きにするには、少し、改変する必要があります。下のURLに、改変したものを置いて置きます。
1)wwww・・・の記載されているMCのクリップアクションに、以下を追記します。サンプルでは、2つ複製して、yahoo.co.jp、google.com+(文字数が、11文字なので、適当に合わせてます)とし、計3つ作ってます。以下は、"hfm-kenchan" 分です。
onClipEvent (load) {
logoName = "hfm-kenchan";
Max = logoName.length;
mcChar = new Array();
var startTime = getTimer();//追記分:開始時間を変数に代入
for (i=0; iBR> mcChar[i] = logoName.charCodeAt(i);
}
function RndChar(mc) {
Rnd = Math.floor(Math.random()*95)+32;
this[mc].theChar = String.fromCharCode(Rnd);
}
}
onClipEvent (enterFrame) {
var nowTime = getTimer();//追記分:経過時間を変数に代入
var dif = nowTime-startTime;//追記分:開始時間と現在までの経過時間の差を取り、変数 difに代入
//trace(dif/1000);
if (dif/1000<1) {//追記分:1秒以内なら、以下のスクリプトを実行
for (i=0; iBR> mc = "c"+i;
RndChar(mc);
}
} else {//1秒経過後は、下を実行
for (i=0; iBR> this["c"+i].theChar = String.fromCharCode(mcChar[i]);
}
}
}
2)以上の3つのMCを同一レイヤー(同一レイヤーでなくても、いいのですが、レイヤーの節約かな?!)の第一フレーム、第二フレーム、第三フレームと配置し、scriptレイヤーの第一フレーム、第二フレーム、第三フレームに、以下のように、記載します。
・第一フレーム:
this.stop();
clearInterval(Timer3);//第三フレームで設定した、setIntervalをクリア
function Next(){
nextFrame();
}
Timer1=setInterval(Next,2000);//2秒後に次のフレームに移動して、停止
・第二フレーム:
clearInterval(Timer1);//第一フレームのsetIntervalをクリア
function Next(){
nextFrame();
}
Timer2=setInterval(Next,2000);//新たな、setIntervalを生成
・第三フレーム:
clearInterval(Timer2);//第二フレームのsetIntervalをクリア
function Return(){
gotoAndStop(1);
}
Timer3=setInterval(Return,2000);//2秒後に、第一フレームに戻って、停止
同じように、お好みのlogonameの数分だけ、作業を繰り返せば、該当サイトと似たような動きになると思います。
http://homepage2.nifty.com/joys/answers/charcode0_r1.html
|
|
Response
02
|
| 2008年05月04日
(日) 20時21分> joy
|
|
追記です。
1)憲ちゃんさんのオリジナルのWの記載されているMCのWを消して、ブランクにすれば、11文字以内で、あれば、Wが表示されませんので、どのようなAlphabetと数字でも、OKです。
サンプルは、TOKYO、NEW YORKと変更してます。
2)TimerもTimer1とTimer2の2種類で事足りますので、数が多くなると、こっちの方が、楽ですね。
・第一フレーム:
this.stop();
clearInterval(Timer2);//第三フレームで設定した、setIntervalをクリア
function Next(){
nextFrame();
}
Timer1=setInterval(Next,2000);//2秒後に次のフレームに移動して、停止
・第二フレーム:
clearInterval(Timer1);//第一フレームのsetIntervalをクリア
Timer1=setInterval(Next,2000);//再設定
・第三フレーム:
clearInterval(Timer1);//第二フレームのsetIntervalをクリア
function Return(){
gotoAndStop(1);
}
Timer2=setInterval(Return,2000);
http://homepage2.nifty.com/joys/answers/charcode0_r1.html
|
|
Response
03
|
| 2008年05月05日
(月) 23時15分> しげ
|
|
joyさん いつも丁寧で敏速な回答にとても助けられております。
本当にありがとうございます!!
|
|