スポンサーリンク

openFrameworks

openframeworksパックマンエフェクト

投稿日:

openframeworksのチュートリアルを行い図形を動かし、図形を端まで行ったら300px;に戻るというコードを書く。
これもHellowの一環だけど、移動をさせるというスクリプト、Processingでも行ったがギターのコードと同じで基本を勉強したほうがいいと思うので。
パックマンエフェクト、特定の位置まで行ったら300pxに戻るというコードを書いた。

setupの設定

void testApp::setup(){
    myCircleX = 300;
    myCircleY = 200;
}

まずはセットアップこれは基本です。一度だけ呼び出される。x座標、y座標なので0,0でいったら0座標です。
ここから図形の移動をどんどんと行っていきます。

図形を動かす

void testApp::draw(){
    myCircleX = myCircleX + 1; 
    //xに+1をどんどんすることにより横に1pxずつ動きます。

    ofSetColor(255, 0, 255);
    ofCircle(myCircleX, myCircleY, 60);
}

ということは ++というインクリメントも使用できるので、

void testApp::update(){
    myCircleX++;
}

void testApp::draw(){
    ofSetColor(255, 0, 255);
    ofCircle(myCircleX, myCircleY, 60);
}

と記述することがきます。






フレームレートの指定

void testApp::update()を行うことでマイフレームに動きを加えることができます。
なのでスピードを加えるのとフレームレートを変更することにより1秒に何枚の絵を使うというのがフレームレートなので
ofSetFrameRate(60);を追加すると60枚の絵を使用するので動きが滑らかになるので追加。
ちなみに29.8ftpはテレビのフレームになります、自分の覚書。

条件分岐

void testApp::update(){
    myCircleX++;
    if(myCircleX > 1024) //myCircleXが1024を越えたら
    {
        myCircleX = 300; //300に戻る
    }
}

もし”myCircleX”がステージの大きさ1024よりを越えたら myCircleX = 300;
に移動を行います。結果がTrueなら、myCircleXを300にセットします。

実行結果

Originally posted 2016-01-14 11:10:59.

スポンサーリンク

-openFrameworks
-, ,

Copyright© office606 , 2023 All Rights Reserved Powered by STINGER.