2014-01-10 35 views
0

我在AS2寫吃豆子,現在我想使用類它移植到AS3 ....的ActionScript擴展類(嵌套ADVICE)

我在尋找請教我的方法來解決這個到目前爲止,(感覺就像我走錯了的話)......

我做了一個控制檯類,用於保存程序的輸出和一個舞臺,它包含了迷宮類的容器(用點和分數),然後有一個吃豆子類和一個怪物類,還有一個水果類。

(image output for clarity)

public class Console Extends MovieClip 
    // creates a stage and consoles for development (extending MovieClip) 
    // (see image link below). 

    public var gameStage:MovieClip = new MovieClip(); 
    // to gameStage I've added the maze and all the dots (working fine). 

public class Maze Extends Console 
    var maze:maze1 = new maze1(); // simplified for here 
    gameStage.addChild(maze); 

public class Monsters Extends Maze 
    // bla bla bla 

public class Fruits Extends Monsters 
    // bla bla bla 

public class Pacman Extends Fruits 
    var pac:MsPacman = new MsPacman(); //from library 
    gameStage.addChild(pac); 
    //now I just add this Pacman Class to the main timeline 
    //...and the ALL the others are added through inheritance. 

我想給每個班級進入公共gameStage影片剪輯的Console類,而無需創建控制檯的多個實例。

因此......我應該像這樣將每個類嵌套在一個「堆棧」中,每個類擴展前者,最後一個是Pacman類,然後將其添加到主時間軸中?或者我要走向一條黑暗的小巷?我看了一下MVC模式,對我來說很困惑。

我是無意中使用一些其他的設計模式而不自知?這個方向繼續安全嗎?我希望能夠正確完成這項工作,以便我可以將其作爲未來項目的模板參考。

非常感謝您的時間。

的Digi

(image output (same as above)) - 你可能能夠看到,我使用控制檯很多東西,包括一箇中心舞臺,它幫助了我很多的發展,我只是在生產時將其禁用。

回答

0

爲什麼要一直擴展控制檯?控制檯真的是你的遊戲對象的普通類嗎?它是否像動物 - >狗&貓?我認真地懷疑,在我看來,它只是一個容器,而不是你的迷宮課(沒有課,就像我看到的那樣)。我其實並沒有在你的案例中看到使用繼承的太多用法。也許我會做一個收藏類(然後將其子類化爲水果和點)。

如果我是你,我會創建一個「遊戲」類,將包含所有這一切。它會有一個enterframe事件來更新所有資產(怪物,pacman)的位置並檢查碰撞。其他類中沒有其他enterframe事件。我也許會創造一個迷宮類,如果有必要,並sublcass只有雪碧吃豆子,收藏品等..

+0

好吧,我已經改變了我的代碼,並張貼了不少解釋自己更清楚的希望。謝謝你的回覆。:) – DigiWongaDude

+0

...還有使用一個enterframe的想法很好(我在AS2中做過),除了它們在不同的時間移動不同,在不同的時間,這有點混亂,所以我打算改爲給每個字符一個setInterval。 – DigiWongaDude

+0

好的,我已經考慮過你的建議,它確實很有道理!我將創建一個遊戲類並在主時間軸上添加所有其他Class引用,並使用Game Class中的公共變量...對吧? – DigiWongaDude