要在一个tick之后才能正确获得size,所以可以采取提前加载的方式处理。
this.playerTouchlistener = cc.EventListener.create(
{
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true,
onTouchBegan: function(touch, event) { cc.log("onTouchBegan"); return true;},
onTouchMoved: function(touch, event) {cc.log("onTouchMoved"); return false;},
onTouchEnded: function(touch, event) {
cc.log("onTouchEnded");
var point = touch.getLocation();
var target = event.getCurrentTarget();
var locationInNode = target.convertToNodeSpace(point);
var targetSize = target.getContentSize();
var rect = cc.rect(0,0,targetSize.width,targetSize.height);
cc.log("contain point=" + cc.rectContainsPoint(rect, locationInNode));
if (cc.rectContainsPoint(rect, locationInNode))
{
}
return true;
}
}
);
cc.eventManager.addListener(this.playerTouchlistener, this.m_rootPanel);
var that = this;
this.playerTouchlistener = cc.EventListener.create(
{
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true,
onTouchBegan: function(touch, event) { cc.log("onTouchBegan"); return true;},
onTouchMoved: function(touch, event) {cc.log("onTouchMoved"); return false;},
onTouchEnded: function(touch, event) {
// mars:todo move to onTouchEnd
cc.log("onTouchEnded");
var point = touch.getLocation();
var target = event.getCurrentTarget();
var locationInNode = target.convertToNodeSpace(point);
var targetSize = target.getContentSize();
var rect = cc.rect(0,0,targetSize.width,targetSize.height);
cc.log("contain point=" + cc.rectContainsPoint(rect, locationInNode));
if (!cc.rectContainsPoint(rect, locationInNode))
{
UIMgr.getInstance().CloseView(that); // 不能使用this
}
return true;
}
}
);
cc.eventManager.addListener(this.playerTouchlistener, this.m_rootPanel);
var element = new ccui.RichElementText(1, new cc.Color(255,255,255, 255), 255, "一二三四五六七八一二三四五六七八", "Font/FZPC-HT.TTF", 22);
var color = new cc.Color(255,255,255, 255);
var parent = this._getRecruitConditionPanel();
var richText = new ccui.RichText();
richText.pushBackElement(element);
richText.setContentSize(parent.getContentSize());
richText.ignoreContentAdaptWithSize(false);
richText.formatText();
parent.addChild(richText);
####