我正在用java编写一个非常简单的RTS,这是我的问题,我需要编写一个重播文件来保存玩家所做的每一个动作,并且必须能够阅读以观看比赛(只需要保存动作,鼠标移动并不重要,每个动作之间的时间不需要保存,我会在每个动作之间设置相同的延迟)。知道我需要在程序参数中保存隐式元素的 x 和 y 位置、动作(攻击、移动、产品 ...)以及单元的 x 和 y 位置,我怎么能做到这一点。例如:archer.attack(beast),所以在这个例子中我需要保存弓箭手的 x 和 y,这是动作所以这里攻击和 x 和野兽的 y。非常感谢您的每一个回答,这对我有很大帮助!
问问题
640 次
1 回答
-1
一个好的 API 将允许您以简单的字符串格式记录移动,然后使用与其一起保存的 TIMESTAMP,通过使用 Thread.Sleep 将其传递回 API,其中睡眠时间将是“下一个动作”减去“的时间”当前行动”。
示例字符串文件(播放器|TIME|ACTION|DATA)
Player1|1|Move|-
Player1|4|Click|-
Player1|12|Click|-
然后创建一个游戏循环,在其中执行第一个动作(移动),然后调用“Thread.Sleep(4000-1000)”(其中 1000 是 1 秒),然后重复循环。下一个动作将是“单击”,然后休眠 8 秒。
于 2015-05-30T12:36:24.773 回答