2017-09-07 50 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上滚动视图添加它们到内部容器不滚动视图本身,以便孩子(即你的情况按钮)现在被定位为与内部容器的左下角。

  • 内部容器开始滚动到顶部,因此在您的情况下,内部容器的一半位于屏幕下方。

希望这有助于!