cocos2d-xna CCScale9Sprite usage

| | August 8, 2015

I’m trying to get a CCControlButton to render on my game. Using a basic CCScale9Sprite as the button’s background works using the following:

var myScale9Sprite = CCScale9Sprite.Create(@"UIButton50x50");
var label = CCLabelTTF.Create("Return To City", "Arial", 70);

var button = CCControlButton.Create(label, myScale9Sprite);
button.Position = new CCPoint(200, 200);

AddChild(button);

The text doesn’t fit nicely in the button. As I understand it, CCScale9Sprite’s Inset properties are used to define how the content works. But every attempt I have made to use this property results in the background sprite disapearing completely. This is the offending code:

// Using a 50x50 image with a 10 pixel border
myScale9Sprite.CapInsets = new CCRect(10,10,30,30);

Any attempt to set Insets, using either CapInsets, InsetLeft, InsetRight, InsetTop, InsetBottom, or even specifying a CCRect in CCControlButton.Create results in the same issue.

Is my usage correct?

Is it just not implemented correctly in the xna branch? I had this issue with the build I have been using for the last 6 months, so downloaded the latest (2013/03/24) source from github and still have the same issue. Looking at the source, there’s nothing to suggest that its not implemented.

Leave a Reply