Flash教你如何制作火苗跟随鼠标

Flash教你如何制作火苗跟随鼠标,第1张

本例讲解了使用AS代码制作鼠标跟随效果,让火苗跟着你的鼠标呈现出美丽的图形吧!

效果演示:

现在开始制作:

新建flash文档,背景色为黑色,其它默认。首先来画火苗:新建图形元件,取名为:“火苗”,用椭园工具无填充,画一椭园,如图:

然后用选择工具,调整成下图形状:

这个图一边是弧形,一边凹进去了一点。一定是这样。

用放射填充,按下图选择颜色,注意最右边色标透明度为零。新建一图层,并将它拉到第一个图层的下面:用椭园工具画一个园,无边框,填充色为淡红色,左色标透明度为20%,右色标透明度为0%。画好后用填充变形工具调整,按下图放好。

注意:火苗填充后,用填充变形工具,将填充中心点调到,火苗一下部,如图:

#p#副标题#e#

新建一影片剪辑元件,取名为:“烟”。逐帧插入7个关键帧,用放射填充,左右色标都为白色,左色标透明度为20%,右色标透明度度为0%,每一帧的图形如下:(点击小图看大图)

然后:打开洋葱皮工具,让7帧都行看见,调整7帧图形位置,成如下形状。

接下来再建一影片剪辑元件,取名为闪动的火苗。将火苗元件拖入,在第2帧插入关键帧。在第2帧,选中火苗元件,点“修改”-“变形”-“水平翻转”。上锁。插入新图层,画一无笔触,**放射填充,左色标透明度80%,右色标透明度50%,的椭园,放到火苗的下部。如图:

在第2帧插入帧,上锁。再插入新图层,将烟元件拖入,放到火苗的上方,第2帧插入帧,上锁。现在回到主场景,将闪动的火苗拖入场景,随便放个地方。打开属性面板,为元件取名为:hm_mc然后中,在第3帧插入帧,上锁。插入新图层,取名为:action,在第1帧,打开动作面板,输入如下代码:

vari=1;//声明一个变量i,后面有用。 hm_mc_visible=false;//让火苗元件不可见。 在第2帧,插入关键帧,输入如下代码: if(i7){ //将复制7个火苗 hm_mcduplicateMovieClip("hm"+i,i);//复制火苗 fzhm=eval("hm"+i);//获取新复制火苗的名称 fzhm_x=_xmouse+random(5);//设置复制的火苗的x坐标在鼠标坐标右方5个象素内 fzhm_y=_ymouse-random(5);//设置复制的火苗的y坐标在鼠标坐标上方5个象素内 fzhm__alpha=random(100);//设置新复制火苗的透明度为随机的。 i++; }else{ i=1;//如果火苗已复制了7个上,将i设为1,以便复制可以重复进行。 } 在第3帧插入关键帧,输入如下代码: gotoAndPlay(2);

好了,完工,存盘测试,拖动鼠标看看效果

#p#副标题#e#

1、先做个影片剪辑代替你的鼠标

2、给你要跟随的影片剪辑起个名字叫aa

3、在你这个影片剪辑中写

onClipEvent

(enterFrame)

{

this_x=_level0_xmouse;

this_x=_level0_ymouse;

}

4、隐藏鼠标

Mousehide();写在主场景的帧上

1、清除血迹指令

F键清除血迹指令:bindf\"+lookatweapon;r_cleardecals\""

SHIFT清除血迹指令:bindshift\""+speed;r_cleardecals\""

CTRL清除血迹指令:bind\""ctrl\""\""+duck;r_cleardecals\""

开枪后清除血迹指令:bindMOUSE1\""+attack;r_cleardecals\""

2、跳投指令

alias+jumpthrow\""+jump;

-attack;-attack2\"";

alias-jumpthrow-jump;

bindt+jumpthrow;

3、空格大跳指令

alias+cjump\""+jump;+duck\""

alias-cjump\""-jump;-duck\""

bind\""space\""\""+cjump”

4、枪口抖动消除指令

viewmodel_recoil0

5、准星调整类指令

cl_crosshaircolor0~5颜色

cl_crosshairthinkness准星粗细

cl_crosshairsize准星长短

cl_crosshairdot0/1准星中间不加/加个点

cl_crosshairalpha准星透明度

cl_crosshairstyle0~5准星类型

6、fps及网络参数显示指令

net_graph1

显示出来的数据详解

fps:你游戏当前帧数

