如何在Cocos2d-x中设置CCLayer大小?

时间:2014-01-11 02:43:32

标签: cocos2d-x

我使用setContentSize但它不起作用。我不想在图层中缩放内容,因此我不会使用setScale

我该怎么办?

3 个答案:

答案 0 :(得分:2)

setContentSize应该如下所示。你是怎么做到的?

https://github.com/cocos2d/cocos2d-x/blob/master/samples/Cpp/TestCpp/Classes/LayerTest/LayerTest.cpp#L841

CCLayerGradient* layer1 = CCLayerGradient::create(ccc4(255, 0, 0, 255), ccc4(255, 0, 255, 255));
layer1->setContentSize(CCSizeMake(80, 80));

<强> EDITED

所以你的意思是你想按图层的内容大小剪辑图像?尝试使用CCClippingNodethis glScissor node example

答案 1 :(得分:0)

   Try! this it works for me.


CCSize screenSize   = CCDirector::sharedDirector()->getVisibleSize();
    float x = screenSize.width;
    float y = screenSize.height;
    CCLayer* layer = new MyLayer();

    float layerX = layer->getContentSize().width;
    float layerY= layer->getContentSize().height;

    float scaleX   = x/layerX;
    float scaleY   = y/layerY;
    layer->setScaleX(scaleX*1.2f);
    layer->setScaleY(scaleY*1.2f);

答案 2 :(得分:0)

也许?

auto layerInstance = LayerColor::create();
auto layerInstanceSize = layerInstance->getContentSize();
float layerInstanceSizeWidth = layerInstanceSize.width;
float layerInstanceSizeHeight = layerInstanceSize.height;