很不錯的視頻教程
原文地址:
http://blog.sina.com.cn/s/blog_3ecb9b1101009nx0.html
?
全屏觀看地址:
[url=http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=1&vid=13789342&uid=1053530897]
視頻1地址
[/url]
[url=http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=1&vid=13789652&uid=1053530897]
視頻2地址
[/url]
?
[1b]教案發布:[/1b]
ActionScript 3.0 體驗試教學
——Making Things Move
[1b]第一部分 AS動畫基礎[/1b]
第一章 基礎動畫概念
第二章 ActionScript 3.0 動畫基礎
第三章 三角學應用
第四章 渲染技術
[1b]第二部分 基礎運動[/1b]
第五章 速度與加速度
第六章 邊界與摩擦力
第七章 交互運動:讓物體動移動
[1b]第三部分 高級運動[/1b]
第八章 緩動與彈性運動
第九章 碰撞檢測
第十章 坐標旋轉及角度碰撞
第十一章 撞球物理
第十二章 粒子引力及萬有引力
第十三章 正向運動學: 行走
第十四章 反向運動學: 拖拽與伸展
?
[1b]第四部分 3D 動畫[/1b]
第十五章 3D 基礎
第十六章 3D 線條及填充
第十七章 背光剔除與 3D 燈光
?
[1b]第五部分?技術補充[/1b]
第十八章 矩陣
第十九章 實用技巧
?
[1b]效果預覽 Easing[/1b]
?
[1b]效果預覽 Spring 鏈[/1b]
?
?
[1b]專業一點[/1b]
[1b]一、格式
[/1b]??? 遇到 “{” 換行后按 “tab” 縮進。保證編碼的層次嵌套關系明確、清晰。
如:
for(i:uint = 0; i if(i % 2 == 0) {
??trace(i);
?}
}
?
[1b]二、變量名[/1b]
1.盡量要讓變量名有意義,不要使用如: aaa,bbb,a1,a2 這樣的變量。應該盡量使用英文單詞。
2.駝峰式變量名:混合使用大小寫字母
如:stageWidth,maxHeight,oldX,oldY。
?
[1b]三、運算符兩旁加入空格
[/1b]?在運算符兩旁加入空格,可以讓編碼看起來井井有條,不會是亂糟糟的一片,難于分辨。這樣就讓我們的程序變得條理清晰起來。
如:
?i = 10;
?i i += 8;
?i * j / 2 + 3
?
[1b]準備工作[/1b]
[1b]1.創建一個 Ball 類:[/1b]
package {
?import flash.display.Sprite;
?public class Ball extends Sprite {
??public var radius:Number;
??public var vx:Number = 0;
??public var vy:Number = 0;
??private var color:uint;
??public function Ball(R:Number = 30,Col:uint = 0xff0000) {
???radius = R;
???color = Col;
???graphics.beginFill(0xff0000);
???graphics.drawCircle(0,0,radius);
???graphics.endFill();
??}
?}
}
?
2.ball 對象:var ball:Ball = new Ball();
[url=http://blog.photo.sina.com.cn/showpic.html#blogid=3ecb9b1101009nx0&url=http://static4.photo.sina.com.cn/orignal/3ecb9b1144e051575a4d3]

[/url]
3.將 ball 加入顯示列表:addChild(ball);
[url=http://blog.photo.sina.com.cn/showpic.html#blogid=3ecb9b1101009nx0&url=http://static13.photo.sina.com.cn/orignal/3ecb9b1144e05176d7adc]

[/url]
4.創建類路徑
編輯—> 參數首選項 —> ActionScript —>“ActionScript 3.0 設置”
[url=http://blog.photo.sina.com.cn/showpic.html#blogid=3ecb9b1101009nx0&url=http://static8.photo.sina.com.cn/orignal/3ecb9b1144e051dd290e7]

[/url]
?
[1b]2.Easing 與 Spring 公式應用[/1b]
[1b]Easing :[/1b]
var easing:Number = 0.8;
var targetX:Number = 100;
ball.vx = (targetX – ball.x) * easing;
ball.x += ball.vx;
?
[1b]Spring:
[/1b]var spring:Number = 0.8;
var targetX:Number = 100;
ball.vx [1b]+=[/1b] (targetX – ball.x) * spring;
ball.x += ball.vx;
?
[1b]3.Easing 效果文檔類[/1b](EaseToMouse.as):
package {
?import flash.display.Sprite;
?import flash.events.Event;
?public class EaseToMouse extends Sprite {
??private var ball:Ball;
??private var easing:Number = 0.2;
??public function EaseToMouse() {
???init();
??}
??private function init():void {
???ball = new Ball();
???addChild(ball);
???addEventListener(Event.ENTER_FRAME, onEnterFrame);
??}
??private function onEnterFrame(event:Event):void {
[1b]?[/1b]??var vx:Number = (mouseX - ball.x) * easing;
???var vy:Number = (mouseY - ball.y) * easing;
???ball.x += vx;
???ball.y += vy;
??}
?}
}
?
[1b]4.Spring 鏈效果文檔類[/1b](ChainArray.as):
package
{
?import flash.display.Sprite;
?import flash.events.Event;
?
?public class ChainArray extends Sprite
?{
??private var balls:Array;
??private var numBalls:Number = 5;
??private var spring:Number = 0.1;
??private var friction:Number = 0.8;
??private var gravity:Number = 5;
??
??public function ChainArray()
??{
???init();
??}
??
??private function init():void
??{
???balls = new Array();
???for(var i:uint = 0; i ??{
????var ball:Ball = new Ball(20);
????addChild(ball);
????balls.push(ball);
???}
???addEventListener(Event.ENTER_FRAME, onEnterFrame);
??}
??
??private function onEnterFrame(event:Event):void
??{
???graphics.clear();
???graphics.lineStyle(1);
???graphics.moveTo(mouseX, mouseY);
???moveBall(balls[0], mouseX, mouseY);
???graphics.lineTo(balls[0].x, balls[0].y);
???
???for(var i:uint = 1; i ??{
????var ballA:Ball = balls[i-1];
????var ballB:Ball = balls[i];
????moveBall(ballB, ballA.x, ballA.y);
????graphics.lineTo(ballB.x, ballB.y);
???}
??}
??
??private function moveBall(ball:Ball, targetX:Number, targetY:Number):void
??{
???ball.vx += (targetX - ball.x) * spring;
???ball.vy += (targetY - ball.y) * spring;
???ball.vy += gravity;
???ball.vx *= friction;
???ball.vy *= friction;
???ball.x += ball.vx;
???ball.y += ball.vy;
??}
?}
}
本文轉自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/4876.html
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
