我使用setContentSize
但它不起作用。我不想在图层中缩放内容,因此我不会使用setScale
。
我该怎么办?
答案 0 :(得分:2)
setContentSize应该如下所示。你是怎么做到的?
CCLayerGradient* layer1 = CCLayerGradient::create(ccc4(255, 0, 0, 255), ccc4(255, 0, 255, 255));
layer1->setContentSize(CCSizeMake(80, 80));
<强> EDITED 强>
所以你的意思是你想按图层的内容大小剪辑图像?尝试使用CCClippingNode
或this 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;