根据鼠标移动移动容器幼崽

时间:2014-01-19 21:53:02

标签: actionscript-3

截至目前,我已经创建了新的Container cub,其中添加了所有对象和地图。因此,当用户向右移动鼠标时,我将容器Cub移动到左侧,这样所有东西都会向左移动。代码:

var pt:Point = new Point(character.x, character.y);
pt = dori.localToGlobal(pt);
if (pt.x > (stage.width * 0.5))
{
                    container.x -= 5;
}

当鼠标超出舞台中间时......它会创建鼠标位置和角色之间的距离.. !!我的意思是它确实根据鼠标移动但在鼠标和角色之间创建了一些距离。当我继续将鼠标从舞台中心移开时,这个距离不断增加!!请帮助!

1 个答案:

答案 0 :(得分:1)

使用线性插值来确定对象的移动方式。例如,如果鼠标位于x=stage.stageWidth,则bg应为stage.stageWidth-bg.width,当鼠标位于x=0时,bg应为0使用:

paramF(bg,stage.stageWidth,stage.stageWidth-bg.width,0,0);

//in a loop that updates with mouse movement:
bg.x=bg.m*mouseX+bg.b;

function paramF(mc:MovieClip,x1:Number,y1:Number,x2:Number,y2:Number):void{
    mc.m=(y1-y2)/(x1-x2);
    mc.b=y1-mc.m*x1;
}