作者versitility (ID 越长,责任越大。)
看板Flash
标题[问题] 动态建立物件的完整路径?
时间Sun May 2 02:41:37 2010
小弟最近退伍在家,想熟析一下 FLASH,
刚好在3.0要出的时候没继续玩 FLASH,
简直完全不一样了阿 =口=
以下问题都是重新学习 AS3.0 产生的@@
--问题--
画面上有一个黑色的方块,当使用者左键点击後,
会将此MC切成两半且此两半会互相弹开。
我的写法是使用 ActionScript 建立出一个方形 MovieClip,
addEventListener 侦测 MovieClip 被点击之後,
用 ActionScript 新增两个 Shape 贴到 MovieClip 上,
并设为 MovieClip 的子物件。
让左半边往左边移动,右半边往右边移动
(或上半往上移动,下半往下移动,随机)
--程式码开始--
function makeRect():void{
//...
//随机取一条线切开黑色方块并依该线建立两个并排等於原方块大小的方块。
//中略
//...
timer(); //呼叫下面的计时器
}
function timer():void {
var myTimer:Timer = new Timer(40, 30);
myTimer.addEventListener("timer", splitStart);//呼叫下面移动函式
myTimer.start();//启动计时器
}
function splitStart(e:TimerEvent):void { //方块移动函式
var Stagen=Stage;
Stagen.square.rect1.x--;//square 为原始方块,rect1, rect2
Stagen.square.rect2.x++;
分别为新增出来的两个方块。
}
--程式码结束--
--错误讯息--
TypeError: Error #1010: 词汇未定义且没有属性。
at TimeWorL_fla::MainTimeline/splitStart()
at flash.utils::Timer/flash.utils:Timer::_timerDispatch()
at flash.utils::Timer/flash.utils:Timer::tick()
方块移动函式内的 "var Stagen=Stage;" 是来版上找答案的时候看到有人写
"var Root=root;" 有抓到主场景的东西,我试过 root 的写法错误讯息也是如上...
请教各位前辈该如何找到动态建立物件的真实路径呢...
--
题外话 1.)
另外请问以AS建立的物件要用回圈动画是不是一定要用 setInterval 或 timer 呢?
我直接用 for 回圈去渐变一个物件的位置都是一执行马上到位 -.-
timer 还不是很熟...不知道这样用对不对..
题外话 2.)
有想到如果这样写
function splitStart(n=rect1 , m=rect2):void{
n.x--;
m.x++;
}
再从 makeRect() 呼叫 timer() 时把这两个名称丢进来...
可是我写不出来...不知道是不是异想天开...
请各位大大赐教了 <0>
--
j&= y+ y* jv+ yy-v v &
wE!" j17$T 7MPC NU$E- Ej&v-
O*K^ yHH:Ovm+ UMMK BMNTO: H1="7'
vM1H1 jB-j1 "wHhHh* /$B]B- BKJUK
^HI'OH j""^N1 "OHOK~ H$H"Da jP'N ^
"` O| " jvHT T ~ "" "
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.123.85.220
2F:→ versitility:感谢e大回应,可是我用中断点去主控台看,两个 rect 05/02 03:10
3F:→ versitility:(方块)都有 stage 属性耶@@ 05/02 03:10
4F:推 scars:stage跟Stage不一样 05/02 07:18
※ 编辑: versitility 来自: 122.123.83.90 (05/02 13:45)