我對Cocos 2D-X很新,但在C++中有一些體面的背景。我有一個精靈_rocket
(綁在Box2D身上)偶爾會移動到屏幕的可見視圖之外。我希望視圖能夠在精靈接近屏幕邊緣時自動縮小,以使精靈始終處於視圖中。當精靈回到原始視圖框架時,視圖應該縮回到原始大小。在Cocos 2D-X中放大和縮小場景3.2
我能夠用在更新功能下面的代碼縮小:
Size winSize = Director::getInstance()->getWinSize();
if ((_rocket->getPosition().x - _rocket->getContentSize().width/2 < 10.0) ||
(_rocket->getPosition().x + _rocket->getContentSize().width/2 > winSize.width - 10.0) ||
(_rocket->getPosition().y - _rocket->getContentSize().width/2 < 10.0) ||
(_rocket->getPosition().y + _rocket->getContentSize().width/2 > winSize.height - 10.0))
{
this->setScale(this->getScale()-0.005);
}
然而,由於winSize
不更新,這基本上是鱗片永遠,直到精靈返回到原來的看法。我不知道如何更新winSize
,以便它可以反覆使用來查找屏幕的邊緣。解決這個問題也可能有一個更簡單的方法。