我正在尝试在cocos2d-x中开发游戏,并希望场景中的一个图像在一行中重复10次。可以在函数中执行它并使用setPosition再次调用它,无论我想要那个图像吗?
假设函数名称为point()
,其中我有缺位:
auto sprite = Sprite::create("point.png");
和函数返回精灵。
所以我可以使用该函数在其中创建一个精灵,并将其称为
point()->setPosition(40, 40);
答案 0 :(得分:0)
Sprite* GenerateScene::point()
{
auto sprite6 = Sprite::create("point.png");
sprite6->setAnchorPoint(Vec2(0.0, 0.0));
return sprite6;
}
bool GenerateScene::init()
{
auto sprite = Sprite::create("bkgnd.png");
sprite->setAnchorPoint(Vec2(0.0, 0.0));
sprite->addChild(point());
sprite->setPosition(0, 0);
point()->setPosition(120, 480);
}
这段代码只在背景图像的(0,0)位置产生“point.png”,即左下角。它没有考虑
point()->setPosition(120, 480);
语句。
由于
答案 1 :(得分:0)
Sprite的目的是在屏幕上重复一个图像。
如果查看Sprite :: create源,您会看到使用相同的图像创建10个精灵不会创建并加载10个图像。相反,有SpriteFrameCache
缓存实际图像。 10个Sprite中的每一个都只是对场景中该一个图像的实例的轻量级引用。