作者liveinlow (玉仔〒△〒)
看板Flash
标题Re: [问题] 可以帮我看一下~attachMovie&Button
时间Thu Sep 6 18:32:56 2007
※ 引述《icedesign (不可或缺的咖啡因)》之铭言:
: ^^"新手试解练功力,高手不要看,我会害羞。
: 刚看了一下整个内容,以下是我自己的想法,
: 讲的不对或不好,麻烦各位多包涵,因为我真
: 的是新手在练功力
: ※ 引述《purplemio (噗哈~)》之铭言:
: : xml.onLoad = function(success) {
: : var node:XMLNode;
: : if (success) {
: : len = this.firstChild.childNodes.length;
: : for(var i=0;i<len;i++){
: : node = this.firstChild.childNodes[i];
: : array.push(node.attributes.userid);
: : }
: : A = array;
: ^^^^^^以上这边都还好
: : for (var i = 0; i<len; i++) {
: : _root.attachMovie("Button", "bb"+i, i,{_x:100, _y:20+50*i});
: ^^^^^^^^^
: ^^"个人觉得问题出在这。
: attachMovie的第二个栏位值是String,也就是会传回mc的实
: 体名称。
"bb"+i 这样也是一个string噢,
假如i是100,会变成bb100。
这边应该是没问题的
: : with (_root["bb"+i]) {
: : _root["bb"+i].label = A[i];
: ^^^^^^^^^^^^^^^^^^^^^^
: ^^"label应该是Button的其中一个属性,如: Button.label
: 那既然是这样的话,_root["bb"+i]应该是不会有label的属性
: 才对,所以A[i]在这边没办法指定给_root["bb"+i]。
_root["bb"+i]实际上是在_root中取出实体名称叫做 bb+一个数
的实体。如果说这个实体是Button,照您的说法,还是会有label
属性的哦!
: : }
: : _root["bb"+i].onRelease = function(){
: : var userid = _root["bb"+i].label;
: ^^^^^^^^^^^^^^^^^^^^^
: ^^"所以这个部份也是废了。
这边也和上面一样,是ok的 :)
不过呢
要注意一点,onRelease=function,这东西咧
这边是先宣告成这样而已,
实际上要等到按下去才会去抓取变数的值。
换句话说,要等到你按下这个按钮,才会去抓
i值。
当程式跑完之後,这个i值已经变成len了
(因为:for(var i=0; i<len; i++) )
所以你按下按钮的时候,i已经变成len了,而不是你要的那个数。
所以这边呢,就用this,取出自己的label就可以罗!
: : trace(userid); //undefined~
: : }
: : }
: : }
: : };
: : xml.load("http://127.0.0.1/shareobject/alluserid.php");
: = = 以上真的是新手练功力,如果讲的不对,真的希望多多包涵,
: 也希望有高手指正一下,希望这样才会越来越进步,肛温啊~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.64.173.38
1F:推 purplemio:喔喔~谢谢^^ 09/06 18:36
2F:推 purplemio:成功哩^^~谢谢 09/06 19:21
3F:推 icedesign:感谢啊!又多学了一点~ :) 09/07 01:26