看了Ogitor的代码后, 自己又实践了一把, 结合N3中学到的一些技巧, 在编辑器中得到了验证.
虽说做的是场景编辑器, 但是其它编辑器也可以用的, 毕竟思想都差不多....对于一个编辑器, 通常是由一个个的"实体"组成, 或者叫"对象". 而"对象"又是由各种"属性"所组成....以场景编辑器为例, 我们通常会涉及以下操作:
刷地形, 刷纹理
摆模型, 设置模型参数
摆光源, 设置光源参数
摆特效/音效, 设置参数
摆NPC, 设置相应参数
......还有"摆"的这个操作, 其实本质上了也是对象的位置变换这个属性的变化....由此可以得出: 编辑器的一切操作都是属性编辑
实体不用说了, 相信每个引擎都有Model/Light/Sound之类的对象类.
那么怎么去定义一个属性呢?