佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 2287|回复: 13

[请教]AS2.0 DuplicateMC Drag

[复制链接]
发表于 6-2-2010 02:53 AM | 显示全部楼层 |阅读模式
btn 是一个button 的 instance name
mc 是我要duplicate mc 的 instance name

  1. var i;
  2. for(i=0; i<10; i++)
  3. _root.btn.onPress = function() {
  4.         i+= 1;
  5.         duplicateMovieClip(_root.mc,"star"+i, i);
  6.         startDrag("star"+i, true);
  7. }

  8. _root.btn.onRelease=_root.btn.onReleaseOutside=function()
  9. {
  10.         stopDrag();
  11. }

  12. if(_root."star"+i._x>400)
  13.         _root.removeMovieClip();
复制代码


我写了这个AS,但是达不到我要的效果,
我是要按一个button,然后mouse就出现那个我要duplicate的mc,
然后以把mc drag 然后 放了,然后可以再drag过。
可是我的情况就是不能再drag过。
请问有什么办法能把stopdrag了的mc再 startdrag?
回复

使用道具 举报


ADVERTISEMENT

发表于 10-2-2010 02:39 AM | 显示全部楼层
看不明白你的 "然后以把mc drag 然后 放了,然后可以再drag过。" 想表達甚麼


這部分為甚麼會出現在同一個 frame 中??

# if(_root."star"+i._x>400)
#         _root.removeMovieClip();
回复

使用道具 举报

 楼主| 发表于 10-2-2010 05:45 PM | 显示全部楼层
看不明白你的 "然后以把mc drag 然后 放了,然后可以再drag过。" 想表達甚麼
就是
1)click 一个 button.mouse 出现一个start drag的mc.
2)我把mc drag去一个point.然后release mouse to stop drag.
3)我release mouse stop drag 后,发现位置不正确,想要再start drag ..
就是这个意思

這部分為甚麼會出現在同一個 frame 中??

# if(_root."star"+i._x>400)
#         _root.removeMovieClip();
super-tomato 发表于 10-2-2010 02:39 AM


# if(_root."star"+i._x>400)
#         _root.removeMovieClip();

我不知道是要在同一个frame或是其他的frame.。。目的是out of范围的就会被delete
回复

使用道具 举报

发表于 10-2-2010 06:40 PM | 显示全部楼层
# if(_root."star"+i._x>400)
#         _root.removeMovieClip();

我不知道是要在同一个frame或是 ...
yawchoong 发表于 10-2-2010 05:45 PM



这判断应放在 star 這個 mc 當中,只要本身循环判断 _x 大于場景上的 400 范围就可以本身自我移除
如果想节省資源耗用的話就只用一個 enterframe 事件循环判断所有的 star 座标
你一楼的 looping 方式是無法一直循环判断star 對象
回复

使用道具 举报

 楼主| 发表于 13-2-2010 01:28 AM | 显示全部楼层
哦。谢谢,这个我明白了。
但是还有一个主要的问题。旧书stopdrag 后,怎样start drag?
回复

使用道具 举报

发表于 13-2-2010 05:29 AM | 显示全部楼层
哦。谢谢,这个我明白了。
但是还有一个主要的问题。旧书stopdrag 后,怎样start drag?
yawchoong 发表于 13-2-2010 01:28 AM



給你的 object 定義 onPress 和 onRelease 事件, 就像你的 _root.btn 一樣
回复

使用道具 举报

Follow Us
 楼主| 发表于 14-2-2010 01:35 PM | 显示全部楼层
哈哈,先谢谢。
我有想过这样做,但是因为object的instance name 是 "star"+i
我不知道要怎样给那个object instance name.
因为"star"+i,不可能 _root."star"+1.onPress 吧?
回复

使用道具 举报

发表于 15-2-2010 06:46 PM | 显示全部楼层
哈哈,先谢谢。
我有想过这样做,但是因为object的instance name 是 "star"+i
我不知道要怎样给那个object instance name.
因为"star"+i,不可能 _root."star"+1.onPress 吧?
yawchoong 发表于 14-2-2010 01:35 PM



_root["start"+i].onPress = function()
{
  //blah blah blah....
}
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 16-2-2010 01:30 PM | 显示全部楼层
我试了,还是不能。一样的问题。
http://yawchoong.webs.com/test.fla
http://yawchoong.webs.com/test.swf
回复

使用道具 举报

发表于 24-2-2010 10:39 AM | 显示全部楼层
我试了,还是不能。一样的问题。
yawchoong 发表于 16-2-2010 01:30 PM



想想看你最後那段應該放在哪, 程式執行都會有先後
回复

使用道具 举报

 楼主| 发表于 25-2-2010 03:21 PM | 显示全部楼层
  1. var i;
  2. for(i=0; i<10; i++)
  3. _root.btn.onPress = function()
  4. {
  5.         i+= 1;
  6.         duplicateMovieClip(_root.mc,"star"+i, i);
  7.         startDrag("star"+i, true);
  8.                
  9.         _root["star"+i].onPress = function()
  10.         {
  11.         startDrag("star"+i, true);
  12.         }

  13.         _root["star"+i].onRelease = function()
  14.         {
  15.         stopDrag();
  16.         }
  17. }

  18. _root.btn.onRelease=_root.btn.onReleaseOutside=function()
  19. {
  20.         stopDrag();
  21. }

复制代码
谢谢,改了一些,好了一点,但只能对刚duplicate 的mc 罢了
回复

使用道具 举报

发表于 26-2-2010 12:46 PM | 显示全部楼层
谢谢,改了一些,好了一点,但只能对刚duplicate 的mc 罢了
yawchoong 发表于 25-2-2010 03:21 PM



你的 coding 就只針對复制出來的對象,不然你还想拖动甚么??
回复

使用道具 举报

 楼主| 发表于 26-2-2010 12:57 PM | 显示全部楼层
你的 coding 就只針對复制出來的對象,不然你还想拖动甚么??
super-tomato 发表于 26-2-2010 12:46 PM



    哦,我要拖动的就是复制出来的对象,但这个code只能拖动刚刚复制的哪一个mc,上几次复制的mc我也要drag但做不到。
回复

使用道具 举报

发表于 26-2-2010 01:35 PM | 显示全部楼层
哦,我要拖动的就是复制出来的对象,但这个code只能拖动刚刚复制的哪一个mc,上几次复制的mc我也要 ...
yawchoong 发表于 26-2-2010 12:57 PM



注意看 startDrag 的参數使用,還有你到現在還不明白 i 這個变数的變化,请用 trace 來追踪
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 31-5-2024 01:26 PM , Processed in 0.089201 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表