2017-09-07 48 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上滾動視圖添加它們到內部容器不滾動視圖本身,以便孩子(即你的情況按鈕)現在被定位爲與內部容器的左下角。

  • 內部容器開始滾動到頂部,因此在您的情況下,內部容器的一半位於屏幕下方。

希望這有助於!