Re: [問題] Error #1009 如何解決
※ 引述《sarah946422 (雨霏)》之銘言:
: 錯誤資訊:
: TypeError: Error #1009: 無法存取 Null 物件參考的屬性或方法。
: at shopping_fla::MainTimeline/frame1()
: 問題簡述:
: 製作的是一個簡單的前進後退+超連結的swf,
: 匯出時發現除了第一個影格的連結有生效外其他都錯誤,
: 上網爬文後發現應該是因為監聽活動跑得比物件快導致的,
: 或是元件沒有實體化
: (應該不是這個原因,我已經確認過所有按鈕的屬性了)
: 但是新手入門真的不知道指令要怎麼寫才能排除…
: 懇請各位前輩指教,願意奉上微薄家產1000P致謝!
: 指令原始碼:
: stop();
: bt_next.addEventListener("click",mc_next);
: bt_pre.addEventListener("click",mc_pre);
: function mc_next(me:MouseEvent){
: if(currentFrame==5){
: gotoAndStop(1);
: }
: else{
: nextFrame();
: }
: }
: function mc_pre(me:MouseEvent){
: if(currentFrame==1){
: gotoAndStop(5);
: }
: else{
: prevFrame();
: }
: }
: bt1.addEventListener(MouseEvent.CLICK,onMouseClick1);
: function onMouseClick1(e:MouseEvent):void{
: var request:URLRequest=new URLRequest("http://ccsc.nccu.edu.tw/ccc/");
: navigateToURL(request,"_blank");
: }
: bt2.addEventListener(MouseEvent.CLICK,onMouseClick2);
: function onMouseClick2(e:MouseEvent):void{
: var request:URLRequest=new
: URLRequest("http://24h.pchome.com.tw/prod/DRAC03-A70634378");
: navigateToURL(request,"_blank");
: }
: bt3.addEventListener(MouseEvent.CLICK,onMouseClick3);
: function onMouseClick3(e:MouseEvent):void{
: var request:URLRequest=new
: URLRequest("https://tw.mall.yahoo.com/item/p017156003587?_co=psDmain0711");
: bt4.addEventListener(MouseEvent.CLICK,onMouseClick4);
: function onMouseClick4(e:MouseEvent):void{
: var request:URLRequest=new
: URLRequest("https://www.buy123.com.tw/site/deal/TKP5HY8/%E9%85%B7%E5%A4%8F%E6%B6%BC%E7%88%BD%E5%BF%85%E5%82%99%E5%86%B7%E5%87%9D%E5%A2%8A");
: navigateToURL(request,"_blank");
: }
: bt5.addEventListener(MouseEvent.CLICK,onMouseClick5);
: function onMouseClick5(e:MouseEvent):void{
: var request:URLRequest=new
: URLRequest("http://www.momoshop.com.tw/goods/GoodsDetail.jsp?i_code=2645029");
: navigateToURL(request,"_blank");
: }
其實還是可以將程式全寫在第一個影格上,
只是要注意的是 要在gotoAndStop後面加上指令(要記得程式執行是有順序性)
ex:
gotoAndStop(2);
//a_mc不在該影格的話 可以給 != null做判斷
if(a_mc != null)
{
a_mc.addEventListener(MouseEvent.CLICK,testA);
}
你這個例子寫在第一個影格就是這樣
stop();
bt_next.addEventListener("click",mc_next);
bt_pre.addEventListener("click",mc_pre);
this["bt" + this.currentFrame].addEventListener(MouseEvent.CLICK,
onMouseClick);
function mc_next(me:MouseEvent)
{
if(currentFrame == 5)
{
gotoAndStop(1);
}
else
{
nextFrame();
}
this["bt" +
this.currentFrame].addEventListener(MouseEvent.CLICK,onMouseClick);
}
function mc_pre(me:MouseEvent)
{
if(currentFrame==1)
{
gotoAndStop(5);
}
else
{
prevFrame();
}
this["bt" +
this.currentFrame].addEventListener(MouseEvent.CLICK,onMouseClick);
}
function onMouseClick(e:MouseEvent):void
{
var request:URLRequest;
switch(this.currentFrame)
{
case 1:
request = new URLRequest("http://ccsc.nccu.edu.tw/");
navigateToURL(request,"_blank");
break;
case 2:
request = new URLRequest("http://yahoo.com.tw");
navigateToURL(request,"_blank");
break;
}
}
--
A journey of a thousand miles begins with a single step.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.62.251
※ 文章網址: http://www.ptt.cc/bbs/Flash/M.1405218367.A.85C.html
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章