WEB开发网
开发学院图形图像Flash 第二章 ActionScript 3.0 动画基础Ⅰ[FL 基理译] 阅读

第二章 ActionScript 3.0 动画基础Ⅰ[FL 基理译]

 2009-05-30 12:08:59 来源:WEB开发网   
核心提示: ball.x += 5; “+=”操作符:把右边的值与左边的变量相加,相加的结果再赋值给该变量,第二章 ActionScript 3.0 动画基础Ⅰ[FL 基理译](9),以下是更多的高级规则,日后会学到:var dx:Number = mouseX - ball.

ball.x += 5;

“+=”操作符:把右边的值与左边的变量相加,相加的结果再赋值给该变量。以下是更多的高级规则,日后会学到:

var dx:Number = mouseX - ball.x;
var dy:Number = mouseY - ball.y;
var ax:Number = dx * spring;
var ay:Number = dy * spring;
vx += ax;
vy += ay;
vy += gravity;
vx *= friction;
vy *= friction;
ball.x += vx;
ball.y += vy;
graphics.clear();
graphics.lineStyle(1);
graphics.moveTo(ball.x, ball.y);
graphics.lineTo(mouseX, mouseY);

这段现在看不懂没关系,大家只要知道 Flash 会在每一帧中生成这段代码,并不断地执行。

怎样让它循环执行?看看我第一次的尝试,这也是很多 AS 初学者都会犯的错误。这是在很多程序设计语言中都存在的循环结构,如 for 和 while。用循环结构使代码重复执行,这就是我曾写的那段:

for (i = 0; i < 500; i++) {
 ball.x = i;
}

看起来相当简单。变量 i 从 0 开始,所以小球 X 坐标移动到 0——舞台最左边。i++ 让i 的值每次增长1,即:0~1~2~3~4…,每次这个值都会做为 ball.x 的值,把小球从左向右移动。当值为500时,表达式 i<500 值为假(false),循环结束。

如果你也犯过同样的错误,就会知道,小球没有在舞台上发生移动——只是一下子出现在了舞台的右边而已。为什么没有移动到中间的那些点上?其实它移动了,只是我们没有看到,因为我们没有让 Flash 去刷新屏幕。图2-6 为另一个流程图,看看实际都发生了什么。

上一页  4 5 6 7 8 9 10  下一页

Tags:第二章 ActionScript 动画

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接