AS3电影剪辑Spawner-启动拖动电影剪辑出现在舞台上



基本思想。在我的拖放项目中,在舞台上,我有一堆珠宝(静态照片/电影剪辑),玩家可以从中拖动小珠宝,并将它们移动到中央窗口。我想拥有这样一个珠宝电影剪辑-让我们称之为jewell_mc,它可以产生无限多的子剪辑,这些子剪辑可以在舞台上移动。这是我需要帮助的地方,从这里开始该怎么办。-我是AS3的新手。

定制功能-我需要的是:因此,当玩家点击从珠宝堆中"开始拖动"时,鼠标光标上会出现一个小宝石,当玩家释放时,一个宝石会落在最后一个位置。玩家可以随意多次这样做,只要他们开始从堆叠宝石堆叠中拖动即可。

你在用粗花呢把一大堆珠宝往盘子上磨!

如果有任何帮助,我将不胜感激。来自另一个可拖动对象

jewel_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickuplittlejewel_mc);
littlejewel_mc.addEventListener(MouseEvent.MOUSE_UP, droplittlejewel_mc);
function pickuplittlejewel_mc(event:MouseEvent):void {
event.target.startDrag(true);
}
function droplittlejewel_mc(event:MouseEvent):void {
event.target.stopDrag();
}   

我已经猜到了上面的脚本,我不确定我离我的结果有多近。谢谢

我不知道我是否很理解你,但我试着解释你:

想象一下,你的库中有一个Jewel MovieClip,然后用这个代码你可以创建无限的Jewel,然后拖放它们:

import flash.display.Sprite;
import flash.events.MouseEvent;
this.addEventListener(MouseEvent.MOUSE_DOWN, createJewel);
//---Global variable
var _jewel:Sprite;
//---Create jewel
function createJewel(evt:MouseEvent){
_jewel = new Jewel();
_jewel.x = evt.stageX;
_jewel.y = evt.stageY;
addChild(_jewel);
_jewel.startDrag(false);
_jewel.addEventListener(MouseEvent.MOUSE_DOWN, dragJewel);
stage.addEventListener(MouseEvent.MOUSE_UP, dropJewel);
}
//---Jewel start drag
function dragJewel(evt:MouseEvent){
//---Avoid the event propagate to the Stage
evt.stopPropagation();
_jewel = evt.currentTarget as Sprite;
_jewel.startDrag(false);
stage.addEventListener(MouseEvent.MOUSE_UP, dropJewel);
}
//---Drop jewel
function dropJewel(evt:MouseEvent){
stage.removeEventListener(MouseEvent.MOUSE_UP, dropJewel);
_jewel.stopDrag();
}

这里有一个exmaple:的闪光灯

fla 示例

最新更新