SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
iTamabi13 第2回:
openFrameworks iOS 入門
2013年9月16日
田所 淳
このワークショップでの開発枠組み
‣ iPhone SDK + openFrameworks で!!
+
openFrameworks (for iPhone) 入門
openFrameworks とは?
‣ C++によるクリエイティブなコーディングのためのオープン
ソースのツールキット
‣ http://openframeworks.cc/
簡単な歴史
‣ 2004年、Zachary Liebermanがニューヨークのパーソンズ美
術大学での大学院のクラスの作品制作のためのツールとして開
発
‣ その後、Zachary Lieberman、Theo Watson、Arturo Castro
を主要メンバーとして、世界中の開発者と協力しながら発展
Zachary Lieberman
openFrameworks とは?
‣ 様々なメディアを駆使した作品を作りたい!!
‣ 様々な技術に精通しなくてはならない
‣ サウンド、ビデオ、フォント、画像解析...etc.
‣ openFrameworksを利用すると、
‣ 既存の道具(=ライブラリ)を設定なしに使用可能
‣ 作品制作のための「糊」
開発のための「糊」
‣ oFの構造イメージ
main.cpp
testApp.h testApp.cpp
openGL GLUT freeimage freetype
fmod rtaudio quicktime openCV
ofSimpleApp, ofGraphics, ofImage, ofTruTypeFont,
ofVidePlayer, ofVideoGrabber, ofTexture, ofSoundPlayer,
ofSoundStream, ofSerial, ofMath, ofUtils
プログラムの開始
コードを書くところ
OpenFrameworksの機能
ベースとなるライブラリ群
サンプルを実行してみよう!!
‣ Mac版「of_preRelease_v007_iphone/apps/
iPhoneExamples/」以下にあるフォルダ内のXCodeのプロ
ジェクトファイル「.xcodeproj」を開く
‣ プロジェクトファイルを開くと、自動的にXcodeが起動
‣ 左上のプルダウンより、プロジェクトの名前の項目のiPhone
シミュレータを選択
サンプルを実行してみよう!!
‣ 「Run」ボタンを押す
‣ コード実行のための様々な処理 (コンパイル) を行った後、iOS
シミュレータでサンプルプログラムが実行される(はず)
まずはSimulatorで実行してみる!!
‣ 例:advancedGraphics
新規にプロジェクトを作成する
‣ 新規にプロジェクトを作成するには、空プロジェクトをコピー
‣ 空プロジェクトは、下記のものをコピーしてつかう
‣ apps > iPhoneExamples > emptyExample
‣ 例:apps > iPhoneExamples > emptyExample を下記の場所
にコピー
‣ apps > iTamabi_example110524 > emptyExample
OpneFrameworksのコード構造
‣ さしあたって、編集するのは、testApp.hとtestApp.mm の
み!!
main.cpp
testApp.h testApp.cpp
openGL GLUT freeimage freetype
fmod rtaudio quicktime openCV
ofSimpleApp, ofGraphics, ofImage, ofTruTypeFont,
ofVidePlayer, ofVideoGrabber, ofTexture, ofSoundPlayer,
ofSoundStream, ofSerial, ofMath, ofUtils
プログラムの開始
コードを書くところ
OpenFrameworksの機能
ベースとなるライブラリ群
ココ
プロジェクトの中身を開いてみよう!
‣ testApp.mm を開いてみる!
2つのファイル
‣ testApp.h - ヘッダファイル
‣ プログラム全体で使用される部品 (変数、関数) を宣言
‣ 料理のレシピに例えると…
‣ 材料の一覧
‣ 料理手順の一覧
‣ testApp.mm - 実装ファイル
‣ 実際に何をするかを記述
‣ 料理のレシピに例えると…
‣ 実際の調理内容の全てを記述
重要な3つのブロック
‣ とりあえず今日の段階で重要になるのは、下記の3つブロック
‣ setup - 準備
‣ update - 更新
‣ draw - 描画
‣ つまり...
‣ 絵を描く準備をしたら継続的に更新しながら描画する
#pragma once
#include "ofMain.h"
#include "ofxiPhone.h"
#include "ofxiPhoneExtras.h"
class testApp : public ofxiPhoneApp {
!
public:
! void setup();
! void update();
! void draw();
! void exit();
!
! void touchDown(ofTouchEventArgs &touch);
! void touchMoved(ofTouchEventArgs &touch);
! void touchUp(ofTouchEventArgs &touch);
! void touchDoubleTap(ofTouchEventArgs &touch);
! void touchCancelled(ofTouchEventArgs &touch);
!
! void lostFocus();
! void gotFocus();
! void gotMemoryWarning();
! void deviceOrientationChanged(int newOrientation);
!
};
testApp.h では
‣ testApp.h
準備
#pragma once
#include "ofMain.h"
#include "ofxiPhone.h"
#include "ofxiPhoneExtras.h"
class testApp : public ofxiPhoneApp {
!
public:
! void setup();
! void update();
! void draw();
! void exit();
!
! void touchDown(ofTouchEventArgs &touch);
! void touchMoved(ofTouchEventArgs &touch);
! void touchUp(ofTouchEventArgs &touch);
! void touchDoubleTap(ofTouchEventArgs &touch);
! void touchCancelled(ofTouchEventArgs &touch);
!
! void lostFocus();
! void gotFocus();
! void gotMemoryWarning();
! void deviceOrientationChanged(int newOrientation);
!
};
testApp.h では
‣ testApp.h
更新
#pragma once
#include "ofMain.h"
#include "ofxiPhone.h"
#include "ofxiPhoneExtras.h"
class testApp : public ofxiPhoneApp {
!
public:
! void setup();
! void update();
! void draw();
! void exit();
!
! void touchDown(ofTouchEventArgs &touch);
! void touchMoved(ofTouchEventArgs &touch);
! void touchUp(ofTouchEventArgs &touch);
! void touchDoubleTap(ofTouchEventArgs &touch);
! void touchCancelled(ofTouchEventArgs &touch);
!
! void lostFocus();
! void gotFocus();
! void gotMemoryWarning();
! void deviceOrientationChanged(int newOrientation);
!
};
testApp.h では
‣ testApp.h
描画
#include "testApp.h"
//--------------------------------------------------------------
void testApp::setup(){!
! // register touch events
! ofRegisterTouchEvents(this);
!
! // initialize the accelerometer
! ofxAccelerometer.setup();
!
! //iPhoneAlerts will be sent to this.
! ofxiPhoneAlerts.addListener(this);
!
! //If you want a landscape oreintation
! //iPhoneSetOrientation(OFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT);
!
! ofBackground(127,127,127);
}
//--------------------------------------------------------------
void testApp::update(){
}
//--------------------------------------------------------------
void testApp::draw(){
!
}
testApp.mm では
‣ testApp.mm
準備
#include "testApp.h"
//--------------------------------------------------------------
void testApp::setup(){!
! // register touch events
! ofRegisterTouchEvents(this);
!
! // initialize the accelerometer
! ofxAccelerometer.setup();
!
! //iPhoneAlerts will be sent to this.
! ofxiPhoneAlerts.addListener(this);
!
! //If you want a landscape oreintation
! //iPhoneSetOrientation(OFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT);
!
! ofBackground(127,127,127);
}
//--------------------------------------------------------------
void testApp::update(){
}
//--------------------------------------------------------------
void testApp::draw(){
!
}
testApp.mm では
‣ testApp.mm
更新
#include "testApp.h"
//--------------------------------------------------------------
void testApp::setup(){!
! // register touch events
! ofRegisterTouchEvents(this);
!
! // initialize the accelerometer
! ofxAccelerometer.setup();
!
! //iPhoneAlerts will be sent to this.
! ofxiPhoneAlerts.addListener(this);
!
! //If you want a landscape oreintation
! //iPhoneSetOrientation(OFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT);
!
! ofBackground(127,127,127);
}
//--------------------------------------------------------------
void testApp::update(){
}
//--------------------------------------------------------------
void testApp::draw(){
!
}
testApp.mm では
‣ testApp.mm
描画
図形を描いてみる!
‣ まず円を描いてみましょう
‣ 何を指定したら円を描けるのか、を考える
図形を描いてみる!
‣ 中心の位置 (座標 = x, y) と半径の長さがわかれば円は描ける!
(x,y)
r
図形を描いてみる!
‣ openFrameworksでは、下記のように指定する
‣ ofCircle (中心のx座標, 中心のy座標, 半径の長さ);
‣ 例:
‣ ofCircle (100, 200, 50);
‣ 座標(100, 200) を中心に、半径50の円を描く
#include "testApp.h"
//--------------------------------------------------------------
void testApp::setup(){!
! // iPhone初期設定
! ofRegisterTouchEvents(this);
! ofxAccelerometer.setup();
! ofxiPhoneAlerts.addListener(this);
!
! // 背景色
! ofBackground(0,0,0);
}
//--------------------------------------------------------------
void testApp::update(){
}
//--------------------------------------------------------------
void testApp::draw(){
! // 円を描く
! ofCircle(160, 240, 50);
}
やってみよう!!
‣ testApp.mm
1行追加
やってみよう!!
‣ 円が描けた!
色を塗ってみる
‣ コンピュータの画面はどうなっているのか?
‣ コンピュータの画面を拡大していくと...
‣ 縦横に並んだ点の集合 → ピクセル (Pixel)
‣ 一つのピクセルは赤、緑、青の三原色から成り立っている
色を塗ってみる
‣ 色を指定するには?
‣ R(赤) G(緑) B(青)の三原色で指定する
‣ 加法混色 (光の三原色であることに注意) ←→ 色料の三原色
色を指定するには?
‣ openFrameworks で色を指定するには?
‣ ofSetColor を使用する
‣ ofSetColor (Red, Green, Blue, Alpha);
‣ それぞれの色の範囲は 0 ∼ 255
‣ Alphaは透明度をあらわす
‣ 色を指定した以降の図形に適用される
‣ 例:
‣ ofSetColor(0, 127, 255, 127);
// 前略
void testApp::draw(){
! // 2つの円を描く
! ofEnableAlphaBlending();
! ofSetColor(0, 127, 255, 200);
! ofCircle(130, 240, 50);
! ofSetColor(255, 127, 0, 200);
! ofCircle(190, 240, 50);
}
// 後略
やってみよう!!
‣ testApp.mm - draw( )関数
変更
やってみよう!!
‣ 色がついた!
参考:oFの命令を調べる
‣ たとえば、円以外の形を描きたくなったとき、どうやって調べ
る?
‣ リファレンスを参考にすると良い
‣ http://www.openframeworks.cc/documentation
‣ oFの全ての命令の解説が掲載されています
Let’s Try!
‣ iPhoneのキャンバス上に、円や (余裕があれば) 他の形で自由
に絵を描いてみる!!
応用:アニメーションの第一歩
‣ アニメーションするにはどうする?
‣ setup、update、draw をつかいこなす
‣ 初期値の設定 : setup
‣ 変化する部分 : update
‣ 描画 : draw
画面全体が回転するプログラム
‣ サンプルをみながら解説します!
‣ 01_03_RotateCircles

