我有一個主類和一個GameScreen類。在GameScreen類中,我有一個按鈕將用戶返回到主菜單。但是,我的gotoMainMenu功能是在主類。我試圖讓gotoMainMenu函數爲靜態函數,但在函數內部調用非靜態函數。從另一個類訪問函數和變量
目前我有這個代碼,經過gotoMainMenu功能到我gameScreen對象:
gameScreen = new GameScreen(gotoMainMenu);
在GameScreen構造我給你這個實例變量,然後我添加一個事件聽衆使用該實例變量作爲第二個參數,如下所示:
backArrowButton.addEventListener(MouseEvent.CLICK, gotoMainMenuMainFunction);
這是一個公司方法來做到這一點?如果不是,你能否提供另一種不被認爲是錯誤編碼的解決方案?
我有另一個非常相似的問題。我有一個英雄類,它需要訪問我的GameScreen類中的許多變量。我知道靜態變量是一個修復,但我被教導說這是不好的編碼,而且靜態變量只能用於常量。
目前,我在實例變量作爲傳遞這樣的參數:
hero = new Hero(levelData, map, gameCont);
然後在英雄 I類分配這些參數的實例變量,非常相似,我如何傳遞的功能。這些變量引用同一個對象。我需要在原始數據類型通入的onEnterFrame函數是這樣的:
hero.onEnterFrame(up, left, right, mouse);
這樣做的問題是,我不喜歡存儲實例變量,即是指相同的對象,在2個單獨的類。我覺得有更好的方法來做到這一點。請爲這兩個問題提供解決方案,並確保它不被認爲是錯誤的編碼。