美好的一天,
我正在编写一个无限滚动视差的代码,但我似乎无法正确执行此操作。
这是我的代码:
Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
auto mountainSprite = Sprite::create( "Mountain.png" );
auto treesSprite = Sprite::create( "Trees.png" );
auto housesSprite = Sprite::create( "Houses.png" );
auto paraNode = ParallaxNode::create();
paraNode->addChild(mountainSprite, -1, Vec2(0.4f,0.5f), Vec2(800,480));
paraNode->addChild(treesSprite, 1, Vec2(2.2f,1.0f), Vec2(800,480));
paraNode->addChild(housesSprite, 2, Vec2(3.0f,2.5f), Vec2(800,480));
结果是黑屏。
另外,我有这个后续问题:
我可以在这里用“Point(x,y)”替换“Vec2(float xx,float yy)”吗?因为它似乎不是cocos2d-x版本3.6?什么是“ccp(x,y)”?哪个更好Vec2,Point或ccp?
这个“addChild(Node * child,int z,const Vec2& parallaxRatio,const Vec2& positionOffset)”的“positionOffset”是什么?来自链接:ParallaxNode Class Reference
我尝试了这个教程:Raywenderlich Parallax Tutorial,但是不明白,有人能解释一下吗?令我困惑的是那些“ CCSprite ”与“Sprite”相同,为什么?,“ CCParallaxNode ”与“ParallaxNode”相同,为什么呢?
什么是“ [self addChild: _backgroundNode z:-1 ] ”这是这个 与“ this-> addChild(节点)”相同?
对任何问题的任何答案或建议表示赞赏。 谢谢:D
答案 0 :(得分:0)
this->addChild(paraNode);
试试这个。