2017-09-07 20 views
0
var size = cc.winSize; 
    var scrollView = new ccui.ScrollView(); 
    scrollView.setDirection(ccui.ScrollView.DIR_VERTICAL); 
    scrollView.setTouchEnabled(true); 
    scrollView.setBounceEnabled(true); 
    scrollView.setBackGroundColorType(ccui.Layout.BG_COLOR_SOLID); 
    scrollView.setBackGroundColor(cc.color(255,255,255)); 
    //scrollView.setBackGroundImageScale9Enabled(true); 
    scrollView.setContentSize(cc.size(720, 1280)); 
    scrollView.setInnerContainerSize(cc.size(720, (1280*2))); 
    scrollView.setAnchorPoint(cc.p(0.5, 0.5)); 
    scrollView.setPosition(cc.p(360, 640)); 
    this.addChild(scrollView); 

ボタンの位置が途中から始まります。Cocos2dx - js - ScrollView - 配置できません。

enter image description here

 scrollView.setPosition(cc.p(360, 0)); 

私はy位置を変更した場合、それは別の表情を与えます。

enter image description here

答えて

0

私はあなたが私が最初にcocos2d-xと共に仕事を始めたときに私が作った同じ間違いを犯していると思います。私は、オブジェクトのアンカーポイントを変更すると、子の配置にも影響するという前提の下にありましたが、これはcocos2d-xの場合とは異なります。アンカー位置を変更すると、オブジェクト自体にのみ影響します。その子は常にオブジェクトの左下隅から配置されます。

スクロールビューのアンカーポイントを(0,0)に、その位置を(0,0)のままにすると、まったく同じ結果になります。

また、スクロールビューについていくつか指摘しておきます。

  • あなたは、スクロールビューにはaddChildを呼び出すと、それは今で内側容器の左下隅から配置されている内側容器ませスクロールビュー自体の子どもので(あなたのケースでは、すなわちボタン)に追加します。

  • 内側のコンテナが上にスクロールされるので、内側のコンテナの半分が画面の下にあります。

これが役立ちます。

関連する問題