文章撰寫日期︰2013/11/30 18:42 cocos2d-x使用版本︰2.1.5
一、問題
今天在使用ControlButton時, 程式跳到bool CCSize::equals(const CCSize& target) const { return (fabs(this->width - target.width) < FLT_EPSILON) && (fabs(this->height - target.height) < FLT_EPSILON); }報EXC_BAD_ACCESS導致crash問題。
二、解決辦法
ControlButton在初始化時,由Sample我們看到code如下
// Creates and return a button with a default background and title color. var backgroundButton = cc.Scale9Sprite.create(s_extensions_button); var backgroundHighlightedButton = cc.Scale9Sprite.create(s_extensions_buttonHighlighted); var titleButton = cc.LabelTTF.create(title, "Marker Felt", 30); titleButton.setColor(cc.c3b(159, 168, 176)); var button = cc.ControlButton.create(titleButton, backgroundButton); button.setBackgroundSpriteForState(backgroundHighlightedButton, cc.CONTROL_STATE_HIGHLIGHTED); button.setTitleColorForState(cc.WHITE, cc.CONTROL_STATE_HIGHLIGHTED);
從上面的code中我們看到
ControlButton的create方式是接收一個LabelTTF和Scale9Sprite參數,
Scale9Sprite不得換為Sprite,
否則ControlButton在建立時會岀現本文遇到的錯誤。
沒有留言 :
張貼留言