开始折腾XNA4.0
最近翻硬盘看到以前写的那个打砖块小游戏,手痒想改改。结果打开VS直接傻眼——XNA项目红叉叉报错,压根跑不起来。我这倔脾气上来了,非得在Win10上把这老古董搞活不可。
踩坑踩到怀疑人生
先试了直接下安装包,微软官网早就404了。跑去贴、论坛翻老帖,点开一堆资源帖链接全是失效的,要么就是挂着羊头卖狗肉的广告。折腾一上午连个正经安装程序影子都没见着,气得我差点把鼠标摔了。
后来想起GitHub可能有备份,搜“XNA4.0 redistributable”还真跳出来个仓库。结果点进去发现只有source code没安装包,build教程写得跟天书似的。我这C++水平就够写个Hello World,果断放弃。
挖出三个宝藏地
正发愁,突然灵光一闪:用老版本VS装扩展不就行了?赶紧翻出吃灰的VS2010光盘,装上后第一件事就是点开扩展管理器。你猜怎么着?微软居然偷偷留了个后门!在“联机库”里搜XNA,第一条就是官方4.0扩展包,点安装竟然一次成功,差点感动哭。
- 官网文档库:虽然主站撤了,但有个隐蔽的文档子站还能访问。API说明和入门教程全须全尾躺着,连当年没看完的3D粒子系统教程都在。
- 民间存档站:有个老外博主把整个XNA开发者博客打包成离线文档了。什么SpriteBatch优化、音频延迟解决方案,搜关键词比谷歌还准。
- 论坛化石区:专门翻那种标题带[Solved]的2013年旧帖。虽然楼主头像都灰了十年,但解决方案简单粗暴有效。昨天照着某帖改了个dll引用,手柄驱动秒识别。
比原版还顺手
现在用VS2019+Resharper搞XNA4.0,代码提示比当年还溜。昨晚把十年前的角色控制脚本重写了一遍,帧率直接飙到144hz。不过得提醒你们:显卡驱动要回退到2019年版,新驱动会跟HiDef模式打架闪屏。别问我是怎么知道的,我眼睛差点被闪瞎。
对了!在Riemers家的教程里翻到个彩蛋——这老哥居然用XNA实现了实时光线追踪的demo!虽然跑起来只有5帧,但代码注释里写着“等十年后显卡应该能跑动”,现在用3060一试还真稳60帧,绝了!