Weitere ähnliche Inhalte

Was ist angesagt?

デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるデジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるAtsushi Tadokoro
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えAtsushi Tadokoro
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門Atsushi Tadokoro
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようAtsushi Tadokoro
 
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013  第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズムMedia Art II 2013  第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズムAtsushi Tadokoro
 
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Atsushi Tadokoro
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!Atsushi Tadokoro
 
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1Atsushi Tadokoro
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001Teruaki Tsubokura
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworksAtsushi Tadokoro
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションAtsushi Tadokoro
 
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶopenFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶAtsushi Tadokoro
 
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswiftSwift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswiftTomohiro Kumagai
 
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)Takashi Yoshinaga
 
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現するiTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現するAtsushi Tadokoro
 
Async design with Unity3D
Async design with Unity3DAsync design with Unity3D
Async design with Unity3DKouji Hosoda
 
OpenCVの入り口
OpenCVの入り口OpenCVの入り口
OpenCVの入り口cct-inc
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングAtsushi Tadokoro
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス Atsushi Tadokoro
 

Was ist angesagt? (20)

デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるデジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
 
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013  第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズムMedia Art II 2013  第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
 
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
 
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
 
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶopenFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
 
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswiftSwift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
 
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
 
Glfw3,OpenGL,GUI
Glfw3,OpenGL,GUI Glfw3,OpenGL,GUI
Glfw3,OpenGL,GUI
 
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現するiTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
 
