我期待创造一个场景图我的F#项目的财产以后这样的:识别联合和继承
root
->player_bob
-->torch
->enemy_1
-->extravagant_hat
-->enemies_cat_jess
--->fleas
--->fur_ball
->loot
等等,等等。
每个项目需要保存一个游戏对象的集合来表示它的孩子。
e.g enemy1的列表中包含一只猫和一顶帽子和猫列表包含跳蚤和毛球
所以我打算让他们都从包含描述对象的子对象的集合类继承。
现在我的问题: 我应该向下转换子对象游戏对象的,并把它们存储在“游戏对象”基类 的清单,或建立一个识别工会如
type SceneObject =
|Character of Character //e.g player, enemy, cat
|Item of Item //e.g hat, torch, furball
和存储对象作为“场景对象”的列表以避免任何问题/开销的上演,等等。以及允许我描述在碰撞检测中不呈现和/或不使用对象的特殊情况,例如:声音发射器,陷阱触发器等。
歧视的工会+继承组合是我最初的想法;不过,因为我是FP新手,所以我认为向专业人士提供最好的,实用的解决方法是明智的。
感谢,
JD
太棒了!这消除了对继承的需求:¬) 谢谢Dario,我的一半学习FP的问题正在把我的脑袋从OO土地中拉出来。 – jdoig 2010-08-29 11:29:46