ecotaさん、
今日は。
今日は、休みなので、少し、時間があったので、こちらの質問を見てみました。
憲ちゃんさんのオリジナルにできるだけ手をつけずに、外部テキストでurlを指定し、該当写真をクリックすると、該当urlに、_blankでリンクするようにしてみました。憲ちゃんさんのflaも借り、写真も借りた、追記後のflaを下に置きます。
1)先ず、後で処理しやすいように、imagesフォルダーの写真の名前を、1.jpg〜8.jpgに変更して置きます。
2)これに伴い、data.txtの中身も、files=1,2,3,4,5,6,7,8&とし、新たな、外部url.txtを作成しました。
中身は、
&url1=yahoo.co.jp&
&url2=google.com&
&url3=hfm-kenchan.com&
&url4=www.infoseek.co.jp&
&url5=www.symantec.com&
&url6=www.adobe.com&
&url7=www.microsoft.com&
&url8=www.apple.com&
です。(こっちに慣れているので、& &を使いました)
即ち、写真1.jpgとurl1は、対になるように考えましたので、1.jpgを押すと、http://yahoo.co.jpにリンクされます。8.jpgをkリックすると、http://www.apple.comになります。他も同様です。
3)憲ちゃんさんのphoto.flaを開き、
・MCレイヤーの上に、新たなレイヤーを追加し、レイヤー名を透明MCとし、Naviの直下から、下のほうに、矩形の図形を描き、MovieClip化します。インスタンス名を、t_mcとし、アルファ値を調整し、透明とします。
・アクションレイヤーに、
/*ここは、憲ちゃんさんのオリジナル*/
Sec = 10;
spd = 5;
step = 4;
Loaded = false;
/*〜以下追記分で、ここから〜*/
_lockroot = true;//このSWFを他のSWFで読み込む場合に、このSWFは、_rootを多用してるので、この中で、_rootを固定させておく
var theURL = "";//getURLで使う、変数 theURLを定義し、初期値は、blankとする
_lv = new LoadVars();//外部テキストを読み込むのに、_rootに読み込むので、二度読みになる、loadVariablesを使わず、便利なLoadVarsを使用しました。
_lv.onLoad = function(success) {
if (success) {
for (i=1; i<=8; i++) {//外部テキスト url.txtの中には、データが8個あるので、このようになります。
_root["URL"+i] = this["url"+i];//_root.URL1 から _root.URL8まで生成することになります。
//trace(_root["URL"+i]);
}
}
};
_lv.load("url.txt");//外部url.txtを読み込む
t_mc.onRelease = function():Void {//透明MCである、t_mcをリリースしたなら、
/*該当URLにリンクしますが、このtheURLは、憲ちゃんさんのfunction loadJPG(){ }の中で、処理され、表示されるjpgに応じて、変更されます*/
getURL("http://"+theURL, "_blank");
};
/*〜ここまで〜*/
と記載し、
・憲ちゃんさんのNaviに対する、クリップアクションで、追記と記載してる部分を追記します。
onClipEvent (load) {
Pass = "images/";
Timer = _root.Sec*30;
cnt = 0;
this._y = -20;
this.loadVariables("data.txt");//data.txtを後で、処理し安いように、変更してるので、1から8までの文字列を読み込むことになります
function loadJPG() {
_root.Loaded = false;
cnt = 0;
if (num == Max) {
num = 0;
} else if (num<0) {
num = Max-1;
}
depth++;
if (depth>1) {
_root.mc["m"+(depth-2)].removeMovieClip();
}
navi.slider._alpha = 100;
mcName = "m"+depth;
_root.mc.attachMovie("pic",mcName,depth);
//以下、憲ちゃんさんのオリジナルと少し、意味が異なるので、説明追加。images/1.jpg〜images/8.jpgまでの、8個のjpgをfileNameに代入
_root.mc[mcName].fileName = Pass+picArray[num]+".jpg";
//trace(picArray[num]);
//追記分、_rootに生成した、配列要素を、picArray[num]に連動させて呼び出し、_rootの変数 theURLに代入する
_root.theURL=_root["URL"+picArray[num]];
for (i = 0; i < Max; i++) {
if (i == num) {
navi.mc["b"+i].gotoAndStop(2);
} else {
navi.mc["b"+i].gotoAndStop(1);
}
}
}
}
以上で、該当写真をクリックすると、予め決めておいたURLに、_blankでリンクされます。
http://homepage2.nifty.com/joys/answers/slideshow0_r/photo.html
|