loss:数据包丢失率,过去的1秒内服务器向你的客户端发送数据包时的未送达的量

choke:数据包未及时传达率,过去的1秒内服务器向你的客户端发送数据包时延时发送的量

sv:服务器的帧速,这个值由服务器决定,服务器的运行质量

var:服务器帧时的标准差,这个值由服务器决定,对于服务器而言,只要不超过1都是可以接受的

tick:你当前服务器的tick,只有64和128

7、左上角雷达地图显示指令

cl_radar_scale最低是025最高应该是07,最小也不一定最好,看个人习惯

8、鼠标加速指令及去鼠标加速指令

m_customaccel_exponent

-noforcemaccel

9、fps指令

fps_max

+fps_max0

10、机器人练习赛跑图指令

sv_cheats1

bot_kick

sv_infinite_ammo1

mp_maxmoney99999

mp_startmoney99999

mp_roundtime_defuse60

mp_freezetime0

mp_restartgame1

mp_buy_anywhere1

mp_buytime9999

sv_grenade_trajectory1

sv_grenade_trajectory_thickness1

sv_grenade_trajectory_time20

bind\""ALT\""\""noclip\""

sv_showimpacts1

bind\""p\""\""bot_place1\""

ammo_grenade_limit_total5

gods

bot_stop1

mp_drop_knife_enable1

mp_warmup_end

bind\""c\""\""sv_rethrow_last_grenade\""

mp_limitteams0

sv_alltalk1

11、滚轮跳指令

滚轮向上跳跃指令:bind\""MWHEELUP\""\""+jump\""

滚轮向下跳跃指令:bind\""MWHEELDOWN\""\""+jump\""

12、自建房设置指令

指令A:一键设置房间练习环境,必须选择CT,T无法复活bind\""你要绑定的按键\""\""sv_cheats1;sv_infinite_ammo1;mp_startmoney99999;sv_showimpacts1;mp_roundtime_defuse60;mp_freezetime0;mp_buy_anywhere1;mp_buytime9999;mp_restartgame1;mp_respawn_on_death_t1;mp_respawnwavetime_t0;sv_grenade_trajectory1;bot_stop1\""

指令B:一键放置BOTbind\""你要绑定的按键\""\""bot_place\""

指令C:一键开/关透视bind\""你要的绑定的按键\""\""toggler_drawothermodels12\""

指令D:让BOT模仿你的动作,再按一次停止bind\""你要的绑定的按键\""\""bot_mimic_yaw_offset0;togglebot_mimic12\""附加指令:一键开/关飞行bind\""alt\""\""noclip\""

指令E:重现上一个投掷物bindx\""sv_rethrow_last_grenade;r_cleardecals\""

指令F:准心跟随子弹cl_crosshair_recoil0/1

指令G:自动连跳bind0\""sv_enablebunnyhopping1;sv_autobunnyhopping1;sv_airaccelerate2000\""

实战指令/个人设置

1一键投掷物准心bind按键\""togglecl_crosshairsize51000\""

2一键显示数据bindj\""togglenet_graph01;togglecl_showpos\""

3滚轮跳bindmwheeldown\""+jump\""bindmwheelup\""+jump\""

4一键隐藏uibindp\""togglecl_draw_only_Deathnotices01\""

5一键跳投bindt\""+jump;-attack;-attack2;-jump\""

6一键大跳alias+cjump\""+jump;+duck\""alias-cjump\""-jump;-duck\""bind\""space\""\""+cjump\""

7一键清除血迹bindshift\""+speed;r_cleardecals\""bindf\""+lookatweapon;r_cleardecals\""bindmouse1\""+attack;r_cleardecals\""

8一键队友闭嘴bindf3\""togglevoice_enable\""bindf4\""togglevoice_scale101\""

9一键左右手bindn\""togglecl_righthand\""

10一键切闪光弹bindc\""useweapon_knife;useweapon_flashbang\""

11一键丢包bindz\""useweapon_c4;drop\""

12切刀自动检视bind3\""slot3;impulse100\""

王者之心2点击试玩"

<a href='xxhtm' title="wo shi da ben zhu">wanxiao</a> 这种也行,但是要有一方框就要用到JS了 我这有一个例子你自己去根据你的需求去改一下就可以用了

<script language="JavaScript" src="Popupjs"></script> <a href="#" title="aaa;asdfssssssssssssssssss<br>sdfsd sdfffffffffffffffffff<br>dddddddddddddddddddddddddddddddd">sdfads</a>

