フラッシュCS4ローダークラス:最初は画像が読み込まれますが、新しい画像のロード時にエラーが返されました
-
28-10-2019 - |
質問
これはタイトルで説明するのが非常に困難です...まず、ActionScriptの私のコードは次のとおりです。
var digitalGallery:Loader = new Loader();
digitalGallery.x = 730
digitalGallery.y = 210
digitalGallery.load(new URLRequest("images/nair_evanescentautumn.png"));
addChild(digitalGallery);
function dgtlLatest(event:MouseEvent):void {
if(event.target == new_thumb1) {
digitalGallery.load(new URLRequest("images/iilu_evanescantautumn.png"));
}
else if(event.target == new_thumb2) {
digitalGallery.load(new URLRequest("images/daem_evanescantautumn.png"));
}
else if(event.target == new_thumb3) {
digitalGallery.load(new URLRequest("images/moon_evanescantautumn.png"));
}
else if(event.target == new_thumb4) {
digitalGallery.load(new URLRequest("images/dael_evanescantautumn.png"));
}
}
function dgtlGalery(event:MouseEvent):void {
if(event.target == gal_thumb1) {
digitalGallery.load(new URLRequest("images/kryo_evanescantautumn.png"));
}
else if(event.target == gal_thumb2) {
digitalGallery.load(new URLRequest("images/nair_evanescantautumn.png"));
}
else if(event.target == gal_thumb3) {
digitalGallery.load(new URLRequest("images/lite_evanescantautumn.png"));
}
else if(event.target == gal_thumb4) {
digitalGallery.load(new URLRequest("images/oasi_evanescantautumn.png"));
}
}
new_thumb1.addEventListener(MouseEvent.CLICK,dgtlLatest);
new_thumb2.addEventListener(MouseEvent.CLICK,dgtlLatest);
new_thumb3.addEventListener(MouseEvent.CLICK,dgtlLatest);
new_thumb4.addEventListener(MouseEvent.CLICK,dgtlLatest);
gal_thumb1.addEventListener(MouseEvent.CLICK,dgtlGalery);
gal_thumb2.addEventListener(MouseEvent.CLICK,dgtlGalery);
gal_thumb3.addEventListener(MouseEvent.CLICK,dgtlGalery);
gal_thumb4.addEventListener(MouseEvent.CLICK,dgtlGalery);
このスクリプトは、クラスの割り当ての一部として、フラッシュのローダーイメージギャラリー用です。何が起こるかは、SWFファイルを開くと、初期画像(画像/nair_evanescentaumn.png)が正常にロードされることです。ただし、サムネイル画像(まったく同じ画像/nair_evanescentaumn.pngを含む)をクリックすると、ファイルが見つからないというエラーが発生します。
なぜこれをしているのかわからない...私はそれをテストした。各サムネイルをクリックすると、2つの個別の機能で正しい位置に移動します。フルサイズの画像リンクはフォルダー画像/にあると述べています。最初のローダー画像を置き換えると、デフォルトの画像の代わりに他の画像がロードされます。ただし、サムネイルをクリックすると、すべてが正しく機能していても、URLが見つかりません。
これは私を夢中にさせるだけです...シンプルなギャラリーを作成するのはこれほど難しいことではありません。
課題は水曜日に予定されています...私はクラス内のインストラクターに尋ねることができると確信していますが、それを前にそれをやりたいと思っています。
すべてのヘルプが大歓迎です...
編集:
エラーを投稿していないことについて申し訳ありません...
Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
編集2:
ファイルのセット全体へのリンクは次のとおりです。
http://www.tsr-online.org/flash/index.swf
私のサーバーは /flashフォルダーインデックスへのアクセスを許可しませんが、ディレクトリリストを指定できます。
/Flash Directory: /Images(すべての画像を含む) /cmsn(commissions.swfサブページを含む)index.swf home.swf blog.swf traditional.swf digital.swf photography.swf commissions.swf
この種のコンテンツをフラッシュサイトに入れる理由を誰かが尋ねる前に、私はそうではありません - これはクラスの割り当てのためだけです。私は、他のページにいるのと同じように、機能でまったく同じことをしているときに、自分の画像が正しくロードされていない理由を理解しようとしています。
注目すべきことに、commissions.swfにはまったく同じ機能があり、代わりにSWFファイルがロードされているだけで、完全に正常に機能します。ホーム、伝統、デジタル、写真にはすべて画像ギャラリーがあり、すべて同じ問題があります(1ページを修正できればすべてを修正できるはずです)。
アートワークに関しては、それらはすべて私の婚約者です。ウェブサイトのデザインは彼女のために構築されました、そして、私はまったく新しいインターフェイスデザインを構築する必要がなかったので、私はこのプロジェクトにウェブサイトのデザインを使用しました。プロジェクトにはギャラリーも必要だったので、このインターフェイスは正常に機能すると感じました。
解決
コードにスペルミスがあります。それがすべてです。あなた自身のコードからの例:
else if(event.target == new_thumb2) {
digitalGallery.load(new URLRequest("images/daem_evanescantautumn.png"));
}
実際、スペルは次のとおりです。
http://www.tsr-online.org/flash/images/daem_evanescentaumn.png
正確な問題は「Vanesc」です a ntautumn.png "banesc e ntautumn.png。 "
上記のコードのスペルを修正すると、すべてがうまくいくはずです。
他のヒント
奇妙な制限のためにあなたの投稿にコメントすることができないので、答えを書く必要があります(これはあなたにとって質問です):なぜ同じ画像を2回ロードしようとするのですか?
とにかく、あなたは本当にラウンドアバウトのような方法でそれをやっています - これを試してみてください:
var digitalGallery:Loader;
var thumbs:Array = ['new_thumb1',
'new_thumb2',
'new_thumb3',
'new_thumb4',
'gal_thumb1',
'gal_thumb2',
'gal_thumb3',
'gal_thumb4']
var images:Array = ['iilu_evanescantautumn',
'daem_evanescantautumn',
'moon_evanescantautumn',
'dael_evanescantautumn',
'kryo_evanescantautumn',
'nair_evanescantautumn',
'lite_evanescantautumn',
'oasi_evanescantautumn']
setupThumbs()
function setupThumbs(){
for (var i=0; i<thumbs.length; i++){
var thumb = this.getChildByName(thumbs[i])
thumb.id = i
thumb.addEventListener(MouseEvent.CLICK, loadImage);
}
}
function loadImage(event:MouseEvent){
var id = event.currentTarget.id
digitalGallery = new Loader();
digitalGallery.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
digitalGallery.load(new URLRequest("images/"+images[id]+".png"));
}
function loadComplete(event:Event):void {
trace("Complete");
addChild(digitalGallery)
digitalGallery.x = 730;
digitalGallery.y = 210;
}