このコードを別のサイトで使用したところ、問題なく動作しましたが、新しいサイト用に変更したところ、ボタンがまったく機能しません。私はまだこれに慣れていないので、おそらく単純なものが欠けています。
各ナビゲーション ボタンにインスタンス名を付けました。btn_X_0、_1 など。一部のフレームでは、複数のタイプのボタンがこれらにつながるため、関連するボタンに btn_contact1、2 などのラベルを付けました。タイムラインでは、関連するフレームに SWFAddress の $ 記号を付けました。
fla と同じフォルダーに swfaddress スクリプトがあります。
ここに私のコードがあります - 助けていただければ幸いです!
import SWFAddress;
stop();
/*
_root.onEnterFrame = function() {
*/
String.prototype.searchreplace = function(find, replace) {
var string = this;
var counter;
while (counter<string.length) {
var start = string.indexOf(find, counter);
if (start == -1) {
break;
} else {
var before = string.substr(0, start);
var after = string.substr(start+find.length, string.length);
string = before+replace+after;
var counter = before.length+replace.length;
}
}
return string;
};
// SWFAddress handling
SWFAddress.onChange = function() {
var value = SWFAddress.getValue();
//trace(value);
var frame = _currentframe;
gotoAndStop('$'+value);
if (frame == _currentframe) {
gotoAndStop('$/error/');
}
var title = 'Site';
var names = SWFAddress.getPathNames();
for (var i = 0; i<names.length; i++) {
title += ' / '+names[i].substr(0, 1).toUpperCase()+names[i].substr(1);
}
title = title.split("-").join(" ");
SWFAddress.setTitle(title);
for (var i = 0; i<9; i++) {
_root["btn_home_"+i].onRelease = function() {
SWFAddress.setValue("/");
};
}
for (var i = 0; i<9; i++) {
_root["btn_what_"+i].onRelease = function() {
SWFAddress.setValue("/What-We-Do/");
};
}
for (var i = 0; i<9; i++) {
_root["btn_five_"+i].onRelease = function() {
SWFAddress.setValue("/How-We-Work/5-Facts");
};
}
for (var i = 0; i<9; i++) {
_root["btn_five1_"+i].onRelease = function() {
SWFAddress.setValue("/How-We-Work/5-Facts");
};
}