第五节 初始化蛇
在GameLayer.h中添加 void SetSnake()函数
代码如下
void GameLayer::SetSnake(){
body.clear();
Size visiblesize = Director::getInstance()->getVisibleSize();
head = SnakeHead::create();
head->setNode(Sprite::create("SnakeHead.png"));
head->setPosition(Point(visiblesize.width/2-head->getNode()->getContentSize().width/2,visiblesize.height/2-head->getNode()->getContentSize().height/2));
this->addChild(head,1);
for (int i=1 ; i < 4; i++) {
Snake* bodynode = Snake::create();
bodynode->setNode(Sprite::create("Snake.png"));
bodynode->setPosition(Point(head->getPosition().x+i*bodynode->getNode()->getContentSize().width,head->getPosition().y));
body.pushBack(bodynode);
this->addChild(bodynode);
}
}
```
我们先初始化蛇头,然后设置蛇头的位置,注意到addchid函数中后面的参数了吧,假设其为z,z指该成员的层级(也可以说深度),z值大的成员在z值小的成员的上面;默认的z是0。除了z,addchild还有一个tag参数,这个参数可以让你可以方便的找到需要的成员,不过我们这里用不到。
好了初始化完蛇头之后,我们开始初始化蛇的身体,一开始,我们定义3个蛇的身体节点,和蛇头一样,先初始化蛇的身体节点,然后设置节点位置,最后将身体节点加入body中,并添加到layer里,这样整条蛇的初始化就结束了,将SetSnake函数添加到init函数中去吧。
本节结束(这节好短);
放一张效果图吧。


