我正在与我的朋友一起开发项目,在那里我们必须更新使用SDL 1.2的现有游戏版本以使用SDL 2.0头文件和函数。 我想知道什么是我们遵循的标准程序,同时更新已有的源代码到较新的库。 该代码有28个源文件,包含11个头文件,并广泛使用键盘和鼠标事件以及声音。 所有源文件都使用C++和sdl.Most源文件大约有200行代码。 我有一个约3个月的时间来做出改变。我想知道如何在每周或每两周的基础上为该时间段编写一份基本的日程表摘要。 任何人都可以为我提供适当的步骤,因此我可以制定相同的时间表吗?我在寻找将游戏更新到SDL 2.0的步骤
1
A
回答
0
我不知道的标准程序,但这里是我的想法:
一般情况下,我能想到的两种方法来移植现有软件,要么另一种语言,另一种使用库,或任何变化这样的;具有最小的结构变化 或主要的结构变化。
最小的结构变化意味着你保持程序的结构完整,并开始用它在其他库中的等价物替换它的每一个位。例如,如果将过度移植到SDL,则可以使用SDL替换过度创建窗口,使用SDL等进行键盘处理。
这种方法速度更快,因为所有的变化都很小而且是局部的。你也不太可能引入错误。结果可能不是那么有效,因为程序的结构并不是最初为这个新库设计的。
主要结构变化意味着基于新的库,您将重写依赖于该库的大部分程序。例如,如果从C++的STL切换到C的标准库,用C中的等价物重写string
,保持分配/释放/复制没有意义,因为您的方法应该有根本的不同。
这种方法需要更多的工作,但最终会给你一个更好的质量。
回到你的具体情况,我不知道SDL 2多么的不同是SDL 1.2,但我的猜测是,这不是根本的不同。因此,我相信第一种方法应该适用于您的情况。也就是说,您应该在SDL 1.2中对SDL 2中的等价物进行等价处理,并相应地将其替换为您的代码。
相关问题
- 1. Python - 在RPG游戏中计算步骤
- 2. 寻找(N)步骤GUI类的东西
- 3. Android翻新:从翻新1.9迁移到翻新2.0的步骤
- 4. 我正在寻找D语言的免费3D游戏引擎
- 5. JavaScript棋盘游戏:寻找优化
- 6. 寻找PHP游戏引擎/框架
- 7. 在Ebean游戏框架2.0
- 8. JavaFx 2.0游戏引擎/框架 - JavaFx 2.0如何更改Java游戏?
- 9. dragdealer.js找到步骤的值
- 10. 如何将PlayerPrefs从我iOS的Unity游戏同步到iCloud
- 11. 用于游戏引擎的SDL + Qt
- 12. 从SMFL到SDL 2.0
- 13. 寻找一个游戏对象与另一个游戏对象的角度
- 14. 更自然的Silverlight游戏,OpenGL或SDL的来源?
- 15. RunnerClass没有找到步骤?
- 16. 找不到lr_db_connect步骤
- 17. 游戏客户端更新
- 18. 游戏统计更新。 SQL
- 19. Scala - 更新游戏世界
- 20. C++ SDL反应时间游戏
- 21. 更新到iOS 10.1.1打破了我的游戏
- 22. 更新到iOS 8让我的SpriteKit游戏超级慢
- 23. 局游戏寻路 - 找到多个最优路径
- 24. 寻路2D Java游戏?
- 25. 在java中寻找2D游戏的路径
- 26. 康威的生命游戏(构造和更新游戏)
- 27. 将Box2D与SDL中的现有游戏类结构集成?
- 28. JPanel在益智游戏不更新
- 29. 正在更新游戏进度变量
- 30. Docker:在步骤中看起来出了问题寻找vboxmanage.exe
等等,游戏只有~6 KLOC?我不确定你能否真实地将日程安排到三个月......;) – duskwuff 2012-04-06 18:26:38
我只是一个初学者 – 2012-04-07 16:40:16
听起来像一个很好的夏季项目 – 2012-04-07 23:21:04