鼠标flash(鼠标flash是一种什么神奇操作)
一、Flash鼠标事件监听
写函数记录鼠标状态。
下面是一个例子,希望对你有帮助,但具体情况还要具体分析。
var _cursorFlag:Number= 0;//记录当前注册的鼠标监听器状态。
var _cursorObj:Object= new Object();
_cursorObj.def= 0;
_cursorObj.drag= 1;
_cursorObj.select= 2;
_cursorObj.tong= 3;
_cursorObj.pip= 4;
/*----------状态码---------------------
* 0:默认状态,无任何形状,只能切换到其他状态后进行操作
* 1:手的形状,可以从物品栏中拖物品
* 2:选择状态,可以选择操作区中的东西
* 3:油漆桶状态,可以涂色
* 4:吸管状态,设置颜色
*-------------------------------------
*----------------------------------------*/
//按钮事件定义
/*---------------用于控制菜单消失的鼠标监听器--------
*当菜单显示出来,并且在菜单之外的地方单击鼠标时,让菜单消失(主要是画图板工具栏上的菜单)*
*--------------------------------------------------------------*/
var _mmListen:Object= new Object();
_mmListen.onMouseDown= function():Void
{
if(!menu_mc.hitTest(_xmouse, _ymouse))
{
Mouse.addListener(drawObj);
Mouse.removeListener(_mmListen);
menu_mc.gotoAndStop(1);
}
};
//点击颜料桶时注册监听器
var dmtong:Object= new Object();
dmtong.onMouseMove= function():Void
{
dmtong_mc._x= _xmouse;
dmtong_mc._y= _ymouse;
};
//吸管工具
var dmpip:Object= new Object();
dmpip.onMouseMove= function():Void
{
dmpip_mc._x= _xmouse;
dmpip_mc._y= _ymouse;
};
//选择工具
var dmselect:Object= new Object();
dmselect.onMouseMove= function():Void
{
dmcursor_mc._x= _xmouse;
dmcursor_mc._y= _ymouse;
};
//画线工具
line_mc.clear();
var drawObj:Object= new Object();
drawObj.x1= 0;
drawObj.y1= 0;
drawObj.x2= 0;
drawObj.y2= 0;
drawObj.xx= 0;
drawObj.yy= 0;
drawObj.drawFlag= false;
drawObj.moveFlag= false;
drawObj.startFlag= false;
drawObj.moveMC= new Array();
var plasterFlag:Boolean= false;
drawObj.onMouseDown= function():Void
{
//如果在操作区之外按下鼠标,则返回
if(_xmouse<= 68|| _xmouse>= 400|| _ymouse>= 260|| _ymouse<= 55)
{
return;
}
//如果当前状态是不是移动选中的物品,则记录按下位置,用来画线
if(drawObj.moveFlag!= true)
{
drawObj.x1= _xmouse;
drawObj.y1= _ymouse;
drawObj.drawFlag= true;
}
else
{
drawObj.xx= _xmouse;
drawObj.yy= _ymouse;
drawObj.moveMC= new Array();
selectRect();
}
drawObj.startFlag= true;
};
drawObj.onMouseUp= function():Void
{
if(drawObj.moveFlag!= true)
{
drawObj.x2= _xmouse;
drawObj.y2= _ymouse;
if(drawObj.x1== _xmouse&& drawObj.y1== _ymouse)
{
line_mc.clear();
}
else
{
dmcursor_mc.nextFrame();
}
drawObj.drawFlag= false;
}
drawObj.startFlag= false;
trace("x1="+ drawObj.x1);
};
//单鼠标在选中区域内时,变成移动图标,否则变成选择图标。
line_mc.onEnterFrame= function():Void
{
if(_cursorFlag== _cursorObj.select&& drawObj.x1!= drawObj.x2&& drawObj.y1!= drawObj.y2&& drawObj.startFlag== false)
{
if((_xmouse- drawObj.x1)*(_xmouse- drawObj.x2)< 0&&(_ymouse- drawObj.y1)*(_ymouse- drawObj.y2)< 0)
{
drawObj.moveFlag= true;
drawObj.drawFlag= false;
dmcursor_mc.gotoAndStop(2);
}
else
{
drawObj.moveFlag= false;
drawObj.drawFlag= true;
dmcursor_mc.gotoAndStop(1);
}
}
};
drawObj.onMouseMove= function():Void
{
trace(drawObj.startFlag);
if(_cursorFlag== _cursorObj.select&& drawObj.startFlag== true)
{
if(drawObj.moveFlag== true)
{
//移动
if(drawObj.x1+(_xmouse- drawObj.xx)< 65|| drawObj.x1+(_xmouse- drawObj.xx)> 400|| drawObj.x2+(_xmouse- drawObj.xx)< 65|| drawObj.x2+(_xmouse- drawObj.xx)> 400|| drawObj.y1+(_ymouse- drawObj.yy)< 50|| drawObj.y1+(_ymouse- drawObj.yy)> 260|| drawObj.y2+(_ymouse- drawObj.yy)< 50|| drawObj.y2+(_ymouse- drawObj.yy)> 260)
{
return;
}
for(var mm in drawObj.moveMC)
{
drawObj.moveMC[mm]._x+= _xmouse- drawObj.xx;
drawObj.moveMC[mm]._y+= _ymouse- drawObj.yy;
drawObj.moveMC[mm].x= drawObj.moveMC[mm]._x;
drawObj.moveMC[mm].y= drawObj.moveMC[mm]._y;
}
drawObj.x1+= _xmouse- drawObj.xx;
drawObj.y1+= _ymouse- drawObj.yy;
drawObj.x2+= _xmouse- drawObj.xx;
drawObj.y2+= _ymouse- drawObj.yy;
drawObj.xx= _xmouse;
drawObj.yy= _ymouse;
}
else
{
drawObj.x2= _xmouse;
drawObj.y2= _ymouse;
}
drawRect();
}
else
{
}
};
//手型图标
var handObj:Object= new Object();
handObj.onMouseMove= function():Void
{
hand_mc._x= _xmouse;
hand_mc._y= _ymouse;
};
hand_btn.onRelease= function():Void
{
RegMouse(_cursorObj.drag);
};
//鼠标监听器注册管理函数
function RegMouse(regID:Number):Void
{
if(regID< 0|| regID> 4)
{
return;
}
//清除上次的
switch(_cursorFlag)
{
case _cursorObj.def:
Mouse.hide();
break;
case _cursorObj.drag:
hand_mc._x= hand_mc._y=-500;
Mouse.removeListener(handObj);
break;
case _cursorObj.select:
dmcursor_mc._x= dmcursor_mc._y=-500;
select_mc.gotoAndStop(1);
line_mc.clear();
Mouse.removeListener(drawObj);
Mouse.removeListener(dmselect);
break;
case _cursorObj.tong:
dmtong_mc._x= dmtong_mc._y=-500;
tong_mc.gotoAndStop(1);
Mouse.removeListener(dmtong);
break;
case _cursorObj.pip:
dmpip_mc._x= dmpip_mc._y=-500;
pip_mc.gotoAndStop(1);
Mouse.removeListener(dmpip);
break;
}
if(_cursorFlag== regID)
{
_cursorFlag= 0;
Mouse.show();
return;
}
//注册新的监听器
switch(regID)
{
case _cursorObj.def:
Mouse.show();
break;
case _cursorObj.drag:
hand_mc._x= _xmouse;
hand_mc._y= _ymouse;
Mouse.addListener(handObj);
break;
case _cursorObj.select:
dmcursor_mc._x= _xmouse;
dmcursor_mc._y= _ymouse;
Mouse.addListener(drawObj);
Mouse.addListener(dmselect);
break;
case _cursorObj.tong:
dmtong_mc._x= _xmouse;
dmtong_mc._y= _ymouse;
Mouse.addListener(dmtong);
break;
case _cursorObj.pip:
dmpip_mc._x= _xmouse;
dmpip_mc._y= _ymouse;
Mouse.addListener(dmpip);
break;
}
_cursorFlag= regID;
}
二、...flash然后再开机就只剩一个鼠标箭头了是什么原因
1、电脑开机发现黑屏只有一个鼠标指针,这时可以尝试按下“Ctrl+ Alt+ Delete”快捷键之后会跳转到下图所示的界面,选择“启动任务管理器”,或者也可以直接使用“Ctrl+ Shift+ Esc”快捷键直接打开任务管理器程序;
2、弹出任务管理器后,在“进程”选项卡中找到“explorer.exe”进程;
3、选中“explorer.exe”点击下方的“结束进程”按钮,关闭资源管理器;
4、然后点击左上角的“文件”打开菜单,选择“新建任务(运行)”;
5、之后会弹出“新建新任务”窗口,输入刚刚关闭的进程名称“explorer.exe”,点击确定即可。
三、Flash鼠标经过命令
用AS2的话方法如下【使用flash8软件创建的文件就是AS2的如果用FlashCS3或者更新的版本创建的文件,需要选择ActionScript2.0如果你创建AS3.0的文件,下述方法不适用。精力所限,就不说AS3.0的方法了】:
一、将图片先制作成影片剪辑
【方法是,单击舞台上的图片后按F8键,在弹出的对话框中选择影片剪辑】
二、打开属性面板分别给两个图片影片剪辑设置实例名
a图片的实例名为a_mc
b的为b_mc
三、单击两个图片后,打开动作面板,输入代码:
onClipEvent(load){
this._visible=0
}
四、单击A按钮,打开动作面板,输入代码:
on(rollOver){
a_mc._visible=1
}
on(rollOut){
a_mc._visible=0
}
五、B按钮的代码请复制A按钮的粘贴过来然后将里面的a都改成b即可
本人在自己机器上测试没有问题