Popupjs文件是

var pltsPop=null;

var pltsoffsetX = 15; // 弹出窗口位于鼠标左侧或者右侧的距离;3-12 合适

var pltsoffsetY = 15; // 弹出窗口位于鼠标下方的距离;3-12 合适

var pltsPopbg="#FFFFEE"; //背景色

var pltsPopfg="#111111"; //前景色

var pltsTitle="";

documentwrite('<style>title_th{background-image: url(title2gif);color: #ffffff;font-size: 12px;}tdTableBody1{background-color: #ffffff;}tableBorder1{background-color: #1c591c;}</style>');

documentwrite('<div style="position: absolute; z-index: -1;top: -100"><table><tr><td class=title_th> </td></tr></table></div>');

documentwrite('<div id=pltsTipLayer style="display: none;position: absolute; z-index:10001"></div>');

function pltsinits()

{

documentonmouseover = plts;

documentonmousemove = moveToMouseLoc;

}

function plts()

{ var o=eventsrcElement;

if(oalt!=null && oalt!=""){odypop=oalt;oalt=""};

if(otitle!=null && otitle!=""){odypop=otitle;otitle=""};

pltsPop=odypop;

if(pltsPop!=null&&pltsPop!=""&&typeof(pltsPop)!="undefined")

{

pltsTipLayerstyleleft=-1000;

pltsTipLayerstyledisplay='';

var Msg=pltsPopreplace(/\n/g,"<br>");

Msg=Msgreplace(/\0x13/g,"<br>");

var re=/\{([^\{])\}/ig;

if(!retest(Msg))pltsTitle=" ^椰子屋下载站^ - <font face='Arial'>2006新版</font> ";

else{

re=/\{([^\{])\}()/ig;

pltsTitle=Msgreplace(re,"$1")+" ";

re=/\{([^\{])\}/ig;

Msg=Msgreplace(re,"");

Msg=Msgreplace("<br>","");}

var attr=(documentlocationtoString()toLowerCase()indexOf("listasp")>0"nowrap":"");

var content =

'<table style="FILTER:alpha(opacity=90) shadow(color=#bbbbbb,direction=135);" id=toolTipTalbe border=0><tr><td width="100%"><table class=tableborder1 cellspacing="1" cellpadding="0" style="width:100%">'+

'<tr id=pltsPoptop><td height=15 valign=middle class=title_th><b><p id=topleft align=left> ↖'+pltsTitle+'</p><p id=topright align=right style="display:none">'+pltsTitle+'↗ </font></b></td></tr>'+

'<tr><td '+attr+' class=tablebody1 style="padding-left:14px;padding-right:14px;padding-top: 6px;padding-bottom:6px;line-height:135%; color:#800080">'+Msg+'</td></tr>'+

'<tr id=pltsPopbot style="display:none"><th height=15 valign=middle class=title_th><b><p id=botleft align=left> ↙'+pltsTitle+'</p><p id=botright align=right style="display:none">'+pltsTitle+'↘ </font></b></th></tr>'+

'</table></td></tr></table>';

pltsTipLayerinnerHTML=content;

toolTipTalbestylewidth=Mathmin(pltsTipLayerclientWidth,documentbodyclientWidth/22);

moveToMouseLoc();

return true;

}

else

{

pltsTipLayerinnerHTML='';

pltsTipLayerstyledisplay='none';

return true;

}

}

function moveToMouseLoc()

{

if(pltsTipLayerinnerHTML=='')return true;

var MouseX=eventx;

var MouseY=eventy;

//windowstatus=eventy;

var popHeight=pltsTipLayerclientHeight;

var popWidth=pltsTipLayerclientWidth;

if(MouseY+pltsoffsetY+popHeight>documentbodyclientHeight)

{

popTopAdjust=-popHeight-pltsoffsetY15;

pltsPoptopstyledisplay="none";

pltsPopbotstyledisplay="";

}

else

{

popTopAdjust=0;

pltsPoptopstyledisplay="";

pltsPopbotstyledisplay="none";

}

if(MouseX+pltsoffsetX+popWidth>documentbodyclientWidth)

{

popLeftAdjust=-popWidth-pltsoffsetX2;

topleftstyledisplay="none";

botleftstyledisplay="none";

toprightstyledisplay="";

botrightstyledisplay="";

}

else

{

popLeftAdjust=0;

topleftstyledisplay="";

botleftstyledisplay="";

toprightstyledisplay="none";

botrightstyledisplay="none";

}

pltsTipLayerstyleleft=MouseX+pltsoffsetX+documentbodyscrollLeft+popLeftAdjust;

pltsTipLayerstyletop=MouseY+pltsoffsetY+documentbodyscrollTop+popTopAdjust;

return true;

}

pltsinits();

1、启动flash cs5,执行文件-新建命令,新建一个基于actionscript20的flash文档,设置其大小为800400,帧频为12fps,背景颜色为黑色。

2、执行插入-新建元件命令,新建一个名称为“泡泡”的图形元件,然后点击确定按钮进入编辑区域。

3、选择工具箱里椭圆工具,设置笔触颜色为无,填充颜色为淡**(可以根据自己的需要选择),接着在编辑区域按住shift键绘制一个圆形。

4、执行插入-新建元件命令,新建一个名称为“点击按钮”的按钮元件,点击确定按钮后进入编辑区域。

5、在按钮编辑区域内,选择时间轴上的点击帧,右键单击选择下拉菜单中的插入关键帧选项,接着选择工具箱里椭圆工具,设置填充颜色为淡**,笔触颜色为无,在编辑区域绘制一个圆。

6、执行插入-新建元件命令,新建一个名称为“运动”的影片剪辑元件,单击确定后进入编辑区域。

7、返回到场景,将库中的点击按钮元件拖拽到场景中,选择该图层的第一帧处右键单击选择下拉菜单中的动作面板,打开该面板,添加stop();语句。

8、选择“点击按钮”元件,修改属性面板中的alpha为30,点击时间轴左下方的新建按钮新建一个图层2,选择该图层的第二帧插入空白关键帧,将库中的“运动”元件拖拽到舞台中,在15帧处插入关键帧修改该元件的alpha值为20%。

9、在图层2的2-15帧之间的任意一帧处右键单击从下拉菜单中选择创建传统补件动画选项,创建一个补件动画。

10、选择图层1的第一帧处选择舞台上的“点击按钮”元件,打开其动作面板,在其中输入代码为:on(rollover){play();};

11、返回场景1,将库中的“运动”影片剪辑文件多次拖拽到舞台上,创建若干个影片剪辑实例文件。

12、到此制作就基本完成了,按ctrl+enter组合键进行测试,执行文件-存储为命令,输入名称为鼠标跟随效果,找到一个合适的位置后点击保存就可以了。

1打开flash80,按Ctrl+F8新建影片剪辑元件

2按T键在舞台上随意写文字ABCDEF作为鼠标跟随的那些文字

3舞台中央的+代表播放时鼠标的位置,按V键把文字放到+的右下方,这样播放时文字跟随在鼠标右下方

4选择时间轴上的第一帧按F9进入到动作帧把鼠标跟随代码粘上去

_rootaaaonEnterFrame = function() {

this_x = _root_xmouse;

this_y = _root_ymouse;

//Mousehide();

};

代码的意思是让鼠标横纵坐标和aaa影片剪辑横纵坐标同步,如果想实现隐藏鼠标效果就把那个//去掉。

5点时间轴的场景把右边库里刚做的元件放到舞台,在下面属性面板的实例名称里换成aaa,否则的话影片动不了。最后Ctrl+Enter就可以欣赏文字跟随鼠标的效果啦。

6想要文字动起来,就双击进入到刚做的元件里,时间轴上隔一段距离比如12帧按F7放个关键帧

7做两个就好,把中间的关键帧(带黑点的那种)选上,然后把舞台上写的文字随意移动一段距离

8回到时间轴上选第一个关键帧在下面属性面板的补间栏里选动画,第三个关键帧也这样做,这样就做出一段简易的文字浮动补间动画

Ctrl+Enter播放就能欣赏到文字跟随鼠标右下浮动的效果,如果有不清楚的地方可以问题补充

先在舞台上创建7个光标元件,实例名c1~c7,然后在第一帧填入下面代码:

var rate:Number=05;

var cursor:Array=[c1,c2,c3,c4,c5,c6,c7];

onEnterFrame=function(){

    var c=cursor[0];

    cx+=(_xmouse-cx)rate;

    cy+=(_ymouse-cy)rate;

    for(var i=1;i<7;++i){

        c=cursor[i];

        var destC=cursor[i-1];

        cx+=(destCx-cx)rate;

        cy+=(destCy-cy)rate;

    }

}

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/2810682.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-01-13
下一篇2024-01-13

发表评论

登录后才能评论

评论列表(0条)

    保存