由淺入深學(xué)習(xí)Flash制作物體彈跳游戲_Flash教程
推薦:用FLASH遮罩效果做圖片切換效果本教程是關(guān)于FLASH應(yīng)用遮罩效果制作好看的圖片切換效果。該教程選用FLASH遮罩中最簡(jiǎn)單的一種作為例子,當(dāng)然你可以用自己的想象力來(lái)做出更多更好的圖片動(dòng)畫。希
我也不知道該如何起這篇文章的名字,假如您覺(jué)得我的文章的名字起的不好,在轉(zhuǎn)載過(guò)程中你可以自己改個(gè)好的名字。別忘了告訴我下��!希望本文對(duì)開(kāi)發(fā)Flash游戲入門的人有用。
這個(gè)游戲就是,首先設(shè)置一個(gè)地圖,然后出來(lái)一個(gè)人(或別的東西都可以),從空中落下來(lái),然后我們利用鍵盤的方向鍵可以控制左右移動(dòng),當(dāng)想向上移動(dòng)的時(shí)候,使用空格鍵可以跳高。簡(jiǎn)單研究,希望大家喜歡。轉(zhuǎn)載必須注明出處和作者,假如加上本站連接,那就感謝你了。
開(kāi)始給大家講解如何制作。(每一步都有演示動(dòng)畫,在文章末尾還給出了所有演示動(dòng)畫的源文件!)
建立Flash文檔,Ctrl J修改影片屬性。

然后建立一個(gè)影片剪輯元件,作為地圖來(lái)使用,名字為terrain,外形如下圖。

然后再建立兩個(gè)按鈕,一個(gè)是go,另一個(gè)是reset。最后建立一個(gè)char影片剪輯元件(看你的繪畫工夫了,建立什么都可以)。

然后分別把三類元件(terrain,char,2個(gè)按鈕)都放到場(chǎng)景中來(lái)。然后給char影片剪輯元件起實(shí)例名walker,地圖terrain的實(shí)例名為terrain。然后選擇第一幀,按F9打開(kāi)動(dòng)作面板,輸入代碼。

