Flash中残影效果的简单实现
类别: Flash教程
游戏里加上残影效果会使游戏增色不少哦~大概做了个象样的残影和大家分享下。
效果演示:
代码:
//残影函数(残影MC的ID,装载残影的MC, 残影跟随的目标, 残影比例, 开始透明度, 结束透明度, 透明度减量, 红色偏移量, 绿色偏移量,兰色偏移量)
function shadow_effect(mc_id, mc_name, mc_name2, scale, start_alpha, end_alpha, alpha_red, rb, gb, bb) {
if (!mc_name.dep) {
mc_name.dep = 0;
}
//降低透明度
for (i in mc_name) {
mc_name[i]._alpha -= alpha_red;
if (mc_name[i]._alpha<end_alpha) {
//小于结束透明度时移除
mc_name[i].removeMovieClip();
}
}
//加载残影并设置属性
mc_name.attachMovie(mc_id, mc_id+mc_name.dep, mc_name.dep);
mc_name[mc_id+mc_name.dep]._xscale = mc_name[mc_id+mc_name.dep]._yscale=scale;
mc_name[mc_id+mc_name.dep]._x = mc_name2._x;
mc_name[mc_id+mc_name.dep]._y = mc_name2._y;
mc_name[mc_id+mc_name.dep]._alpha = start_alpha;
//颜色应用
mc_name[mc_id+mc_name.dep].col = new Color(mc_name[mc_id+mc_name.dep]);
mc_name[mc_id+mc_name.dep].col2 = new Object();
mc_name[mc_id+mc_name.dep].col2.rb = rb;
mc_name[mc_id+mc_name.dep].col2.gb = gb;
mc_name[mc_id+mc_name.dep].col2.bb = bb;
mc_name[mc_id+mc_name.dep].col.setTransform(mc_name[mc_id+mc_name.dep].col2);
mc_name.dep++;
if (mc_name.dep>1000) {
mc_name.dep = 0;
}
}
function shadow_effect(mc_id, mc_name, mc_name2, scale, start_alpha, end_alpha, alpha_red, rb, gb, bb) {
if (!mc_name.dep) {
mc_name.dep = 0;
}
//降低透明度
for (i in mc_name) {
mc_name[i]._alpha -= alpha_red;
if (mc_name[i]._alpha<end_alpha) {
//小于结束透明度时移除
mc_name[i].removeMovieClip();
}
}
//加载残影并设置属性
mc_name.attachMovie(mc_id, mc_id+mc_name.dep, mc_name.dep);
mc_name[mc_id+mc_name.dep]._xscale = mc_name[mc_id+mc_name.dep]._yscale=scale;
mc_name[mc_id+mc_name.dep]._x = mc_name2._x;
mc_name[mc_id+mc_name.dep]._y = mc_name2._y;
mc_name[mc_id+mc_name.dep]._alpha = start_alpha;
//颜色应用
mc_name[mc_id+mc_name.dep].col = new Color(mc_name[mc_id+mc_name.dep]);
mc_name[mc_id+mc_name.dep].col2 = new Object();
mc_name[mc_id+mc_name.dep].col2.rb = rb;
mc_name[mc_id+mc_name.dep].col2.gb = gb;
mc_name[mc_id+mc_name.dep].col2.bb = bb;
mc_name[mc_id+mc_name.dep].col.setTransform(mc_name[mc_id+mc_name.dep].col2);
mc_name.dep++;
if (mc_name.dep>1000) {
mc_name.dep = 0;
}
}
每帧执行这个函数就得~其他的代码就是方块上的跟随鼠标
- 上一篇: Flash轻松实现鼠标特效
- 下一篇: 韩国A3动态弹性菜单分步学
-= 资 源 教 程 =-
文 章 搜 索