scoreLabel
是cocos节点。
scoreLabel.position = ccp(_dialogSprite.contentSize.width/2, _dialogSprite.contentSize.height/2 + 60);
现在我正在尝试将节点的位置转换为UIKit,因此UITextField将位于完全相同的位置。
CGPoint pnt = [[CCDirector sharedDirector] convertToUI:scoreLabel.position];
[txtField setFrame:CGRectMake(pnt.x, pnt.y, 200, 30)];
txtField
低得多,位于左侧。
答案 0 :(得分:0)
坐标是正确的,但您必须考虑UIView的原点:UIview锚定在其左上角,就好像它是一个cocos节点,其anchorPoint设置为0,1。
答案 1 :(得分:0)
Cocos2d和UI坐标之间的变化。
x - same
y = height - y
示例:
Cocos2d winsize =(480,320) 节点位置= ccp(100,200)
然后UI位置=(100,320-200)//(x,height-y)
正如LearnCocos2d所说,默认锚点在UIKit中为(0,0),在cocos2d中为(0.5,0.5)