仿照“我叫MT”的控件
代码如下:
local function createBanner() local layerFarm = CCNode:create() local cache = CCSpriteFrameCache:sharedSpriteFrameCache() cache:addSpriteFramesWithFile("pic.plist") local spritebatch = CCSpriteBatchNode:create("pic.png") layerFarm:addChild(spritebatch) local bg = CCSprite:createWithSpriteFrameName("bg.png") spritebatch:addChild(bg) cclog("The size of bg is: %0.2f, %0.2f", bg:getContentSize().width, bg:getContentSize().height) local px = bg:getContentSize().width / 2; local py = bg:getContentSize().height /2; local head01 = CCSprite:createWithSpriteFrameName("head01.png") spritebatch:addChild(head01) head01:setAnchorPoint(ccp(0, 0.5)); head01:setPosition(-px, 0); local lv = CCSprite:createWithSpriteFrameName("lv.png") spritebatch:addChild(lv); lv:setPosition(-px + 10, -py + 10); lv:setAnchorPoint(ccp(0, 0)); local name = CCLabelTTF:create("yyyy", "Arial", 24) layerFarm:addChild(name); name:setAnchorPoint(ccp(0, 0)); name:setPosition(-135, 5); local hp = CCLabelTTF:create("7569", "Arial", 24) layerFarm:addChild( hp); hp:setAnchorPoint(ccp(0, 0)); hp:setPosition(-140, -35); local zhandou = CCLabelTTF:create("2334", "Arial", 24) layerFarm:addChild( zhandou); zhandou:setAnchorPoint(ccp(0, 0)); zhandou:setPosition(-25, -35); return layerFarm; end local function createLayerFarm() local layerFarm = createBanner() layerFarm:setScale(0.8); layerFarm:setPosition(origin.x + visibleSize.width / 2 , origin.y + visibleSize.height / 2) return layerFarm; end
按钮控件
local function createBtn(name, callback) local pMainBtn = CCMenuItemSprite:create( CCSprite:createWithSpriteFrameName("d_"..name..".png"), CCSprite:createWithSpriteFrameName("d_"..name.."_s.png"), CCSprite:createWithSpriteFrameName("d_"..name.."_s.png")); pMainBtn:registerScriptTapHandler(callback) pMainBtn:setAnchorPoint(ccp(0, 0)) return pMainBtn; end local function createButtoms() local node = CCNode:create(); local cache = CCSpriteFrameCache:sharedSpriteFrameCache() cache:addSpriteFramesWithFile("images/gTopper.plist", "images/gTopper.png"); local function cbHome() cclog("home") end local function cbFuben() cclog("cbFuben") end local function cbZhandou() cclog("cbZhandou") end local function cbStore() cclog("cbStore") end local function cbFriends() cclog("cbFriends") end local function cbGonglve() cclog("cbGonglve") end local bHome = createBtn("home", cbHome); local bFuben = createBtn("fuben", cbFuben); local bZhandou = createBtn("zhandou", cbZhandou); local bStore = createBtn("store", cbStore); local bFriends = createBtn("friends", cbFriends); local bGonglve = createBtn("gonglve", cbGonglve); local menu = CCMenu:create() menu:addChild(bHome) menu:addChild(bFuben) menu:addChild(bZhandou) menu:addChild(bStore) menu:addChild(bFriends) menu:addChild(bGonglve) local size = bHome:getContentSize().width; local gap = 8 bHome:setPosition(-3*(size + gap), 0) bFuben:setPosition(-2*(size + gap), 0) bZhandou:setPosition(-1*(size + gap), 0) bStore:setPosition(0*(size + gap), 0) bFriends:setPosition(1*(size + gap), 0) bGonglve:setPosition(2*(size + gap), 0) menu:setPosition( 0, origin.y + visibleSize.height / 2) node:addChild(menu) return node end
toluafix, CCNode::registerScriptHandler, toluafix_isfunction