10. シーン切替え:testApp
‣ testApp.h
#pragma once
#include "ofMain.h"
#include "baseScene.h"
#include "SceneA.h"
#include "SceneB.h"
#include "SceneC.h"
!
class testApp : public ofBaseApp {
public:
void
void
void
void
void
void
void
void
void
void
setup();
update();
draw();
keyPressed (int key);
keyReleased(int key);
mouseMoved(int x, int y );
mouseDragged(int x, int y, int button);
mousePressed(int x, int y, int button);
mouseReleased(int x, int y, int button);
windowResized(int w, int h);
vector <baseScene *> scenes; //複数のシーンを格納する動的配列
int currentScene; //現在のシーン番号
};
11. シーン切替え:testApp
‣ testApp.cpp (1 of 3)
#include "testApp.h"
!
void testApp::setup(){
ofSetFrameRate(60);
//シーンを新規の生成し、配列に追加
baseScene * sa = new SceneA();
scenes.push_back(sa);
baseScene * sb = new SceneB();
scenes.push_back(sb);
baseScene * sc = new SceneC();
scenes.push_back(sc);
//現在のシーンを0に
currentScene = 0;
scenes[currentScene]->setup();
}
!
void testApp::update(){
//現在表示しているシーンを更新
scenes[currentScene]->update();
}
13. シーン切替え:testApp
‣ testApp.cpp (3 of 3)
!
void testApp::keyReleased(int key){
scenes[currentScene]->keyReleased(key);
}
!
void testApp::mouseMoved(int x, int y ){
scenes[currentScene]->mouseMoved(x, y);
}
!
void testApp::mouseDragged(int x, int y, int button){
scenes[currentScene]->mouseDragged(x, y, button);
}
!
void testApp::mousePressed(int x, int y, int button){
scenes[currentScene]->mousePressed(x, y, button);
}
!
void testApp::mouseReleased(int x, int y, int button){
scenes[currentScene]->mouseReleased(x, y, button);
}
!
void testApp::windowResized(int w, int h){
scenes[currentScene]->windowResized(w, h);
}