Movable type 内に配置したFLASHについての質問です。
外部ファイルのライブラリーのアセットを、リンケージで読み込むタイプのSWFファイルをMovable type 内に配置しました。
ところがベースになっているのSWF画像は見えるのに、外部sharedライブラリーからリンケージでリンクしているムービークリップ、グラフィック、ボタンが一切読み込まれません。
普通のウェブサイト上では問題なく動いていたSWFファイルなのですが、Movable type 用に何か書き込まなければいけないスクリプト等があるのでしょうか。リンケージとMovable typeの相性が悪いのでしょうか。
どなたか解決策をご存知でしたら、是非よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
#1です。
> それ以外の階層ですと、絶対パスで指定しても
> 外部ファイルは読み込まれませんでした。
> なぜなんでしょうね。
なぜなんでしょうねと言うか...,
その下になぜか HTML のタグを書かれていらっしゃいますが,
一応 #1 で書いたことは理解できましたでしょうか?
Movable type のタグなどに付いては一切触れていません。
私が#1で書いたのは HTML のタグのURLのことではなく,
共有オブジェクトを呼び出す方のFlashの,
リンケージプロパティの,
「□ ランタイム共有用に読み込み」 のURLのことです。
#1で私が書いたことをもっと具体的に書きますよ。
外部ファイル の ライブラリ アセット の利用は,
一種の loadMovie みたいなものです。
SWF に 外部SWF を SWFごとロードするのが loadMovie,
SWFに 外部SWF の ライブラリ中のシンボルをロードするのが ライブラリ アセット の読み込みです。
実際には loadMovie でのオブジェクトの扱われ方と,
ライブラリ アセット の読み込みオブジェクトとは扱われ方が違う部分がありますから,
決して loadMovie と ライブラリアセットの読み込み は同じではありません。
しかし,
大括りで言うと,外部 SWF をロードするので同じようなものです。
その外部 SWF をロードするときのファイルパスが,
読み込む側の SWF からのパスではなく,
読み込む側の SWF を貼り付けた HTML からのパスになります。
例えばファイルの階層構造が次のようになっていたとします。
任意のフォルダ
├ main.html (aaa.swf を貼り付ける)
└ flash (フォルダ)
├ aaa.swf (bbb.swfのアセットをロード)
└ bbb.swf (アセットを提供するソースSWF)
「aaa.swf」から「bbb.swf」のアセットを使用するとします。
「aaa.swf」=ターゲット,「bbb.swf」=ソース ということです。
その 「aaa.swf」 は1つ上の階層の 「main.html」 に表示されるものとします。
この場合,
「aaa.swf」のライブラリのシンボルのリンケージプロパティから
ランタイム共有用に読み込むURLは,
[ bbb.swf ] ではなく [ flash/bbb.swf ] になります。
SWFからのパスではなく,それを表示させているHTMLからのパスになるからです。
しかし,これ↑は一般的なサイトだから言えることです。
Movable type の場合は一般的なサイトと違って,
あちこちに同じようなページができます。
ですから, [ flash/bbb.swf ] のように相対パスを定めることができません。
しかたがないので,
[ http:// ~~/○○/flash/bbb.swf ]
のような絶対パスを指定する必要があります。
(絶対パスにするとアップしない限り動作検証ができないことが難点ですが。)
ということを #1 で書いたのです。
========================
> ほとんど問題なく読み込まれてるのですが、
> 幾つかのリンケージされたボタンがなぜか機能してません
これは,上のこととは 全く別件 ですね。
問題は切り分けて考えてください。
この件は大きく分けて2つの質問内容にとることができます。
1 アセットを提供する側のボタンに設定したスクリプトが動作しない
2 アセットを読み込む側のボタンに設定したスクリプトが動作しない
1 アセットを提供する側のボタンに設定したスクリプトが動作しない
これは当然です。
on (release) {
gotoAndPlay(2);
}
や,
そのボタン.onRelease = function(){
gotoAndPlay(2);
};
これらは,
"インスタンス" に対して直接書いたり,
"インスタンス" に対しフレームなどで定義するものです。
"シンボル" に対しては直接書いたり,フレームなどで定義することはできません。
ライブラリの "シンボル" を共有するのが ライブラリ アセット ですから,
アセットを提供する側のボタンに設定したスクリプトが動作しないのは当然です。
2 アセットを読み込む側のボタンに設定したスクリプトが動作しない
実際にやってみましたが,
アセットを読み込む側のボタンに
on (release) {
gotoAndPlay(2);
}
などを書いてみても動作しませんね。
こういう階層にかかわるものでなく,もっと単純に,
trace("あああ");
でも動作しません。
ボタンの共有はしたことがなかったので初めて気づきました。
ムービークリップの共有であれば,
on (release) { ○○ } は動作します。
原因などはわかりません。
しかし,ボタンにインスタンス名を付けて,
そのボタン.onRelease = function(){
gotoAndPlay(2);
};
などは動作しましたよ。
このようにボタンに対して何かの動作を定義すればうまく行くと思います。
すっかりお礼が遅くなってしまい、申し訳ありませんでした。
中途半端な知識で日々やりくりしているから、こういう基本的な所でいい加減な所が露呈されてしまうんですよね・・・。
丁寧に説明していただいて、ありがとうございます。無事動かす事が出来ました。
Movable Type が初心者なので、そっちにばかり気が行ってました。action scriptもごらんのとおりの知識なのですが。^^;
とっても勉強になりました。感謝です!! ありがとうございました。
No.1
- 回答日時:
ライブラリーアセット であっても,loadMovie であっても,
また,
普通の HTML であっても,Movable type であっても,
基本的に外部ファイルのパスは,SWFを表示させているHTMLからのパスなります。
(SWFからのパスではありません。)
普通のサイトですと,
HTML と同じ階層フォルダ か,
もしくは HTML の階層から間近なフォルダに外部SWFを置きます。
またその HTML の所在は変動しません。
ですからあまり問題にはなりません。
しかし,
Movable type の場合は,生成される HTML とアップした SWF は普通,ぜんぜん別のところにあります。
さらにまた,
表示させる方法(アーカイブのHTMLを見る場合と,今日の最新日記からHTMLを見る場合など)によって,
同じページ内容を見るにしても HLML のアドレスは変わります。
ですから Flash を使う使わない以前に,
Movable type 内のHTMLどうしのハイパーリンク,
またはJPEGなどの貼り付けリンクであっても,
http:// などから始まる絶対パスになっています。
SWF のリンクも,
いちいち見るページによってスクリプトを変えることは不可能(できても難しい)ので,
絶対パス にする必要があると思います。
(絶対パスにするとアップしない限り動作検証ができないことが難点ですが。)
詳しい回答ありがとうございます。
Movable type初心者なのでとても勉強になります。
アーカイブHTML(PHP化してるのですが)と同じ階層に本SWFとsharedライブラリーSWFを置いたら、読み込まれました!
それ以外の階層ですと、絶対パスで指定しても外部ファイルは読み込まれませんでした。なぜなんでしょうね。
ほとんど問題なく読み込まれてるのですが、幾つかのリンケージされたボタンがなぜか機能してません(単純なgotoAndPlayの組み合わせです)。やっぱり何か足りないのでしょうか・・・。
<embed src="http://xxxx.com/xxxxx.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" height="200" width="400">
これしか書いてないのですが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PDF acrobatでwordファイルをpdfに変換すると文字化けする 3 2023/02/10 09:31
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- ドライブ・ストレージ ケーブルが短い高速ストレージの接続方法 4 2022/10/27 20:29
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- マルウェア・コンピュータウイルス FlashPlayerの削除とマルウェア感染について 5 2023/02/23 20:52
- その他(パソコン・周辺機器) タブレットで使用するUSBメモリについて 7 2022/05/26 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数あるflashをファイルをペー...
-
Googleマップに保存した地点が...
-
サポートされたファイル形式お...
-
e-taxで送信ファイルの拡張子が...
-
2枚、マイクロSDカードを入...
-
【VBA】マクロの入ったファイル...
-
A4の紙に印刷されている文字を...
-
ビデオファイルのプロパティの...
-
ガラケーからPCへの写真の取り込み
-
ファイル数と合計サイズの取得方法
-
個別に違う添付ファイルを付け...
-
スマホでtxtファイルを編集する...
-
このページではAC_RunActiveCon...
-
VB2010で全画面で動画をランダ...
-
RaspberryPi にUSBメモリを接続...
-
VBSでファイルを指定のフォルダ...
-
PDFファイルの倍率を変えて保存...
-
TextBoxにフォーカスを与えると...
-
PC内で速度を遅くした音源をCD...
-
ExcelのVLOOKUP不具合
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
flashで、レベルの違うボタンか...
-
swf終了後、違うswfに自動で移...
-
ブラウザの更新ボタンで画像を...
-
PDFファイルの倍率を変えて保存...
-
サポートされたファイル形式お...
-
Googleマップに保存した地点が...
-
【VBA】マクロの入ったファイル...
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
複数のブックを新しいブックのS...
-
A4の紙に印刷されている文字を...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
ビデオファイルのプロパティの...
-
エアコンの冷媒 R410Aの重...
-
ガラケーからPCへの写真の取り込み
-
拡張子「.IDJ」を、windo...
-
Fortniteのクラッシュについて
-
2枚、マイクロSDカードを入...
おすすめ情報