Flash教程:用AS3代碼制作躲避碰撞的盒子_Flash教程
推薦:Flash AS教程:用動(dòng)態(tài)遮罩實(shí)現(xiàn)液化效果簡(jiǎn)介:本例介紹運(yùn)用Flash AS的動(dòng)態(tài)遮罩來(lái)實(shí)現(xiàn)液化效果,教程詳細(xì)講解了AS代碼的運(yùn)用,并給出了詳細(xì)的代碼解釋,希望能給朋友們帶來(lái)幫助~~本文由中國(guó)教程網(wǎng) sanbos 原創(chuàng),轉(zhuǎn)載請(qǐng)保留此信息!
簡(jiǎn)介:本例介紹運(yùn)用Flash的AS3代碼制作躲避碰撞的盒子效果,譯者詳細(xì)解釋了代碼的運(yùn)用,喜歡本效果的朋友可以到論壇提交作業(yè)~~效果演示:(請(qǐng)用鼠標(biāo)點(diǎn)擊小球觀看效果)
在這個(gè)Actionscript 3教程中,我將為你展示怎樣創(chuàng)建一個(gè)躲避被一個(gè)球碰撞的盒子。 看上面的效果(單擊那白色的球使它運(yùn)動(dòng)).讓我們馬上開(kāi)始吧!
設(shè)置環(huán)境
1.創(chuàng)建一個(gè)新的Flash Actionscript 3影片 (340x200).
2.在舞臺(tái)上畫(huà)一個(gè)矩形.設(shè)置大小為20x20.
3.將矩形轉(zhuǎn)換為MC.給它取一個(gè)你喜歡的名字,將注冊(cè)點(diǎn)移到中心!
4.設(shè)連接屬性中MC的類名為"Box".如果你對(duì)MC連接屬性感到陌生的話,請(qǐng)查看 Actionscript 3 擴(kuò)展類教程.
5.現(xiàn)在在舞臺(tái)上畫(huà)一個(gè)10x10的園.
6.將園轉(zhuǎn)換為MC.給它取一個(gè)你喜歡的名字,將注冊(cè)點(diǎn)移到中心!
7.設(shè)連接屬性中MC的類名為"Ball".
8.從舞臺(tái)上刪除園和矩形.
進(jìn)入 Actionsctipt9. 在第一幀輸入下列Actionscript代碼.
//這個(gè)數(shù)組包含所有的盒子
var boxes:Array = new Array();
//設(shè)置球的速度
var ballSpeed:Number = -4;
//循環(huán)添加8個(gè)盒子到舞臺(tái)
for (var i = 0; i < 9; i ) {
//創(chuàng)建一個(gè)盒子
var box:Box = new Box();
//添加一個(gè)位置
box.y = 150;
box.x = box.width * i * 1.5 40;
//添加一個(gè)盒子到數(shù)組
boxes.push(box);
//在舞臺(tái)上添加一個(gè)盒子
addChild(box);
}
//創(chuàng)建一個(gè)盒子并設(shè)置它的右邊
var ball:Ball = new Ball();
ball.x = 320;
ball.y =155;
//使球看起來(lái)象按鈕 (手形光標(biāo))
ball.buttonMode = true;
//把球添加到舞臺(tái)上
addChild(ball);
//偵聽(tīng)用戶點(diǎn)擊球的時(shí)候
ball.addEventListener(MouseEvent.CLICK, ballClicked);
//當(dāng)用戶點(diǎn)擊球時(shí)這個(gè)函數(shù)被調(diào)用
function ballClicked(e:Event):void {
//在整個(gè)動(dòng)畫(huà)過(guò)程中添加ENTER_FRAME
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
//在每一幀這個(gè)函數(shù)被調(diào)用
function enterFrameHandler(e:Event):void {
//將球左移2像素
ball.x = ballSpeed;
for (var i = 0; i < boxes.length; i ) {
//從數(shù)組獲得一個(gè)盒子
var box:Box = boxes as Box;
//檢測(cè)從球到盒子的x距離
var distX:Number = ball.x - box.x;
//球來(lái)自右邊
if (distX < 50 && distX > 0 && ballSpeed < 0) {
//把盒子推上去
box.y -= 2;
}
//球離開(kāi)左邊
else if (distX < 50 && distX < 0 && ballSpeed < 0) {
//如果球沒(méi)有在原來(lái)的位置則往下落
if (box.y <= 150) {
box.y = 2;
}
}
//球從左邊來(lái)
if (distX < 0 && distX > -50 && ballSpeed > 0) {
//往上推盒子
box.y -= 2;
}
//球離開(kāi)右邊
else if (distX < 50 && distX > 0 && ballSpeed > 0) {
//如果球沒(méi)在原來(lái)的位置則往下落
if (box.y <= 150) {
box.y = 2;
}
}
//如果球到了左邊則改變方向
//或者右邊邊緣
if (ball.x 5 >stage.stageWidth || ball.x - 5 < 0) {
//反轉(zhuǎn)速度
ballSpeed *= (-1);
}
}
}
測(cè)試你的影片,我希望你能從這里學(xué)到一些新的東西。記住如果你有任何問(wèn)題,請(qǐng)毫不猶豫地到論壇提問(wèn)。
下面附代碼供學(xué)習(xí)研究。var boxes:Array = new Array();
var ballSpeed:Number = -4;
for (var i = 0; i < 9; i ) {
var box:Box = new Box();
box.y = 150;
box.x = box.width * i * 1.5 40;
boxes.push(box);
addChild(box);
}
var ball:Ball = new Ball();
ball.x = 320;
ball.y =155;
ball.buttonMode = true;
addChild(ball);
ball.addEventListener(MouseEvent.CLICK, ballClicked);
function ballClicked(e:Event):void {
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
function enterFrameHandler(e:Event):void {
ball.x = ballSpeed;
for (var i = 0; i < boxes.length; i ) {
var box:Box = boxes[i];
var distX:Number = ball.x - box.x;
if (distX < 50 && distX > 0 && ballSpeed < 0) {
box.y -= 2;
}
else if (distX < 50 && distX < 0 && ballSpeed < 0) {
if (box.y <= 150) {
box.y = 2;
}
}
if (distX < 0 && distX > -50 && ballSpeed > 0) {
box.y -= 2;
}
else if (distX < 50 && distX > 0 && ballSpeed > 0) {
if (box.y <= 150) {
box.y = 2;
}
}
if (ball.x 5 >stage.stageWidth || ball.x - 5 < 0) {
ballSpeed *= (-1);
}
}
}
分享:Flash AS入門教程第七課:影片剪輯第五節(jié)_拖動(dòng)與碰撞檢測(cè)本文由中國(guó)教程網(wǎng) sanbos 原創(chuàng),轉(zhuǎn)載請(qǐng)保留此信息! 本系列Flash教程由中國(guó)教程網(wǎng)Flash互助課堂專為Flash新手制作,更多教程和練習(xí)請(qǐng)點(diǎn)擊這里,在這里有系列的教程、練習(xí),并有老師對(duì)練習(xí)
- as中禁用ESC鍵
- AS3.0 圖片變黑白 圖片彩色變黑白代碼
- flash as3.0 跨域的解決辦法
- 模板無(wú)憂FLASH透明代碼
- Flash教你制作卡通MM眨眼睛動(dòng)畫(huà)
- Flash從零開(kāi)始學(xué)習(xí)創(chuàng)建單選按鈕
- Flash繪制小龍與花插畫(huà)場(chǎng)景
- Flash程序的測(cè)試方法
- Flash CS4文字顏色緩動(dòng)特效
- 網(wǎng)頁(yè)中演示類FLASH動(dòng)畫(huà)制作規(guī)范
- Flash CS3循環(huán)背景的運(yùn)用技巧
- Flash鼠繪技巧教你制作紅綠色的樹(shù)葉
Flash教程Rss訂閱網(wǎng)站制作教程搜索
Flash教程推薦
猜你也喜歡看這些
- Flash 8完美動(dòng)畫(huà)設(shè)計(jì)與制作
- FIF小組Flash MX 2004視頻教程超速入門
- Flash繪畫(huà)與動(dòng)畫(huà)寶典
- Flash as3.0視頻教程之實(shí)用教程
- Flash 8中文版基本功能與典型實(shí)例
- Flash CS3動(dòng)畫(huà)制作基礎(chǔ)與提高
- Flash AS3.0教程之類入門到精通
- flash實(shí)例教程-遮罩動(dòng)畫(huà)
- 新東方4+1flash全部教程
- 中國(guó)閃客原創(chuàng)爬行榜Flash TOP10動(dòng)畫(huà)風(fēng)暴 隨書(shū)光盤 2CD
- 相關(guān)鏈接:
- 教程說(shuō)明:
Flash教程-Flash教程:用AS3代碼制作躲避碰撞的盒子
。