游戏状态如何与基于组件的实体交互?

时间:2011-06-12 00:08:37

标签: architecture components game-engine

我最近一直在对我的Flash框架进行一些改造,当我每月制作一个游戏时,重新使用组件快速构建概念的想法似乎对我很有吸引力。

阻碍我的因素是游戏状态如何从实体本身中提取信息。

例如,将相机置于播放器中心通常非常简单:camera.x = player.x;但我不确定如何使用基于组件的实体执行此类操作。

您可以轻松获取此类数据的系统的任何想法或链接?

1 个答案:

答案 0 :(得分:1)

您可以让组件生成事件,感兴趣的各方可以为这些事件注册侦听器。对于实例,您的相机可以听取其他组件的动作。 这种方法应该简单而有力,足以满足您的需求。


    final Camera camera = new Camera() ;
    Player player = new Player() ;
    player.OnMove += new MovementListener() { 
        public void onMove(Position newPosition) {
            camera.UpdatePositionWith(newPosition) 
        }
    }

希望它有所帮助。