📄 code.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 + -