永发信息网

flash AS3.0 怎么设置元件在舞台的拖动范围。只能x轴左右移动。

答案:2  悬赏:40  手机版
解决时间 2021-03-15 15:46
flash AS3.0 怎么设置元件在舞台的拖动范围。只能x轴左右移动。
最佳答案
很简单,侦听鼠标事件再做处理就可以了,下面是代码:
//假设你的黑色元件是black,粉色元件是powder
//此变量指示当前鼠标左键是否按下
var down:Boolean=false;
//此变量可以保存点击黑色元件的位置
var point:Point=new Point();
//侦听事件
black.addEventListener(MouseEvent.MOUSE_DOWN,handle);
black.addEventListener(MouseEvent.MOUSE_UP,handle);
//移动事件用stage侦听,也可以侦听ENTER_FRAME事件
stage.addEventListener(MouseEvent.MOUSE_MOVE,handle);
function handle(e:MouseEvent):void
{
    if (e.type==MouseEvent.MOUSE_DOWN)
    {
        down=true;
        point.x=black.mouseX;
        point.y=black.mouseY;
    }
    else if (e.type==MouseEvent.MOUSE_UP)
    {
        down=false;
    }
    else if (e.type==MouseEvent.MOUSE_MOVE)
    {
        if (down==true)
        {
            //黑色元件随鼠标移动
            black.x=black.parent.mouseX+point.x;
            //限定移动范围
            //因为我不确定你的元件是怎么安排坐标的,以下这么写适合所有情况
            if (black.transform.pixelBounds.left            {
                black.x+=powder.transform.pixelBounds.left-black.transform.pixelBounds.left;
            }
            else if (black.transform.pixelBounds.right>powder.transform.pixelBounds.right)
            {
                black.x-=black.transform.pixelBounds.right-powder.transform.pixelBounds.right;
            }
        }
    }
}

其实按照第一个回答者的方法用startDrag也可以,但是这个方法会导致在某些情况下一不小心按下右键会导致释放左键的效果失效,所以最好的方法还是用事件侦听~

希望能帮到你~

全部回答
startDrag ()
方法
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
后面的bounds参数就是它的移动位置的限制,是一个矩形。
var bounds:Rectangle=new Rectangle(0,0,100,1)
Rectangle(x:Number = 0,
y:Number = 0, width:Number = 0, height:Number = 0)
例如mc.startDrag(false,new Rectangle(0,0,100,1).
表示mc这个元件在一个矩形内移动,这个矩形有左上角坐标在(0,0)位置。移动的长度为100,高度为1.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
上调到上一级部门,同事要求请吃饭,怎么推脱
牛口坪地址在哪,我要去那里办事
菜刀小碎片吃下去,能排便出来吗
华罗庚数学2×3=2华罗庚数学怎么做
苏州三香路华侨饭店里面有娱乐会所招聘吗?
三星a8新手机微信不能登录,未注册网络
京津时尚广场怎么去啊,有知道地址的么
如图求2c等于几
为什么在工作时和半夜醒来心总很紧,突然会想
农行转账到异地工行手续费是多少
坐壬丙兼子午的房子甲午年乙亥月已酉日庚午时
有没有画风和GJ部相似的动漫?
挂水时挂了头孢多久能喝酒
用VB操作office自动生成word报告怎么样
新天地弈园我想知道这个在什么地方
推荐资讯
请问oppor9手绘图锁解不开了怎么弄啊,急急急
新气象是什么意思
南海市里水镇上沙卫生站这个地址在什么地方,
五莲县农村信用合作社联合社工会委员会地址在
船的浮力怎么算
属水,又含王字偏旁,或者内含王字的汉子有哪
易烊千最好的习惯是什么
您的档案在2018-x-xx被投至xx”,最终录取结
公务员周末在街上与人吵架,被居心叵测的人录
特奇炸鸡(商业街店)怎么去啊,有知道地址的么
有部电影 刚开始有两个人在山上 一个是狙击手
朴芝兰真的很好用吗?会不会含激素什么的,用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?