0

我正在使用 Sprite Builder 并创建了一个滚动视图来创建可以水平滚动的条纹球员列表选择。

PlayerListContainer.ccb:滚动视图容器

  • 在启用水平滚动和启用反弹的情况下获取宽度:300、高度:320 的滚动视图。
  • 选择 Content 节点为 PlayerList.ccb (因此需要创建另一个 PlayerList.ccb 类)

PlayerListContainer.swift - 注意主要但只调用回调函数。

PlayerList.ccb : 主列表 - 以 CCNode 为宽度,高度为 300,320 PlayerList.swift

//
//  PlayerList.swift
//  tsb
//
//  Created by Paresh Thakor on 27/12/15.
//  Copyright (c) 2015 Apportable. All rights reserved.
//

import Foundation

//let Pi = CGFloat(M_PI)
//let degreesToRadians = CGFloat(Pi / 180)
//let radiansToDegrees = CGFloat(180 / Pi)

class PlayerList: CCNode {
    //weak var __horizontalLayout: CCLayoutBox!
    //weak var __container: CCScrollView!
    weak var __node: CCNode!
    var userDefaults = NSUserDefaults.standardUserDefaults()

    override init!() {
        super.init()
        NSLog("init Player list")
    }

    func didLoadFromCCB() {
        NSLog("Player list loaded")

        __node.contentSizeType = CCSizeTypeNormalized
        //__node.contentSizeInPoints = CGSizeMake(1000, 500)
        __node.contentSize = CGSizeMake(3, 1)

        // Add player children to select
        for (var i = 0; i<20; i++) {   
            let playerBox = CCNodeColor(color: CCColor.redColor())
            //playerBox.contentSize = CGSizeMake(50, 50)

            let player = CCSprite(imageNamed: "ccbResources/playerBall.png")
            playerBox.contentSize = CGSizeMake(player.contentSizeInPoints.width+20, player.contentSizeInPoints.height+20)
            playerBox.position = ccp(CGFloat(5)+((playerBox.contentSizeInPoints.width+CGFloat(5)) * CGFloat(i)),5)

            player.position = ccp(playerBox.contentSizeInPoints.width/2, playerBox.contentSizeInPoints.height/2)
            playerBox.addChild(player)

            __node.addChild(playerBox)
        }

        //self.contentSizeInPoints = CGSizeMake(20*50, 50)
        self.userInteractionEnabled = true
        self.color = CCColor(UIColor: UIColor.greenColor())
    }
}

这有效,但没有显示滚动视图。这将加载我们放置的无限盒子。

此滚动视图不会向右滚动,等等。没有任何反应。

有人可以告诉我吗?

4

0 回答 0