cocos2d-x

cocos2d-xのScrollViewでスクロールの現在位置を移動させる

やりたかったこと

たくさんの子要素が縦並びで入っているScrollViewで任意の場所にスクロールの現在位置を移動させたい。

やりかた

    auto *scroll = ScrollView::create();
    …中略…
    scroll->setInnerContainerPosition(Vec2(0,[任意の位置]));

雑記

Webで調べた時は setContentOffset() かな?と思ってたけど、v3.16では該当するメソッドが無くなっていた。

0を指定すると一番下、マイナスを指定すると上に位置が移動する模様。

追記1 (2018/04/19 23:48)

その後調べていたら一番下に移動したいのであればそのものズバリな scrollToBottom() があったのでそちらを使う手もありそう。

    scroll->scrollToBottom(0,false);

第1引数は移動完了までの秒数、第2引数で速度の減衰をさせるかを指定出来る模様。