Re: [問題] 不同as間的元件庫加入圖片到舞台
※ 引述《m87dd05 (阿里爸爸)》之銘言:
: 前些日子有在板上詢問關於不同as間的問題
: 後來經過版上大大指導後自己又試了一些功能
: 最近嘗試要按下按鈕後把元件庫的圖片放到舞台上
: (相同的做法在astest1.as可以,可是在astest2.as就不行)
: 陷入鬼打牆迴圈中...
: 有用trace去檢查發現把圖片加入到舞台的function確實是有執行
: 可是圖片就是沒加入@@
: 小弟猜測是跟之前問題類似astest2.as不知道圓形的這個自定義類別
: 我也有試過把 private var Circle:circle;放到astest2.as但還是不行
: 附件是我的實作檔:http://ppt.cc/6DZW
: function有被執行可是圖片沒成功放到舞台
: 也沒有錯誤訊息~
沒有在舞台出現的原因為 astest2 所產生的物件並沒有放到舞台上
ex.var t1= new astest2(); 你必須再此之後先 addChild(t1);
之前有提過不同class(as檔)之間的程式處理方式,
不過就我的經驗,初學者比較喜歡另一種做法,
雖然我比較不推薦,
因為不熟悉的人會搞不清楚class與object的差別。
-------------------
方法:使用static
astest1.as
package {
import flash.display.*;
import flash.events.*;
import astest2;
public class astest1 extends MovieClip {
public static var current:astest1;
private var greenbtn:btn;
public function astest1() {
astest1.current = this;
word_txt.text="執行了test1.as";
greenbtn= new btn();
greenbtn.x=100;
greenbtn.y=100;
addChild(greenbtn);
greenbtn.addEventListener(MouseEvent.CLICK,gotoBtn_);
}
function gotoBtn_(event:MouseEvent):void {;
var t1:astest2=new astest2();
}
}
}
astest2.as
package {
import flash.display.*;
import flash.events.*;
public class astest2 {
private var Circle:circle;
public function astest2() {
trace("123");
astest1.current.word_txt.text="執行了test2.as";
addImage();
}
//d-**************加入圖片***********
function addImage():void {
Circle= new circle();
astest1.current.addChild(Circle);
trace("有執行加入圖片之function");
}
//******************
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.27.48.226
推
08/28 17:54, , 1F
08/28 17:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章