読者です 読者をやめる 読者になる 読者になる

Twenties Dirtbag

イギリスの大学院で脳の勉強をしてきた25歳、今はボルダリングジムを経営中。基本的にどうでもいいはなしです。

Openframeworksでブロック崩しもどきを作る

2ヶ月くらい前に始めたOFですけれども、特に理由なくブロック崩しみたいなものを作ってみようというモチベーションがどこからか湧いてきたので作ります。

とりあえず、以下の要素があったらOKにしますした。

・ブロック的なものがある

・動く物がある

・動くものがブロックに当たるときえる

・動くものは下にいくと、ゲームオーバーになる

まあ、こんなかんじですねかね。

1. ブロック的なものがある。

これですけど、結構座標を計算してforでテキトウに回せば行けそうな気がしてそうやってやろうとしたんですけど、個人的に、自分で指定した位置にブロックを作りたくなって、マウスでクリックしてその位置にブロックを作ることにしました。

まずは、CustomCirckeという円を書くクラス(?)を作っておきました。そのあとはこんな感じで、マウスのクリックした場所をGetしたりしていくつかブロックをつくてみました。こんなかんじになりました

f:id:flowertyyyy:20161118003600p:plain

ソースは一部、こんな感じです〜!

void ofApp::mousePressed(int x, int y, int button){
    CustomCircle circle;
    circle.setPos(ofPoint(x,y));
    circle.setRadius(ofRandom(50,50));
    circles.push_back(circle);
void ofApp::draw(){
	
    for (int i=0; i<circles.size(); i++){
        float value = i;
		if(circles[i].getRadius() != 0){
        //ofDrawBitmapString("value: " + ofToString(value), 10, 10);
        circles[i].setWord(ofToString(value));
        circles[i].draw();
		}
		else {
			
		}
    }