Async design with Unity3D
Async design with Unity3DAsync design with Unity3D
Async design with Unity3D
 
OpenCVの入り口
OpenCVの入り口OpenCVの入り口
OpenCVの入り口
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
 

Andere mochten auch

iTamabi 13  第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成する
iTamabi 13  第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成するiTamabi 13  第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成する
iTamabi 13  第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成するAtsushi Tadokoro
 
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたいYuto Matsukubo
 
擬人化で考えるオブジェクト指向
擬人化で考えるオブジェクト指向擬人化で考えるオブジェクト指向
擬人化で考えるオブジェクト指向yamada28go
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げるWataru Terada
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメYoji Kanno
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!Yuji Nojima
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門増田 亨
 
iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門聡 中川
 

Andere mochten auch (10)

iTamabi 13  第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成する
iTamabi 13  第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成するiTamabi 13  第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成する
iTamabi 13  第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成する
 
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
 
擬人化で考えるオブジェクト指向
擬人化で考えるオブジェクト指向擬人化で考えるオブジェクト指向
擬人化で考えるオブジェクト指向
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門
 

Ähnlich wie openFrameworks iOS 入門

SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する幸雄 村上
 
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門Hiramatsu Ryosuke
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜Yusuke SAITO
 
20140315 JAWS Days OpsWorks
20140315 JAWS Days OpsWorks20140315 JAWS Days OpsWorks
20140315 JAWS Days OpsWorksTeruo Adachi
 
