作者tony42035 (ACE)
看板Flash
标题[问题] Flash AS3.0 影片片段阵列的问题
时间Sun Oct 24 20:13:22 2010
第一次在板上发文,如果有问题我会尽快修改
先谢谢各位耐心看我的问题 :D
我现在做的这个主要是由外部(资料库提供的路径)载入图片进FLASH
载入後我将图片(loader)用回圈的方式
指定到一个影片片段的阵列里面(影片片段才可以Drag)
接着使用者可以进行拖拉,摆放位置确定後我再将影片片段的XY座标存回资料库
不知道我这样讲会不会很笼统
不过以上讲的功能我都做完了
我现在的问题是
因为现在影片片段是一个阵列 mc[]
所以我每次要监听画面上每一个mc的时候
都要用for回圈去跑
for (i=0 ; i<mc数目 ; i++)
{
mc[i].addEventListener(MouseEvent.MOUSE_DOWN, drag);
}
而在drag()里
我可以很轻易的用
function drag (ev:MouseEvent):void
{
var mc = ev.currentTarget;
mc.startDrag();
}
这种方法知道我目前滑鼠触发的是mc阵列里的哪一个
但我没有办法在drag()里,滑鼠触发後
知道我滑鼠触发所对应到的是影片片段阵列的
哪一个元素值 ex:0,1,2,3...
或是
实体名称 ex: mc[1],mc[2],mc[3]....
我试过使用trace(ev.curruentTarget.name)
但出来的都是 (instance+数字) 这种实体名称 ex:instance19,instance16
我会有这样的需求是因为
我有另一个阵列是存放资料,他的排列跟mc阵列排列的顺序是一样的
所以当我mc阵列里的值有修改的时候(ex:x,y 座标)
我另一个阵列同一个元素值的资料也必须跟着修改
或是当我做触发的时候,我会从另一个阵列的同一个元素值里读出资料
我目前就卡在这边
不知道是不是我google不到其实有函式可以使用
还是我根本的想法都错了,其实有更简单的方式
或是这种方式根本不可行呢??
P.S
爆肝写了好多天程式
精神恍恍惚惚
如果有表达不清楚的地方麻烦提出喔!! 谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.251.207.224
1F:推 emily114005:试试看Dictionary 10/24 22:19
2F:推 dsmwang:用for跑 if(mc = mc[i]){trace(mc)}就可以了吧? 10/24 22:20
3F:推 wujr:在for里随便给他个自订属性就行了如mc[i].name=i 10/24 23:03
4F:推 etrexetrex:可以用 name 其实 name 不是自订属性 10/25 01:26
6F:推 wujr:感谢楼上提醒,其实意思就是说,反正给个自己认得的属性即可 10/25 20:08
7F:→ wujr:用个ABC当属性也行,因为MC用AS3写的时侯很少给NAME,所以我 10/25 20:10
8F:→ wujr:都习惯直接给他个NAME 10/25 20:10
9F:→ tony42035:谢谢以上各位,我这就来试试看 ^^ 10/27 21:29