⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 code.txt

📁 用迭代算法实现动态逼近效果
💻 TXT
字号:
-----------------------------------------------------------
!!!代码虽然简单,但我可是一点一点认真写的,并且代码也很实用
要是看着有用,就给我打个对勾把!!!
-----------------------------------------------------------
步骤:
-----
1. 首先制作一个水珠的电影剪辑,(编辑点设在中心) .

为了方便学习,我提供了一个小水珠图片,当然你必须进行去背处理才可以使用,至于如何去除黑色背景,方法太多,相信你一定会,我就不多说了.

2.把水珠影剪拖入场景,选中这个电影剪辑,F9,调出代码编辑窗口

3. 把下面的代码粘贴进去,大功告成.

4.运行看看效果吧,用鼠标碰碰它,挺有意思吧!

注:为了方便你了解代码的内容,我写了些注释,希望能看懂,其实看不懂也没有关系,只要效果出来了就可以了.以后可以像模块一样调用它.
----------------------------------------------------------------------------------------------------------------------------
核心代码 
--------

onClipEvent (load)    //进行必要的初始化
{
    clipSize = 60;       
    SizeX = clipSize;   
    SizeY = clipSize;
    speedY = 0;
    speedX = 0;
    accel = 2;
    slow = 1.075000;
    amp = 5;
    sys = 0;
}
onClipEvent (enterFrame)  //进入侦动作(可以理解为反复执行该程序段)
{   //以下是一个迭代算法产生的逼近效果,你可以仔细在纸上推导一下,很简单的方程式
    speedX = (speedX + (clipSize - SizeX) / accel) / slow;   
    speedY = (speedY + (clipSize - SizeY) / accel) / slow;
    SizeX = SizeX + speedX;
    SizeY = SizeY + speedY;
    this._xscale = SizeX * 100 / clipSize;
    this._yscale = SizeY * 100 / clipSize;
    //判断条件并修正参数
    if (this.hitTest(_root._xmouse, _root._ymouse))
 {
        sys = 1;
        amp = 2;
        speedX = speedX - amp;
        speedY = speedY + amp;
    }
    else if (sys == 1)
    {
        sys = 0;
        amp = 3;
        speedX = speedX - amp;
        speedY = speedY + amp;
    }
}
onClipEvent (mouseUp)  //鼠标事件,鼠标碰到水珠并且sys标记为1时执行
{
    if (this.hitTest(_root._xmouse, _root._ymouse) && sys == 1)
    {
        amp = 1;
        speedX = speedX - amp;
        speedY = speedY + amp;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -