tima620のゆらぎ

「のlog.txt」を畳み、「の」が崩御し、「のはざま」をはさんだ後に生まれた「のゆらぎ」

Cocos2d-x勉強_肉の表示・回転・拡大

時間無いので少しだけ。
こないだ作ったHelloWorldからほんの少し進むよ。


まず画像を準備。

肉。個人的な「いつもの」ってヤツです。MEETライセンスです。
niku.pngって名前で保存。


これをリソースの所に置く。

C:\cocos2d-x-2.2\projects\HelloWorld\Resources


プロジェクトを開いて、ClassesのHelloWorldScene.cppのbool HelloWorld::init()を見る。

    // 3. add your codes below...
(中略)
    this->addChild(pSprite, 0);

    return true;

だって。あまり考えず書いてみよう。

    // 3. add your codes below...
(中略)
    this->addChild(pSprite, 0);

----ここから追加----
    CCSprite* niku = CCSprite::create("niku.png");
    niku->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
    this->addChild(niku,0);
----ここまで追加----

    return true;


実行。

てってれー。


で終わろうと思ったけど、もうちょいやろう。
回転と拡大やろう。

    // 3. add your codes below...
(中略)
    this->addChild(pSprite, 0);

    CCSprite* niku = CCSprite::create("niku.png");
    niku->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
----ここから追加----
    niku->setRotation(90.0);
    niku->setScaleX(1.5);
    niku->setScaleY(0.5);
----ここまで追加----
    this->addChild(niku,0);

    return true;


実行。

わーい。


しかしこんなところにSprite突っ込んでええんかー?とかちょっと考える。
HelloWorldScene.hを見る。

class HelloWorld : public cocos2d::CCLayer

ってことはこのクラスはLayerなんだねえ。構造的にはSpriteのこと書いてるのは納得かな。
(でもファイル名はSceneなんだなあ?)
niku書いたところの関数名はinitだから、HelloWorld(Layer)が生まれる瞬間に持つSprite等を書く場所っぽいね。
というわけでひとまずはここで良さそうっすね。


次回はファイル名Sceneの謎に迫るか、肉を動かす。