我最近一直在对我的Flash框架进行一些改造,当我每月制作一个游戏时,重新使用组件快速构建概念的想法似乎对我很有吸引力。
阻碍我的因素是游戏状态如何从实体本身中提取信息。
例如,将相机置于播放器中心通常非常简单:camera.x = player.x;
但我不确定如何使用基于组件的实体执行此类操作。
您可以轻松获取此类数据的系统的任何想法或链接?
答案 0 :(得分:1)
您可以让组件生成事件,感兴趣的各方可以为这些事件注册侦听器。对于实例,您的相机可以听取其他组件的动作。 这种方法应该简单而有力,足以满足您的需求。
final Camera camera = new Camera() ;
Player player = new Player() ;
player.OnMove += new MovementListener() {
public void onMove(Position newPosition) {
camera.UpdatePositionWith(newPosition)
}
}
希望它有所帮助。