auto 変数 = Sprite::create( ファイル名 );Spriteインスタンスの作成は、createメソッドを利用します。引数には、ファイル名を指定します。これで、「Resources」フォルダ内から指定の名前のファイルを探し、それを読み込んでインスタンスを作成します。「Resources」フォルダ内に更にフォルダ分けをして整理してあるような場合は、Resources内の相対パスを記述すればよいでしょう。例えば、「res」フォルダを作ってその中にしまってあるなら、"res/character.png"とするわけです。
《Sprite》->setAnchorPoint(《Vec2》);アンカーポイントは、前回Labelで説明しました。ウィジェットの中心地点となるものを設定するためのメソッドでしたね。これはVec2を使って縦横の位置を設定します。値は、0~1の実数で指定します。《Sprite》->setPosition( 横 , 縦 );これは、既にLabelでもやりましたね。表示位置の設定は、setPositionを使います。引数には、2つの位置の値(横方向と縦方向)をそれぞれ引数に指定するか、あるいはベクターデータをまとめて扱うVec2を利用します。
《Sprite》->setPosition(《Vec2》);
《Sprite》->setScale( float値 );位置だけでなく、大きさを設定することもできます。通常、スプライトはロードしたイメージを等倍(倍率1.0)で表示しています。これを変更して、拡大縮小するのがこのメソッドです。setScaleは、縦横を同じ比率で拡大縮小します。横方向だけならsetScaleX、縦方向ならsetScaleYを利用できます。いずれも、倍率で設定します。例えば縦横2倍の大きさにしたければ、setScale(2.0)というようにします。
《Sprite》->setScaleX( float値 );
《Sprite》->setScaleY( float値 );
《Sprite》->setRotation( float値 );スプライトは、表示するイメージを好きな角度に回転することができます。setRotationは、回転する角度を指定するだけでそのイメージの向きを変えることができます。例えば、setRotation(90.0)なら、イメージを右回りに90度回転します。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
#pragma execution_character_set("utf-8")
#include "HelloWorldScene.h"
USING_NS_CC;
Scene* HelloWorld::createScene()
{
auto scene = Scene::create();
auto layer = HelloWorld::create();
scene->addChild(layer);
return scene;
}
bool HelloWorld::init()
{
if (!Layer::init())
{
return false;
}
Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
Director::getInstance()->setDisplayStats(false); // stats OFF
auto sprite = Sprite::create("character.png");
sprite->setAnchorPoint(Vec2(0.5, 0.5));
sprite->setPosition(Vec2(origin.x + 100,
origin.y + visibleSize.height / 2));
sprite->setScale(2.0);
sprite->setRotation(90.0);
this->addChild(sprite, 1);
return true;
}
| << 前へ | 次へ >> |