20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発ta9mar
 
ようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへようこそ! Swift Playgroundsへ
ようこそ! Swift PlaygroundsへKinkumaDesign
 
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!Shinobu Okano
 
ぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS Appsぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS AppsEnsekiTT
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス5mingame2
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Hironori Sekine
 
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編Takashi Yoshinaga
 
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る![Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!Tomomi Imura
 
SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する幸雄 村上
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLTaisuke Fukuno
 
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Shinya Nakajima
 
OpsWorks事例紹介!ソニックガーデンのリモートワークを支えるリアルタイムツール”Remotty”の舞台裏(2014/03/15 - JAWS D...
OpsWorks事例紹介!ソニックガーデンのリモートワークを支えるリアルタイムツール”Remotty”の舞台裏(2014/03/15 - JAWS D...OpsWorks事例紹介!ソニックガーデンのリモートワークを支えるリアルタイムツール”Remotty”の舞台裏(2014/03/15 - JAWS D...
OpsWorks事例紹介!ソニックガーデンのリモートワークを支えるリアルタイムツール”Remotty”の舞台裏(2014/03/15 - JAWS D...Yoshihito Kuranuki
 

Ähnlich wie openFrameworks iOS 入門 (20)

SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する
 
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜
 
20140315 JAWS Days OpsWorks
20140315 JAWS Days OpsWorks20140315 JAWS Days OpsWorks
20140315 JAWS Days OpsWorks
 
20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発
 
ようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへ
 
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
 
Xamarin.Forms概要
Xamarin.Forms概要Xamarin.Forms概要
Xamarin.Forms概要
 
ぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS Appsぶっとびケータイ+Firefox OS Apps
ぶっとびケータイ+Firefox OS Apps
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
 
Archer
ArcherArcher
Archer
 
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編
 
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る![Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
 
SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
 
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
 
Swift勉強会
Swift勉強会Swift勉強会
Swift勉強会
 
RoboVM
RoboVMRoboVM
RoboVM
 
OpsWorks事例紹介!ソニックガーデンのリモートワークを支えるリアルタイムツール”Remotty”の舞台裏(2014/03/15 - JAWS D...
OpsWorks事例紹介!ソニックガーデンのリモートワークを支えるリアルタイムツール”Remotty”の舞台裏(2014/03/15 - JAWS D...OpsWorks事例紹介!ソニックガーデンのリモートワークを支えるリアルタイムツール”Remotty”の舞台裏(2014/03/15 - JAWS D...
OpsWorks事例紹介!ソニックガーデンのリモートワークを支えるリアルタイムツール”Remotty”の舞台裏(2014/03/15 - JAWS D...
 

Mehr von Atsushi Tadokoro

Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Atsushi Tadokoro
 
Interactive Music II Processing基本
Interactive Music II Processing基本Interactive Music II Processing基本
Interactive Music II Processing基本Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Atsushi Tadokoro
 
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くiTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くAtsushi Tadokoro
 
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリメディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリAtsushi Tadokoro
 
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使うAtsushi Tadokoro
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Atsushi Tadokoro
 
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Atsushi Tadokoro
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するAtsushi Tadokoro
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!Atsushi Tadokoro
 
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5  時間構造をつくるInteractive Music II SuperCollider入門 5  時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくるAtsushi Tadokoro
 
メディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くメディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くAtsushi Tadokoro
 
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 -  楽器を定義、変調合成(RM, AM, FM)Interactive Music II SuperCollider入門 4 -  楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)Atsushi Tadokoro
 
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するiTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するAtsushi Tadokoro
 
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)Atsushi Tadokoro
 

Mehr von Atsushi Tadokoro (19)

Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2
 
Interactive Music II Processing基本
Interactive Music II Processing基本Interactive Music II Processing基本
Interactive Music II Processing基本
 
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
 
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
 
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くiTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
 
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリメディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
 
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
 
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
 
Tamabi media131118
Tamabi media131118Tamabi media131118
Tamabi media131118
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
 
Geidai music131107
Geidai music131107Geidai music131107
Geidai music131107
 
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5  時間構造をつくるInteractive Music II SuperCollider入門 5  時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
 
メディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くメディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描く
 
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 -  楽器を定義、変調合成(RM, AM, FM)Interactive Music II SuperCollider入門 4 -  楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
 
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するiTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
 
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
 

openFrameworks iOS 入門