0

ActionScript を使用して Web サイトをコーディングするのはこれが初めてです。このウェブサイトは非常にシンプルな方法で構築されており、5 つのメイン ページがあり、それらは静的なナビゲーション バーのボタンで接続されています (最初のページであるホームには対応するボタンがありません)。ページの 2 つ (ストーリーとキャラクター) は、問題なく正しくフェードインします。しかし、他の 2 つのページ (The World と Extras) はフェードインせず、そのページにジャンプするだけで、次のエラーが発生します。

 TypeError: Error #1009: Cannot access a property or method of a null object reference.  
    at fl.transitions::Tween/setPosition()  
    at fl.transitions::Tween/set position()  
    at fl.transitions::Tween()  
    at Gowang_fla::MainTimeline/frame85()  
    at flash.display::Sprite/constructChildren()  
    at flash.display::Sprite()  
    at flash.display::MovieClip()  
    at flash.display::MovieClip/gotoAndStop()  
    at Gowang_fla::MainTimeline/clickExtras()

ネーミングがすべて正しいことを確認するように言われました。ムービー クリップは、コードで参照されているのと同じ方法でラベル付けされますが、4 つのうち 2 つしか機能しません。他の 2 つに同じコードと命名規則を使用したのに、なぜ twop しか機能しないのでしょうか?

誰かが助けてくれれば本当にありがたいです。

~ .FLA は次のとおりです。

〜フェードしたいページに対応する各フレームラベルで使用したコードは次のとおりです。

var storyTween:Tween = new Tween(story_mc, "alpha", Regular.easeOut , 0, 1, 2, true);
var worldTween:Tween = new Tween(world_mc, "alpha", Regular.easeOut , 0, 1, 2, true);  
var topTween:Tween = new Tween(top_mc, "alpha", Regular.easeOut , 0, 1, 2, true);
var extrasTween:Tween = new Tween(extras_mc, "alpha", Regular.easeOut , 0, 1, 2, true);      

~ウェブサイトの完全なコードは次のとおりです。

stop();

//Fade Effect

import fl.transitions.Tween;
import fl.transitions.easing.*;

var homeTween:Tween = new Tween(home_mc, "alpha", Regular.easeOut , 0, 1, 2, true);

//Buttons

story_btn.addEventListener(MouseEvent.CLICK, clickStory);
world_btn.addEventListener(MouseEvent.CLICK, clickWorld);
characters_btn.addEventListener(MouseEvent.CLICK, clickCharacters);
extras_btn.addEventListener(MouseEvent.CLICK, clickExtras);

home_mc.storyH_btn.addEventListener(MouseEvent.CLICK, clickStoryH);
home_mc.worldH_btn.addEventListener(MouseEvent.CLICK, clickWorldH);
home_mc.charactersH_btn.addEventListener(MouseEvent.CLICK, clickCharactersH);
home_mc.extrasH_btn.addEventListener(MouseEvent.CLICK, clickExtrasH);

top_mc.gowang_btn.addEventListener(MouseEvent.CLICK, clickGowang);
top_mc.ayame_btn.addEventListener(MouseEvent.CLICK, clickAyame);
top_mc.evora_btn.addEventListener(MouseEvent.CLICK, clickEvora);
top_mc.rogin_btn.addEventListener(MouseEvent.CLICK, clickRogin);
top_mc.toraz_btn.addEventListener(MouseEvent.CLICK, clickToraz);
top_mc.naomi_btn.addEventListener(MouseEvent.CLICK, clickNaomi);
top_mc.rummy_btn.addEventListener(MouseEvent.CLICK, clickRummy);
top_mc.teeth_btn.addEventListener(MouseEvent.CLICK, clickTeeth);
top_mc.sichan_btn.addEventListener(MouseEvent.CLICK, clickSichan);

extras_mc.blog_btn.addEventListener(MouseEvent.CLICK, clickBlog);

function clickBlog(event:MouseEvent):void
{
    navigateToURL(new URLRequest("http://www.gowangadventures.blogspot.com"), "_blank");
}

function clickGowang(evtObj:MouseEvent){
gotoAndStop("gowang", "Scene 1");
}
function clickAyame(evtObj:MouseEvent){
gotoAndStop("ayame", "Scene 1");
}
function clickEvora(evtObj:MouseEvent){
gotoAndStop("evora", "Scene 1");
}
function clickRogin(evtObj:MouseEvent){
gotoAndStop("rogin", "Scene 1");
}
function clickToraz(evtObj:MouseEvent){
gotoAndStop("toraz", "Scene 1");
}
function clickNaomi(evtObj:MouseEvent){
gotoAndStop("naomi", "Scene 1");
}
function clickRummy(evtObj:MouseEvent){
gotoAndStop("rummy", "Scene 1");
}
function clickTeeth(evtObj:MouseEvent){
gotoAndStop("teeth", "Scene 1");
}
function clickSichan(evtObj:MouseEvent){
gotoAndStop("sichan", "Scene 1");
}
function clickStory(evtObj:MouseEvent){
gotoAndStop("story");
}
function clickWorld(evtObj:MouseEvent){
gotoAndStop("world");
}
function clickCharacters(evtObj:MouseEvent){
gotoAndStop("characters");
}
function clickExtras(evtObj:MouseEvent){
gotoAndStop("extras");
}
function clickStoryH(evtObj:MouseEvent){
gotoAndStop("story", "Scene 1");
}
function clickWorldH(evtObj:MouseEvent){
gotoAndStop("world", "Scene 1");
}
function clickCharactersH(evtObj:MouseEvent){
gotoAndStop("characters", "Scene 1");
}
function clickExtrasH(evtObj:MouseEvent){
gotoAndStop("extras", "Scene 1");
}
4

1 に答える 1

0

なぜこのようなことが起こるのかはわかりませんが、extras_mc のインスタンス名に関連付けられたクリップが見つからないようです。フレーム 85 のコードを次のように変更したところ、問題なく動作しました。

var extras_mc = this.getChildByName('extras_mc')
var extrasTween:Tween = new Tween(extras_mc, "alpha", Regular.easeOut, 0, 1, 2, true);
于 2011-02-25T20:19:51.663 に答える