作者zpl ()
看板Flash
标题Re: [问题] 不同as间的元件库加入图片到舞台
时间Mon Aug 26 15:03:10 2013
※ 引述《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
1F:推 m87dd05:多谢指导,受益良多!! 08/28 17:54