Node还有两个非常重要的属性:position和anchorPoint。
position(位置)属性是Node对象的实际位置。position属性往往还要配合使用anchorPoint属性,为了将一个Node对象(标准矩形图形)精准的放置在屏幕某一个位置上,需要设置该矩形的锚点,anchorPoint是相对于position的比例,默认是(0.5,0.5)。我们看看下面的几种情况:
以anchorPoint为(0.5,0.5)为例,这是默认情况。
下面是anchorPoint为(0.0,0.0)情况。
下面是anchorPoint为(1.0,1.0)情况。
下面是anchorPoint为(0.5,0.66)情况。
为了进一步了解anchorPoint使用,我们修改HelloWorld实例,修改HelloWorldScene.cpp的HelloWorld::init()函数如下,其中加粗字体显示的是我们添加的代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<span style=
"font-size:14px;"
>
bool
HelloWorld::init()
{
… …
auto
label = LabelTTF::create(
"Hello World"
,
"Arial"
, 24);
label->setPosition(Point(origin.x + visibleSize.width/2,
origin.y +visibleSize.height - label->getContentSize().height));
label->setAnchorPoint( Point(1.0, 1.0) );
this
->addChild(label, 1);
auto
sprite = Sprite::create(
"HelloWorld.png"
);
sprite->setPosition(Point(visibleSize.width/2 + origin.x,visibleSize.height/2 + origin.y));
this
->addChild(sprite, 0);
return
true
;
}</span>
|
Hello World设置了anchorPoint为(1.0,1.0)。
本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1416616,如需转载请自行联系原作者