// 可以滚动区域的高度 float a = m_pScrollView->getInnerContainer()->getSize().height; // 滚动的距离 float b = m_pScrollView->getInnerContainer()->getPositionY();
今天项目中要实现一个功能,设计分辨率是480 * 800,背景图的尺寸是480 * 1211,里面还有个关卡选择(scrollview)。要求拖动关卡的scrollview,背景图也要动,当scrollview运动到最上面时,背景图也要运动到最上面。
实现代码:
// 可以滚动区域的高度
float a = m_pScrollView->getInnerContainer()->getSize().height;
// 滚动的距离
float b = m_pScrollView->getInnerContainer()->getPositionY();
m_pBgSpr->setPositionY( startY + ( b * ( bgH - viewSize.height ) / ( a - viewSize.height ) ) );
注:m_pBgSpr:背景图,startY:背景图刚开始加载进来时候的纵坐标,b:滚动的距离,bgH:背景图的高度 ,viewSize:设计分辨率尺寸,a:可以滚动区域的高度