用flash制作迷宮游戲
4、 游戲具體制作︰
一切準備好後,我們就可以開始具體的游戲制作了。
首先回到主場中,新建如下的幾個圖層(圖四)︰
1.actions層︰單獨用來放置actionscript的層,這是個好的習慣。
2、maze hider,用來放置按鈕的層
3、opponet層︰放置電腦移動方塊的層。
4、player層︰放上我們要移動方塊的層。
5、maze boundries層︰放置迷宮圖的層
6、background層︰背景層。
7、goal層︰放置用來檢測是否到達對方的起點的層。

圖四
我們可以注意到,在做flash的時侯,如果每個元素放置在單獨的層中,這樣我們就比較好控制了,而且最好每一層都寫好相應的名稱,這樣的話我們就可以一眼看出來此圖層的作用 我們現在對每一層進行詳細的解釋︰
★actions層:共有三幀,每一幀上寫上stop();目的︰使按鈕起作用。在每幀上停頓。
★maze hider層︰共有三幀,每一幀上放置一個不同的mc,其中都包含了按鈕。
在第一幀上的mc(maze hider),它的按鈕上的action為:
on (release) { //:鼠標按鈕釋放
_root.started=true;//:標志變量started為true
_visible = false;//:此mc不可見
_root.opponent.play();//:根目錄下的mc(opponet)開始播放
_root.blinkArrows.play();//:根目錄下的mc(blinkArrows)開始播放
}
在第二幀和第三幀上分別出現“你蠃了”和“你輸了”的文字,並出現重新游戲的按鈕,這個不用多說。
★opponet層上︰放置MC(opponet),取它的intance name為opponet
★player層︰放上我們要移動的方塊。並取mc方塊的intane name為(square)
★maze boundries層︰放置迷宮圖MC,並取mc的intance name為maze.
★background層︰背景層。不用多說。
★goal層︰放置用來檢測是否到達對方的起點,設mc的intane name為(goal) 到了這里,應該是差不多了,就差一個我們控制的方塊怎麼檢測和迷宮的踫撞以及判斷誰先到對方的起點。這個我們在maze這個mc中解決︰
鼠標右擊maze,選actions,我們會看到如下的actions:
onClipEvent (enterFrame) {//:響應mcclip的enterframe事件
if (_root.started && _root._currentframe == 1) {//:判斷標志變量start=true及根目錄為第一幀,則開始
with (_root.square) {//:對根目錄下的square這個mc
//
// 鍵盤控制
if (Key.isDown(Key.DOWN)) {
_y += 1;
}
if (Key.isDown(Key.UP)) {
_y -= 1;
}
if (Key.isDown(Key.LEFT)) {
_x -= 1;
}
if (Key.isDown(Key.RIGHT)) {
_x += 1;
}
//
//檢測玩家的方塊是否和迷宮的牆發生踫撞
if (walls.hitTest(getBounds(_root).xMax, _y, true)) {
_x -= 1;
}
if (walls.hitTest(getBounds(_root).xMin, _y, true)) {
_x += 1;
}
if (walls.hitTest(_x, getBounds(_root).yMax, true)) {
_y -= 1;
}
if (walls.hitTest(_x, getBounds(_root).yMin, true)) {
_y += 1;
}
//
// 檢測方塊,要是方塊和goal踫撞,就跳轉到根目錄下的第三幀。
if (_root.goal.hitTest(_x, getBounds(_root).yMax, true)) {
_root.gotoandstop(3);
}
}
}
}
當然第三幀上,早就放好了我們想要的顯示的內容,比如你蠃了等。
至此,我們的迷宮游戲就全部完成了,相信你也學會了一些東西。
點擊 下載源代碼

