主题:  如何复制精灵?

skys

职务:普通成员
等级:1
金币:0.0
发贴:94
注册:2000/12/21 16:20:28
#12001/11/29 15:42:41
舞台上有个精灵,希望mouse点击一下能复制出一个新的来。然后用鼠标拖走。
请问如何复制阿?



skylen

职务:普通成员
等级:1
金币:0.0
发贴:93
注册:2001/10/20 21:42:17
#22001/11/30 9:10:00
我的方法,

1,在两个通道中放同一个member,
2,隐藏通道2中的member,并把该member设为可拖动
3,点sprite 1 中的member ,显示sprite2中的member,

ok?



skys

职务:普通成员
等级:1
金币:0.0
发贴:94
注册:2000/12/21 16:20:28
#32001/11/30 9:40:27
我的意思是,要能复制出很多来。数目不确定。最好用LINGO解决。



coo

职务:普通成员
等级:1
金币:0.0
发贴:163
注册:2001/4/6 16:48:24
#42001/11/30 9:54:26
在通道里放置足够多的看不到的演员,用Lingo 替换即可



yanhq

职务:普通成员
等级:1
金币:0.0
发贴:35
注册:2000/11/6 13:59:01
#52001/11/30 10:41:01
呵呵用puppetsprite来解决
例如:

property pspriteStart,pOBJsprite
on beginsprite me
pOBJsprite = 10 ----被复制的对象的通道
pspriteStart = 200 ----第一个复制出来的member的通道
end
on mouseUp me
puppetsprite pspriteStart ,true
sprite(pspriteStart).member = sprite(pOBJsprite).member
pspriteStart = pspriteStart + 1
updatestage
end



skys

职务:普通成员
等级:1
金币:0.0
发贴:94
注册:2000/12/21 16:20:28
#62001/11/30 10:43:13
这方法到是实用可行,就是有点傻。没有更好的办法了吗?
还有,我希望能够先选中一个精灵,然后点击旁边的一个删除按钮,能把这个精灵删除能做到吗?



yanhq

职务:普通成员
等级:1
金币:0.0
发贴:35
注册:2000/11/6 13:59:01
#72001/11/30 10:49:18
呵呵,“傻”?
用puppetsprite已经是最简单的乐。
另:关于删除这个精灵的问题可以这样,
如果你这个精灵使用puppetsprite 实现的,就可以用它来删除,例如
puppetsprite 2,false

如果你这个精灵是摆放在sprite上的可以这样:
on mouseUp me
sprite(2).member = VOID
updatestage
end

来实现。



threem

职务:普通成员
等级:2
金币:1.0
发贴:338
注册:2001/6/14 13:52:15
#82001/11/30 20:40:23
on mouseUp me
beginRecording
repeat with m=1 to the lastChannel
if sprite(m).member.type=#empty then
sprite(m).member=member("manyPic")
sprite(m).rect=sprite(me.spritenum).rect+5
--让新的精灵与源精灵错开5个象素!你也可以不加这个条件!:)
sprite(m).moveableSprite=true
exit repeat
end if
end repeat
endRecording

end


再这个frame后面的第二帧设置返回当前帧!
因为这个代码运行后将自动返回下一帧!



skys

职务:普通成员
等级:1
金币:0.0
发贴:94
注册:2000/12/21 16:20:28
#92001/12/3 13:17:14
上面两位老兄,不是说你们。我想要的就是你们说的东东。谢谢