Sony ATF框架学习笔记(一)
Sony ATF框架是一个开发游戏Editor的框架,他由c#编写,由于官方文档惨不忍睹,尤其是入门部分,基本没啥好阅读的,就一句话,自己看例子去。
所以我们来自己补一篇 sony atf 入门
第一步 拉框架源码
https://github.com/SonyWWS/ATF
第二步 创建一个全新的c# winform项目
此处需注意,不兼容dotnet core,只兼容dotnet framework 4.x
这里一定要注意,一定要用带(.net framework)的这个
因为atf用dotnet 4.0 编译,所以这里我们只要是大于4.0的,都行
第三步 搬运atf项目源码
当然可以只搬运编译好的atf项目dll,有源码在出错的时候可以多一点线索,有备无患
从atf仓库 把这三个目录 和 .component文件copy过来,这几个目录和文件的相对关系不能变。
然后从framwork里面找到对应的项目扔进解决方案里面,并引用之。
需要额外引用一个System.ComponentModel.Composition 系统库,这也是为啥用不了dotnetcore的原因,这个库dotnetcore不兼容。
第三步 HelloWorld代码
这是本来面目
这是我们的第一份helloworld,这个代码可以从atf的例子中找到
打开他是这样的
atf主要提供了文档模型和一堆界面组件,我们还需要验证一个主要功能,我要加一个特殊的窗口怎么办。
创建一个自定义组件,然后打开刚才helloworld里的注释,这个组件就生效了。
这里主要依靠在构造函数里的 registerControl 调用,放了一个自定义winform 控件进来。
然后在Activate函数里,就可以对自定义winform控件进行处理。
熟悉win32 的同学应该敏锐的发现了,只要一个有句柄的控件,在windows上面我们就可以用这个hwnd 去和渲染api 链接,任何图形api 都可以用来画东西了。
这可以用来搞scene视图 game视图了。
他跑起来是这样的
第一天结束,跑起helloworld