1

我正在将我的游戏从 Java 移植到 Objective C,并且我有大量的关卡数据。我希望有一种简单的方法可以通过正则表达式使用某种替换来改变它。

Java 格式如下所示 -

level1.addWave(240, 0, 120, 1, Constants.DOWN_STRAIGHT, .03f, 0.15f, 
Constants.WANDER_RIGHT, Constants.TOP_SIDE, 250, 390, Sheep.WHITE, 2);

Objective C 版本应该是这样的——

[level1 addWave_offset:0 waveTimer:0 nextSheepCD:0 numberOfWaves:1 startingDirection:DOWN_STRAIGHT wanderRate:0.03 wanderLean:0.15 
wanderDirection:WANDER_NONE side:TOP_SIDE minPixel:200 maxPixel:200 type:WHITE amount:1];

有没有办法通过正则表达式进行替换?

4

1 回答 1

0

我已经做了很多次类似的事情,我的方法如下,即伪代码:
- 遍历所有目录中的所有文件
- 打开文件并读取每一行
- 如果你的行以开头level然后做进一步处理
- 进一步处理:用以下标记(,Constants.,. 修剪结果以删除空格。将每个结果存储到关联的临时变量中(例如存储level1tmp_level_id
- 使用存储结果生成 Objective-C 代码

虽然这可能不像一些时髦的正则表达式那么漂亮,但如果需要,它会更容易实现和修复。

亲切的问候,

于 2012-05-25T08:36:13.343 回答