游戏将用C语言编写
编程:
enemies.puch_back(new DefaultEnemy(200,300,3,5)); enemies.puch_back(new DefaultEnemy(500,400,4,5)); enemies.puch_back(new DefaultEnemy(300,420,15)); enemies.at(2).createAward(new Key(4),"pling.wav");
或者从这样的文件中解释它们:
DefaultEnemy 200 300 3 5 DefaultEnemy 500 400 4 5 DefaultEnemy 300 420 3 15 CreateAward 2 "pling.wav" Key 4
程序会更容易,人们不能(不说黑客)编辑你的关卡.但是编制这一切可能有点垃圾吗?还有其他理由选择编程或口译吗?
内存管理怎么样(如果我应该去解释)?
如何在级别卸载时删除(游戏)对象?
解决方法
第一种变体相当于硬编码游戏资源.这绝对是错误的,仅适用于调试.
每个游戏都将其资源存储在外部文件中 – xml,归档包,并在运行时解析并加载它们.
因此,现代游戏引擎几乎每次都有自己的工具集与之捆绑在一起.
删除游戏资源也是一个巨大的问题 – 这取决于.取决于对象的生命周期管理以及如果您需要将数据解压缩到临时文件中的事实.