OpenFrameworks for Visual studio

提供:kuhalaboWiki
2014年10月27日 (月) 07:56時点におけるKuha (トーク | 投稿記録)による版

移動: 案内, 検索

目次

セットアップ

以下のサイトからダウンロードしてください。

http://openframeworks.jp/download/

「windows download openFrameworks for visual studio」をダブルクリックして、of_v0.8.4_vs_release.zipをダウンロードします。(約90MB)

また、PC演習室のdeliveryドライブからも配布します。

of_v0.8.4_vs_release.zipを解凍すると、of_v0.8.4_vs_releaseフォルダー(約1GB)ができます。 このフォルダーをして、自分のポータブルハードディスク、または、PC演習室の、seminarドライブのgenerativeフォルダー内に移動してください。

プログラム開発は、このof_v0.8.4_vs_releaseフォルダー(以下、ofフォルダーと略す)内で行います。 また、このofフォルダーを持ち歩けば、Visual Studioの入ったパソコンならどこでも、開発ができます。

  • ofフォルダーの構成
    • exampleフォルダー サンプルプログラムが入っている。
    • appsフォルダー MyAppsフォルダーに自作のプログラムを入れる。
    • addonsフォルダー 機能を追加するときには、ここにアドオンを入れる。すでにいろいろ入っている。

サンプルの実行

ofフォルダー内のexampleフォルダーにはたくさんのサンプルプログラムが入っているので、いろいろ試してみるとよい。

例 graphicExample graphicExampleフォルダー内のgraphicExample.sln(ソルーション)または、graphicExample.vcxproj(VC++プロジェクト)をダブルクリックして、プロジェクトを立ち上げてみる。

  • Visual studioではプログラムをプロジェクトという単位で管理する。複数のプロジェクトをまとめたものをソリューションという。この授業では、複数のプロジェクトからなるソリューションは扱わない。

Microsoft Visual Studioが立ち上がり、サンプルプログラムのプロジェクトが開かれる。

  • ソリューションエクスプローラーに、プロジェクトの構成要素がリストされている。
  • プログラム本体のソースコードはsrcに含まれている。
    • main.cpp ofApp.cpp ofApp.hの3つのプログラムが基本。このうち、ofApp.cppが一番、重要。
    • setup() update() draw() の流れでプログラムが実行される。

プログラムを実行してみる。

  • ウィンドウの上部中央にある緑色の三角ボタンをクリックする。

binフォルダーには、実行形式exeファイルができている。 これをダブルクリックすると、プログラムが実行される。

マイプログラムの作成

  1. oFフォルイダー内のprojectGeneratorフォルダー内のprojectGenerator.exeを実行する。
  2. Name:に、プロジェクトの名前を入れる。
  3. Addons:に、使用する追加機能(アドオン)を入れる。(はじめは、「なし」でよい。
  4. GENERATE PROJECTをクリックする。
  5. Apps内のMyAppsにマイプロジェクトが作成されている。
  6. 作成したプロジェクトを起動し、srcを見てみる。
    • ofApp.xppのメソッドの中身が空っぽ。
    • ここにプログラムを書いていく。

クラスの作成

  1. 新しくクラスを作るには、「プロジェクト > 新しい項目の追加...」 を開き,「C++ファイル」「ヘッダーファイル」を作る。
    • 名前を それぞれXXX.cppXXX.hとし、場所はともに ..\src とする
    • (注)「クラスの追加」や「クラスウィザード」は使えない。
  2. ソリューションエクスプローラー上のsrcの中にXXX.cppXXX.h が新規作成される。

ヘッダファイル XXX.h は,

#pragma once
#include "ofMain.h"

class XXX {
private:
	ofPoint pos;
	float radius;

public:
	Ball();
	void hogehoge();
};

などと、記述する。

  • ofMain.h をインクルードし、クラスの定義の最後にセミコロンがつくことに注意する。
  • #pragma once は,このヘッダファイルを複数回読み込まないようにするためのもの。
  • 括弧で囲まれた部分 {...} には,変数の宣言やメソッド(関数)の宣言を書く
  • private: に続く部分には,クラス内部のみで利用する変数、メソッドを宣言する。
  • public: に続く部分には,クラス外部からアクセスできる変数、メソッドを宣言する。
  • Ball(): はコンストラクターといい、クラスのインスタンスを生成するときの初期化処理などを記述する。

C++ファイル XXX.cpp は,

#include "Ball.h"

Ball::Ball(){
	pos = ofPoint(ofGetWidth()/2, ofGetHeight()/2);
	radius = 100.0;
}

void Ball::draw(){
	ofSetColor(31, 63, 255, 100);
	ofCircle(pos.x, pos.x, radius);

	ofSetColor(255, 0, 0, 200);
	ofCircle(pos.x, pos.x, radius);
}

などと、メソッドの本体を記述する。

  • メソッドの定義の最後にセミコロンがつかないことに注意する。
個人用ツール
名前空間

変種
操作
案内
ツールボックス