Openframeworksでブロック崩しもどきを作る
2ヶ月くらい前に始めたOFですけれども、特に理由なくブロック崩しみたいなものを作ってみようというモチベーションがどこからか湧いてきたので作ります。
とりあえず、以下の要素があったらOKにしますした。
・ブロック的なものがある
・動く物がある
・動くものがブロックに当たるときえる
・動くものは下にいくと、ゲームオーバーになる
まあ、こんなかんじですねかね。
1. ブロック的なものがある。
これですけど、結構座標を計算してforでテキトウに回せば行けそうな気がしてそうやってやろうとしたんですけど、個人的に、自分で指定した位置にブロックを作りたくなって、マウスでクリックしてその位置にブロックを作ることにしました。
まずは、CustomCirckeという円を書くクラス(?)を作っておきました。そのあとはこんな感じで、マウスのクリックした場所をGetしたりしていくつかブロックをつくてみました。こんなかんじになりました
ソースは一部、こんな感じです〜!
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 { } }