※ 引述《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;
}
}