万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1

    CCScrollViewにハマる cocos2d-x 2.x

    void CCBPartsAbilityEncyclopediaContainer::scrollViewDidScroll(
        CCScrollView* view) {
        CCLOG("%f", view->getContentOffset().y);
    }

    ここでyがなぜか0にリセットすること。

    デフォルト値は

        CCLOG("before scroll_view width %f", scroll_view->getContentSize().width);
        CCLOG("before scroll_view height %f", scroll_view->getContentSize().height);
    2015-07-03 18:23:44 before scroll_view width 268.000000
    2015-07-03 18:23:44 before scroll_view height 429.000000

    スクロールビューの横幅 268 スクロールビューの縦幅 429 のようだ。

    container->getContentSize().height;

    コンテナをスクロールビューのセット、

    scroll_view->setContainer(container);

    これをしておけば勝手にコンテナをスクロールビューの大きさを揃えてくれる。

    これは見せたい部分の大きさ。

    scroll_view->setViewSize(CCSize(size.width, view_height));

    yが0となっていた挙動は正しい動きで、すでにスクロールが終了したと認識していた模様。

    setViewSizeで設定した値よりも、スクロールビューの縦が小さいのはそもそもだが、 たとえ、

    scroll_view->setDirection(kCCScrollViewDirectionVertical);

    で縦スクロールにしてあっても、横も小さいとダメ。

    ちなみにここで聞いていた。