Catégories
Liens
Ceci est une ancienne révision du document !
Pour commencer, il faut trois fichiers : main.cpp, ofApp.h et ofApp.cpp. Ces fichiers sont générés par le ProjectGenerator.
#include "ofMain.h" #include "ofApp.h" int main( ){ ofSetupOpenGL(700,700,OF_WINDOW); ofRunApp(new ofApp()); }
#pragma once #include "ofMain.h" class ofApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void keyPressed(int key); void keyReleased(int key); void mouseMoved(int x, int y ); void mouseDragged(int x, int y, int button); void mousePressed(int x, int y, int button); voi mouseReleased(int x, int y, int button); void windowResized(int w, int h); void dragEvent(ofDragInfo dragInfo); void gotMessage(ofMessage msg); };
#include "ofApp.h" int myCircleX = 250; int myCircleY = 100; int myCircleRadius = 50; int red = 255; bool bg = true; void ofApp::setup(){ ofSetRectMode(OF_RECTMODE_CENTER); } void ofApp::update(){ } void ofApp::draw(){ if (bg) ofBackground(0); ofSetColor(255); ofNoFill(); ofRect(100, 100, 100, 100); ofFill(); ofSetColor(red, 255, 255); ofCircle(myCircleX, myCircleY, myCircleRadius); ofSetColor(255); ofNoFill(); ofEllipse(400, 100, 80, 100); ofTriangle(500, 150, 550, 50, 600, 150); ofLine(700, 50, 700, 150); if (ofGetMousePressed(OF_MOUSE_BUTTON_LEFT)) { ofFill(); float randomColor = ofRandom(50, 255); ofSetColor(randomColor); ofRect(ofGetMouseX(), ofGetMouseY(), 50, 50); } if (ofGetMousePressed(OF_MOUSE_BUTTON_RIGHT)) { bg = !bg; ofSetBackgroundAuto(bg); } } void ofApp::keyPressed(int key){ if (key == 's') { glReadBuffer(GL_FRONT); // HACK: only needed on windows ofSetAutoBackground(false) ofSaveScreen("savedScreenshot_"+ofGetTimestampString()+".png"); } } void ofApp::mouseMoved(int x, int y ){ float distance = ofDist(myCircleX, myCircleY, x, y); if(distance < myCircleRadius){ red=0; } else { red=255; } } void ofApp::mousePressed(int x, int y, int button){ float distance = ofDist(myCircleX, myCircleY, x, y); if(distance < myCircleRadius){ myCircleRadius=myCircleRadius*1.1; } }
// From Fleeing Triangle Brush : ofBook (https://github.com/openframeworks/ofBook). // Copyright (c) 2014 Michael Hadley, mikewesthad.com #include "ofApp.h" void ofApp::setup(){ ofSetFrameRate(60); ofSetBackgroundAuto(false); ofBackground(0); } void ofApp::update(){ } void ofApp::draw(){ if (ofGetMousePressed(OF_MOUSE_BUTTON_LEFT)) { int numTriangles = 10; int minOffset = 5; int maxOffset = 70; int alpha = 150; for (int t=0; t<numTriangles; ++t) { float offsetDistance = ofRandom(minOffset, maxOffset); // Distance ofVec2f mousePos(ofGetMouseX(), ofGetMouseY()); // Mouse //Triangle at the origin (0,0) that points to the right ofVec2f p1(0, 6.25); ofVec2f p2(25, 0); ofVec2f p3(0, -6.25); // Rotation degrees float rotation = ofRandom(360); p1.rotate(rotation); p2.rotate(rotation); p3.rotate(rotation); ofVec2f triangleOffset(offsetDistance, 0.0); triangleOffset.rotate(rotation); p1 += mousePos + triangleOffset; p2 += mousePos + triangleOffset; p3 += mousePos + triangleOffset; ofColor aqua(0, 252, 255, alpha); ofColor purple(198, 0, 205, alpha); ofColor inbetween = aqua.getLerped(purple, ofRandom(1.0)); ofSetColor(inbetween); ofTriangle(p1, p2, p3); } } if (ofGetMousePressed(OF_MOUSE_BUTTON_RIGHT)) { ofBackground(0); // Erase the screen with a black background } } void ofApp::keyPressed(int key){ if (key == 's') { glReadBuffer(GL_FRONT); // HACK for windows ofSaveScreen("savedScreenshot_"+ofGetTimestampString()+".png"); } }