这里的第一个问题:)("AS3"(
首先,如何访问另一个类的变量?
你看,我的"数据库"目前在单个类中,当我调用"scene_battle"时,我需要访问它。编写此代码的最佳方法是什么?我想正确获取类的变量,而不是实例变量,因为我甚至不需要这个类的实例,因为它只是一个数据库。
其次,关于我的游戏的OOP结构的一个更普遍的问题。目前,它是这样的:
scene_battle
打电话给player
和enemy
。玩家和敌人从我的数据库中获取数据。基本上,我只是重复我的玩家类的一个实例,它将有一个基于游戏派对的 ID。
如果你能给我一些关于代码的一般或有用的提示,比如封装一些东西,我将不胜感激。提前谢谢你。
首先,如何访问另一个类的变量?
-如果你想有一个通用类作为值的引用器,你可以使用类的实例或静态类,两者都一样好。
我想正确获取类的变量,而不是 实例变量,因为我甚至不需要这个类的实例, 因为它只是一个数据库。
-如果您像在C++中那样引用获取指针,则无需担心,除非您使用 new 关键字,否则所有与另一个对象均衡的对象都将是指针。
scene_battle召唤玩家和敌人。玩家和敌人从我的 数据库。基本上,我只是重复我的播放器类的一个实例,并且 它将具有基于游戏派对的 ID。
-我以前已经实现过回合制游戏玩法,这是我的做法,请记住,它显然不是最好的实现。
BattleManager
Members:
-BattleScenario (this contains all the meta data for your battle scenario, teams, map location, any modifiers that are related to a battle)
-Teams (this is a list of Team classes wich have players)
-TeamSequence(this is a list of team wich will be populated from Teams and will control the flow of the battle)
Functions:
-StartBattle
-EndBattle
-GiveTeamTurn (this function gets the TeamSequence and calls ActTurn on the Class Team and removes the team from the TeamSequence list)
-RepopulateTeamSequence(when the TeamSequence is empty this is called to repopulate the TeamSequence)
Team
Members:
-Players (this is a list of players)
Functions:
-ActTurn (this function calls a player that is still able to act during the turn, and tells him to act, this is where you prompt the user for actions or use your AI)
这只是大行,他们的很多东西没有在这里显示,你必须实现。还要注意的是,很多回调会被触发,例如,当玩家完成表演并回电到其团队时,会回电说这个回合已经完成,该团队应该为团队的另一个成员调用 ActTurn 直到完成,团队也是如此,一旦团队的每个玩家都完成这个回合,就会触发对战斗经理的回调。
希望这有帮助,GL !