作者Jedic (音乐与身心合一的感受)
看板Flash
标题Re: [问题] startDrag
时间Thu May 13 19:55:47 2004
※ 引述《Neophoeus (最真实的信念不过是谎言)》之铭言:
: ※ 引述《Jedic (音乐与身心合一的感受)》之铭言:
: : ^^^^ 应该是实体名称 (instance name)
: 喔...歹势.... 写错..........
: : 这好像是Flash 4的语法
: 我是去外面学的, 老师是这样教的....
: 後来在网站上看到的写法是...
: _root.a.startDrag(true);
说真的
到现在还在斜线或root来root去的
都可以叫他们回家吃自己别出来招摇撞骗了
: : 如果写在影格里
: : 应该是
: : startDrag("a",true);
: : startDrag("b",true);
: : 不用斜线,也不用html的标签符号< >
: < > 是我自己多加的.... 为了跟前後的中文字区分开的.... 抱歉造成误解...
: 那................
: 要drag超过一个物件..... 要怎麽作咧??
: 我还是不会耶.................... @@"
startDrag这个指令是只能拖曳一个
不过通常都是用
onClipEvent(enterFrame){
物件实体名._x=_xmouse;
物件实体名._y=_ymouse;
updateAfterEvent();
}
让物件跟随滑鼠游标
这样要拖曳几个都行
如果怕系统太吃重的话
我以前的技巧是加个回圈
onClipEvent(load){
frames=0;
}
onClipEvent(enterFrame){
for(i=0;i<=99;i++){
if(frames%5==0){
物件实体名._x=_xmouse;
物件实体名._y=_ymouse;
updateAfterEvent();
}
if(frames>=99){
frames=0;
}
}
}
这样是每跑5个影格才会执行一次
因为frames被5整除余数为0时才能通过判断式
有很多事Flash 4时代就能做到了
靠的就是真正的技巧,而不是等待官方出新版本加新的语法
Flash MX以後又有新的语法setInterval
那就先写一个
function follow(){
物件实体名._x=_xmouse;
物件实体名._y=_ymouse;
}
然後following=setInterval(follow,500);
500是毫秒,一秒钟有1000毫秒
所以一秒执行两次
不想让它跟了
就写一行clearInterval(following);
--
═╬═╬═ ╔═╗ ═ ╭╬╮╯═╤╤═
╭═╬═╮╔═╗╠═╣═╦═╠╬╣ ╬╬╬╬
║ ║ ║╠═╣╠═╣║║║║║║═╩╩╩╩═
╩╦╩╦╩╚═╝║ ║║║║╰╬╯ ╭╦ ╔╬
╭╯ ╰╮ ╯ ╝ ║ ║ ╩╯ ╩╬
1F:推 Neophoeus:喔 厉害... 感谢高手.... 210.85.2.114 05/13
※ 编辑: Jedic 来自: 61.62.226.170 (08/06 01:20)