作者Ake (AKE)
看板Flash
标题Re: [问题] 请问_droptarget
时间Sat Dec 6 02:02:57 2003
※ 引述《keenlong (keenlong)》之铭言:
: 说明文件是这样写:
: 属性 (唯读);传回影片片段实体斜线语法标记法中的绝对路径,MovieClip 就是放在这个
: 位置。_droptarget 属性永远都会传回以斜线 (/) 开头的路径。若要将实体的 _droptarg
: et 属性与参考加以比较,请使用 eval 函数,将传回来的值,从斜线语法转换成点式语法
: 参考。
: 为啥都是中文我却看不懂阿>"<...........
: _droptarget到底是传回啥?? 我在软大看到他用这个写一个拖曳物件到正确位址的范例
: 他是这样写:
: if(eval(被拖曳的物件._droptarget == _root.目标物件)
if(eval(被拖曳的物件._dropTarget) == _root.目标物件)
^^^^^^^^
1. 大小写不对
2. 少了一个括号
: 可否请问一下这个的意义...?
简单的说, 假设埸景上有两个 movie clip : MC_A , MC_B
现在把 MC_B drag 到 MC_A 上,
如此这般, MC_B._dropTarget 就是 /MC_A <--注意这是字串,
所以 if(eval(MC_B._dropTarget)==_root.MC_A )
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
用eval()把字串变成"物件参考" 这个也是物件
是用来比较两个物件是不一样.
其实亦有另一个比较方法,
可以这样 --> if(MC_B._dropTarget==MC_A._target )
trace(MC_A._target) 会回传 /MC_A <-- 同样也是字串,
当然书上的范例始终是范例,
照做做到"差不多"的通常会出问题,
尤其是这种牵涉到 路径 的东西, 问题更是常常,
像这次的, drag 物件通常会用 on() 或 onClipEvent() 事件,
如果在 MC_B 的 onClipEvent() 事件内用
if(eval(MC_B._dropTarget)==_root.MC_A ) 是一定错的!
但是 if(eval(_dropTarget)==_root.MC_A ) 就对了
所以多多看书多多实作, 加油啦!
--
我是一杯心酸的果汁...
果汁内悬浮着很多伤心的粒子...
我正需要一支搅拌匙不断的把我搅拌...
免得粒子在宁静中沉淀成块......。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.85.48.159