もっと簡単な方法がありました。
以下古い情報
こんな感じに、フレームの枠素材とウィンドウサイズを指定すると、
フレームを周りにくっつけたウィンドウを生成するクラスです。
今のところ素材を適当に引き伸ばしていますが、
上下左右と四隅を追加するメソッドを作ってあるので、
引き伸ばしたくない場合はこのクラスを継承して、
ちゃんとした素材を追加するメソッドで置き換えればうまく行くはずです。
素材指定が面倒なので、一枚の素材から切り出したいなー
使い方
VariableWindow* window = VariableWindow::create(ccc4(0, 255, 255, 255),
CCSizeMake(100, 100), 10, 10,
"left_up.png", "right_up.png",
"left_down.png", "right_down.png",
"left_line.png", "right_line.png",
"up_line.png", "down_line.png");
window->setPosition(ccp(200, 200));
addChild(window);
window = VariableWindow::create(ccc4(255, 255, 255, 100),
CCSizeMake(300, 300), 40, 40,
"left_up.png", "right_up.png",
"left_down.png", "right_down.png",
"left_line.png", "right_line.png",
"up_line.png", "down_line.png");
window->setPosition(ccp(500, 200));
addChild(window);
window = VariableWindow::create(ccc4(255, 255, 255, 100),
CCSizeMake(100, 200), 4, 4,
"left_up.png", "right_up.png",
"left_down.png", "right_down.png",
"left_line.png", "right_line.png",
"up_line.png", "down_line.png");
window->setPosition(ccp(200, 350));
addChild(window);