0

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低得多,在左侧。

4

2 回答 2

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)

于 2013-05-05T18:56:29.327 回答
0

坐标是正确的,但是您必须考虑 UIView 的原点: UIview 锚定在其左上角,就好像它是其 anchorPoint 设置为 0,1 的 cocos 节点一样。

于 2013-05-05T13:52:43.213 回答