下面是其核心部分的as:
代码拷贝框
// Action script...
// [Action in Frame 8]
if (pPointGeneratedB != 1)
{
var cPN = 7;
var cCenterX = 0;
var cCenterY = 0;
var cRadius = 200;
var pX = new Array(cPN);
var pY = new Array(cPN);
var pBufferX = new Array(cPN);
var pBufferY = new Array(cPN);
var pConflictX = new Array(cPN);
var pConflictY = new Array(cPN);
var pConflictX2 = new Array(cPN);
var pConflictY2 = new Array(cPN);
var pTotalX = new Array(cPN);
var pTotalY = new Array(cPN);
var pOriginX = new Array(cPN);
var pOriginY = new Array(cPN);
var pDragLineNum = -1;
var pDrageB = 0;
var pSelectedPointNum = -1;
ptc = 0;
ptc2 = 0;
for (i = 0; i 150)
{
pTotalX[i] = 300 - pTotalX[i];
}
else if (pTotalX[i] 208)
{
pTotalY[i] = 416 - pTotalY[i];
}
else if (pTotalY[i]
[Ctrl+A 全部选择 然后拷贝]
大家来分析一下思路。
源文件
所有代码集中在一个帧里
下面是代码及简单注释:
//DARKVN版权所有请勿作商业用途
//本程序需flash 6.0支持。
var BallsNum=7; // 设定节点个数
var centerX=300;//设定节点中心位置
var centerY=200;
var cRadius=120;
var drag=0.2;//震动参数
var flex=0.7;//震动参数
for (var i=0;i
}
else{
this.posYStep = this.posYStep * flex + (this.goalYPos - this._y) * drag;
this._y =this._y + this.posYStep;
this.posXStep = this.posXStep * flex + (this.goalXPos - this._x) * drag;
this._x = this._x + this.posXStep;
}
}
theObj.onMouseMove=function(){
var dx=(_root._xmouse-this._x);
var dy=(_root._ymouse-this._y);
var d=Math.sqrt(dx*dx+dy*dy);
if(d
////////////////////////////////////////////////////////////////
_root.createEmptyMovieClip("line",1); // 画线
this["line"].onEnterFrame=function (){
this.clear();
this.lineStyle( 1, 0xffffff, 100 );
this.moveTo( _root.pit0._x, _root.pit0._y);
for(var i=1;i
代码还未经优化,未考虑异常情况处理,仅供大家学习研究。
基本上,我做的这个没有参考三星的原程序。仅仅是效果上的一种摹仿。
大家可以探讨一下其他方法。
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/265.html