Flash AS3.0新手 求高手帮忙写一段代码 怎样通过鼠标的滑动控制影片剪辑左右滑动 类似现在的触屏手机。

主界面是300×500px 影片剪辑 900×500px 分为三个主界面 怎样通过鼠标的左右滑动来控制3个页面的出现 补充的是 影片剪辑里会有按钮,求高人指导,不胜感激,

//将下面的代码 复制到第一帧。发布按住鼠标滑动测试看看,相信剩下的部分你能搞定了!

import flash.events.Event;
var oldX:Number;
var precision:int = 50;//响应精度 只有鼠标按下并滑动大于50像素才响应事件

stage.addEventListener(Event.ENTER_FRAME,runF);
stage.addEventListener(MouseEvent.MOUSE_DOWN,downF);
stage.addEventListener(MouseEvent.MOUSE_UP,upF);
function runF(e:Event)
{

}
function downF(e:Event)
{
oldX = stage.mouseX;
}
function upF(e:Event)
{
var endX = stage.mouseX;
if (oldX - endX > precision)
{
trace("鼠标向左滑了");
//这里增加你控制MC移动代码
}
else if (oldX - endX < -precision)
{
trace("鼠标向右滑了");
//这里增加你控制MC移动代码
}
}追问

额 先谢谢了 可以用 但是响应太快了 如何缓冲啊 另外 p.x +=300 是不是只能用一次 我向左划滑了一次之后 再向左 MC用完了 就“白屏”了 这个要怎么解决呢

追答

//以下代码需要你将舞台上的 元件 分别命名为 m1 m2 m3
//关于边界问题。希望你能自己探索下,
//提个2个思路 1记录往某边滑了多少次 2比较前后元件的位置

import flash.events.Event;
var oldX:Number;
var precision:int = 50;//响应精度 只有鼠标按下并滑动大于50像素才响应事件
var perDisL:int = 300;//每划一次移动多少距离
var speed:int = 7;//缓动系数
var arr=new Array()
arr=[m1.x,m2.x,m3.x]//记录每个MC的初始位置

stage.addEventListener(Event.ENTER_FRAME,runF);
stage.addEventListener(MouseEvent.MOUSE_DOWN,downF);
stage.addEventListener(MouseEvent.MOUSE_UP,upF);
function runF(e:Event)
{
for (var i:int=1; i precision)
{
trace("鼠标向左滑了");
//这里增加你控制MC移动代码
leftMove();
}
else if (oldX - endX < -precision)
{
trace("鼠标向右滑了");
//这里增加你控制MC移动代码
rightMove();
}
}
function leftMove()
{
for(var i:int=0;i<3;i++)
{
arr[i]=arr[i]+300
}
}

function rightMove()
{
for(var i:int=0;i<3;i++)
{
arr[i]=arr[i]-300
}
}

追问

你的意思 是现在把大的MC拆成3个独立的MC来做吗 测试过了 效果真不错 先谢谢了 边界的事我在琢磨琢磨 谢谢

追答

当然你做到一个大MC里面 最好了 ,这样就控制这个一个MC就可以了 !我上面只是举例!

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-16
3个界面做成一个mc 使用鼠标相对主界面 和mc相对主界面的线性比例来关联运动追问

这些我已经想到了 但目前我AS3只会做一些按钮点击 切换界面的动作 这个不会写 能不能帮忙写个

FLASH 制作一个可以用进度条控制影片剪辑进度的AS3.0的代码 求大神相助...
import flash.events.Event;var i:int;\/\/首先把所有可视实例摆放好。(特别是滑块,把它放在进度条最左端)\/\/然后给影片实例中最后一帧添加如下代码:gotoAndStop(1);\/\/伪代码如下:ks_btn.addEventListener(MouseEvent.CLICK,ksc);zt_btn.addEventListener(MouseEvent.CLICK,ztc);tz_btn.addEventListener(...

flash影片剪辑怎样 制作按钮?
1、在属性栏给影片剪辑命名,例如an_mc 2、在帧上写如下代码:\/\/鼠标移上时,影片剪辑呈手状 an_mc.buttonMode = true;\/\/当移上an_mc时,播放an_mc的“yiru”标签 an_mc.addEventListener(MouseEvent.MOUSE_OVER,yiru);function yiru(e:MouseEvent):void { an_mc.gotoAndPlay("yiru");} \/\/...

flash as3.0 键盘控制,求高手帮忙
var rightStatus:Boolean;当你按下右方向键 ,rightStatus=true;当你松开右方向键 ,rightStatus=false;然后tank移动的具体实现 放在一个ENTER_FRAME事件中 if(rightStatus){ tank.x += xxx;} 我觉得这样就能解决你的问题了,你可以试试.

flash 8 as2.0 怎样让当鼠标经过按钮时将按钮时移到最前面,请详细说明...
制作的时候,需要把按钮封在一个影片剪辑里,(每个按钮都要),程序写在按钮上或者时间轴上都可以,(写法不一样).写在按钮上:on (release) { lv = this.getNextHighestDepth();\/\/查找当前最高层级 this.swapDepths(lv);\/\/把本身设置成最高层级 } ...

相似回答