別忘了地圖terrain的實(shí)例名為terrain。同樣方法,不給截圖了。
第一幀加入下面代碼:
go=false;//主要是一個(gè)變量賦初始值
go按鈕:
on (release) {
go = true;
}//開(kāi)始運(yùn)動(dòng)
reset按鈕:
on (release) {
go = false;
walker._x = 107;
walker._y = 49;
}//回到初始狀態(tài)
然后char影片剪輯的action如下:
onClipEvent (load) {
gravity = 0.2;
yspeed = 0;
}
onClipEvent (enterFrame) {
if (_root.go) {
yspeed = gravity;
while (_root.terrain.hitTest(_x, _y _height/2, true)) {
_y--;
yspeed = 0;
}
_y = yspeed;
}
}
效果如下(只要點(diǎn)GO按鈕,物體就會(huì)掉下,點(diǎn)reset就會(huì)回到初始狀態(tài)):
大家通過(guò)看上面的代碼可以看到是利用速度總是增加的,所以物體接觸地面時(shí)顯得總是動(dòng)。
改良上面代碼:
onClipEvent (load) {
gravity = 0.2;
yspeed = 0;
}
onClipEvent (enterFrame) {
if (_root.go) {
yspeed = gravity;
while (_root.terrain.hitTest(_x, _y _height/2, true)) {
_y--;
yspeed = 0;
}
if (!_root.terrain.hitTest(_x, _y _height/2 1, true)) {
_y = yspeed;
} else {
yspeed = 0;
}
}
}
效果(通過(guò)yspeed = 0;使接觸到地面的時(shí)候速度變?yōu)?):
通過(guò)上面兩個(gè)步驟我們就制作好了這個(gè)游戲的基礎(chǔ)部分。下面我們開(kāi)始制作游戲使用鍵盤來(lái)控制移動(dòng)。
用鍵盤來(lái)左右方向鍵來(lái)控制物體左右移動(dòng)。
onClipEvent (load) {
gravity = 0.2;
yspeed = 0;
xspeed = 1;
}
onClipEvent (enterFrame) {
if (_root.go) {
if (Key.isDown(Key.LEFT)) {
_x -= xspeed;
}
if (Key.isDown(Key.RIGHT)) {
_x = xspeed;
}
yspeed = gravity;
while (_root.terrain.hitTest(_x, _y _height/2, true)) {
_y--;
yspeed = 0;
}
if (!_root.terrain.hitTest(_x, _y _height/2 1, true)) {
_y = yspeed;
} else {
yspeed = 0;
}
}
}
效果如下:
上面效果,大家通過(guò)用鍵盤方向鍵移動(dòng),假如物體到了地圖的邊緣,可以移動(dòng)到外面去。下面我們繼續(xù)改良代碼,把物體的移動(dòng)范圍做一個(gè)限制。
onClipEvent (load) {
gravity = 0.2;
yspeed = 0;
xspeed = 1;
}
onClipEvent (enterFrame) {
if (_root.go) {
if (Key.isDown(Key.LEFT)) {
if (!_root.terrain.hitTest(_x-_width/2, _y _height/4, true)) {
_x -= xspeed;
}
}
if (Key.isDown(Key.RIGHT)) {
if (!_root.terrain.hitTest(_x _width/2, _y _height/4, true)) {
_x = xspeed;
}
}
yspeed = gravity;
while (_root.terrain.hitTest(_x, _y _height/2, true)) {
_y--;
yspeed = 0;
}
if (!_root.terrain.hitTest(_x, _y _height/2 1, true)) {
_y = yspeed;
} else {
yspeed = 0;
}
}
}
上面代碼控制了左右兩邊的界限。效果如下(這時(shí)就不會(huì)移動(dòng)到外面去了吧!):
下面我們開(kāi)始改良代碼使該物體能被鍵盤的空格鍵控制跳動(dòng)。
onClipEvent (load) {
gravity = 0.2;
yspeed = 0;
xspeed = 1;
}
onClipEvent (enterFrame) {
if (_root.go) {
if (Key.isDown(Key.LEFT)) {
if (!_root.terrain.hitTest(_x-_width/2, _y _height/4, true)) {
_x -= xspeed;
}
}
if (Key.isDown(Key.RIGHT)) {
if (!_root.terrain.hitTest(_x _width/2, _y _height/4, true)) {
_x = xspeed;
}
}
if (Key.isDown(Key.SPACE)) {
yspeed = -5;
}
yspeed = gravity;
while (_root.terrain.hitTest(_x, _y _height/2, true)) {
_y--;
yspeed = 0;
}
if ((!_root.terrain.hitTest(_x, _y _height/2 1, true)) or (yspeed<0)) {
_y = yspeed;
} else {
yspeed = 0;
}
}
}
效果如下(物體移動(dòng)后按空格鍵試試��!):
大家通過(guò)測(cè)試上面影片,按空格鍵會(huì)不會(huì)跳呢??而且跳的還很高�。�!假如你總按空格鍵還可以跳出屏幕呢!哈哈�。�!所以下面大家也該知道干什么了��!給跳的范圍做一個(gè)限制,你非常聰明的。
onClipEvent (load) {
gravity = 0.2;
yspeed = 0;
xspeed = 1;
jumping = 0;
}
onClipEvent (enterFrame) {
if (_root.go) {
if (Key.isDown(Key.LEFT)) {
if (!_root.terrain.hitTest(_x-_width/2, _y _height/4, true)) {
_x -= xspeed;
}
}
if (Key.isDown(Key.RIGHT)) {
if (!_root.terrain.hitTest(_x _width/2, _y _height/4, true)) {
_x = xspeed;
}
}
if ((Key.isDown(Key.SPACE)) and (!jumping)) {
yspeed = -5;
jumping = 1;
}
yspeed = gravity;
while (_root.terrain.hitTest(_x, _y _height/2, true)) {
_y--;
yspeed = 0;
jumping = 0;
}
if ((!_root.terrain.hitTest(_x, _y _height/2 1, true)) or (yspeed<0)) {
_y = yspeed;
} else {
yspeed = 0;
jumping = 0;
}
}
}
最終演示效果:
最終一個(gè)小游戲就做好了!!不難吧!!希望大家支持我!支持本站。謝謝!差點(diǎn)忘了!!以上所有演示動(dòng)畫的源文件提供給大家!��!
點(diǎn)擊這里下載源文件(還記得解壓密碼嗎??m.hl5o.cn)
分享:Flash AS輕松制作旋轉(zhuǎn)可控立方體特效可以控制立方體的旋轉(zhuǎn):cubeCenter=newpoint3d(0,0,0);geom.addCube(cubeCenter,80,0xFFF2CC);geom.addCube(cubeCenter,20,0xFFF2CC);geom.addSolid
Flash教程Rss訂閱網(wǎng)站制作教程搜索
Flash教程推薦
- Flash MX2004入門與進(jìn)階實(shí)例——元件和實(shí)例(23)
- Flash制作視覺(jué)動(dòng)畫特效:飄落的紅葉(1)
- 如何應(yīng)用Flash制作標(biāo)準(zhǔn)的loading?
- Flash AS教程:用動(dòng)態(tài)遮罩實(shí)現(xiàn)液化效果
- Flash教程:花吃蝴蝶的動(dòng)畫演示(1)
- Flash簡(jiǎn)單AS代碼實(shí)現(xiàn)絢麗曲線視覺(jué)特效
- Flash 網(wǎng)頁(yè)新聞浮動(dòng)板的制作(XML應(yīng)用)
- Flash入門應(yīng)該了解的重要概念
- 基礎(chǔ)教程:在Flash中鼠繪線圈頁(yè)面
- 由淺入深學(xué)習(xí)Flash制作物體彈跳游戲
猜你也喜歡看這些
- Flash8全實(shí)例學(xué)習(xí)手冊(cè)原書配套光盤
- 金鷹FlashMX視頻教程
- 新東方4+1flash全部教程
- 韓語(yǔ)學(xué)習(xí)視頻教程 FLASH版50課時(shí)
- Flash CS3動(dòng)畫設(shè)計(jì)入門提高與技巧(光盤).
- oeasy教你玩轉(zhuǎn)flash》--更新到11
- Flash as3.0視頻教程之聲音編程
- 《Flash CS3 Professional動(dòng)畫制作技能進(jìn)化手冊(cè)》--樣章、樣例、教學(xué)視頻
- 中國(guó)閃客原創(chuàng)爬行榜Flash TOP10動(dòng)畫風(fēng)暴 隨書光盤 2CD
- 精通Flash動(dòng)畫設(shè)計(jì)(附光盤腳本分鏡頭設(shè)計(jì)與典型案例)》
- 相關(guān)鏈接:
- 教程說(shuō)明:
Flash教程-由淺入深學(xué)習(xí)Flash制作物體彈跳游戲
。