相当一部分OF学习者是从P5转过来的。所以教程会不时对比两者的异同。若是没有P5基础,也不会妨碍你去学习OF
所有例子会同时提供P5与OF两个版本
创造你的第一个程序
通过浏览OF自带的example。相信你已经了解程序大致能干些什么了。下面我们来正式开始学习Openframeworks~
OF与C++
OF本身只是个框架,它是基于C++。所以我们学的本质上就是C++的语法。我们也是用C++来写OF程序。
对设计师而言,C++听上去就有点不明觉厉的感觉。但我们其实不需要像程序员一样去了解C++的方方面面。OF本身是个框架,已经对编程的流程做了许多简化,使你无需了解许多底层的知识即能上手开发。
OF的文件结构
第一篇(安装向导)提到,我们通过ProjectGenerator或是直接复制一个文件,就能创建空白的文档。下面我们来详细看看OF的文件结构。只要展开src文件夹,我们能看到以下三个文件
main.cpp
ofApp.cpp
ofApp.h
通过点击这几个文件,你会发现里面并不是完全空白的,而是直接就包含了一些代码。这些代码是ProjectGenerator帮我们自动生成的。作用是在C++程序中载入OF框架,并将OF的常用结构都提供好。这样我们以后只需要直接往里面填东西,而不需要重复写同样的代码。
main.cpp
main.cpp是存放程序的主函数的地方,任何的C++程序,无论简单和复杂,都需要有一个main函数。在初期,你只需要关心一行代码。
ofSetupOpenGL(,,OF_WINDOW);
这行代码是用于设置窗口的运行大小,第一第二个参数分别代表窗口的长宽。而第三个参数用来设置窗口的类型。其中OF_WINDOW代表的是初始的大小按前两个参数来设置,你也可以将它替换成OF_FULLSCREEN,这样程序运行后则会变成全屏模式。(全屏模式下只能通过Esc键来退出程序)
ofApp.cpp与ofApp.h
这两个文件是互相对应的,后缀.cpp代表源文件,后缀.h代表头文件。我们的OF代码,主要就是写在这两个文件内。ofApp.h可以先理解为是用来声明程序中所用元素的类型以及名称,而ofApp.cpp则用来详细描述这些元素的具体实现内容。
设计师的“HelloWorld”
了解完OF程序的结构后,就可以正式开始了。许多编程语言的经典入门都是从输出“HelloWorld”开始讲起。但属于设计师的“HelloWorld”,不应该是字符。咱们从画图开始!
从“点”开始
点线面是平面空间的基础元素。接下来我们会在程序中表现这些基础元素。在OF里写程序,刚开始我们只需要