Cocos2dx-lua plist文件组合显示卡牌

xiaoxiao2021-02-28  79

效果图:

资源链接:http://pan.baidu.com/s/1pKHBTlp

main.lua

cc.FileUtils:getInstance():setPopupNotify(false) cc.FileUtils:getInstance():addSearchPath("/res") require "config" require "cocos.init" local function main() cc.Director:getInstance():runWithScene(require("app.views.MainScene"):create()) end local status, msg = xpcall(main, __G__TRACKBACK__) if not status then print(msg) end MainScene.lua

local MainScene = class("MainScene", function() return cc.Scene:create() end) function MainScene:ctor() local layer = cc.Layer:create() layer:addTo(self) layer:addChild(display.newSprite("bg_0.jpg"):move(display.center)) local startBtn = cc.Sprite:create("GameScene_nn.png", cc.rect(760,0,250,80)) startBtn:setScale(0.25,0.25) startBtn:move(display.center) layer:addChild(startBtn) --local tmpLayer = cc.Layer.create() local startLb = cc.Label:createWithSystemFont("开始", "Arial", 40) startBtn:addChild(startLb) startLb:setPosition(120,50) local function touchBegan(touch, event) local node = event:getCurrentTarget() local location = node:convertToNodeSpace(touch:getLocation()) local targetSize = node:getContentSize() local rect = cc.rect(0,0,targetSize.width, targetSize.height) if cc.rectContainsPoint(rect, location) then node:setScale(0.21,0.21) if node==startBtn then cc.Director:getInstance():replaceScene(require("app.views.PlayScene"):create()) end end return true end local function touchMoved(touch, event) return false end local function touchEnded(touch, event) local node = event:getCurrentTarget() node:setScale(0.25,0.25) return true end local function touchCanceled(touch, event) print("touchCanceled") return false end local listen = cc.EventListenerTouchOneByOne:create() listen:registerScriptHandler(touchBegan, cc.Handler.EVENT_TOUCH_BEGAN) listen:registerScriptHandler(touchMoved,cc.Handler.EVENT_TOUCH_MOVED) listen:registerScriptHandler(touchEnded,cc.Handler.EVENT_TOUCH_ENDED) listen:registerScriptHandler(touchCanceled,cc.Handler.EVENT_TOUCH_CANCELLED) --local eventDispatcher = layer:getEventDispatcher() local eventDispatcher = cc.Director:getInstance():getEventDispatcher() eventDispatcher:addEventListenerWithSceneGraphPriority(listen,startBtn) end return MainScene local PlayScene = class("PlayScene:", function() return cc.Scene:create() end) function PlayScene:ctor() local layer = cc.Layer:create() layer:addTo(self) layer:addChild(display.newSprite("bg_0.jpg"):move(display.center)) local frameCache = cc.SpriteFrameCache:getInstance() dump(frameCache.addSpriteFrames) dump(display.newSpriteFrame) frameCache:addSpriteFrames("LayerCard.plist") local cardBorder = cc.Sprite:createWithSpriteFrameName("0_game_card.png") cardBorder:move(display.center) -- cardBorder:setScale(0.5,0.5) layer:addChild(cardBorder) local upNumber = cc.Sprite:createWithSpriteFrameName("0_game_card01.png") upNumber:setPosition(cc.p(upNumber:getContentSize().width/2,cardBorder:getContentSize().height - upNumber:getContentSize().height / 2)) -- upNumber:setScale(0.5,0.5) cardBorder:addChild(upNumber) local downNumber = cc.Sprite:createWithSpriteFrameName("0_game_card01.png") downNumber:setPosition(cc.p(cardBorder:getContentSize().width - downNumber:getContentSize().width / 2, downNumber:getContentSize().height / 2)) -- downNumber:setScale(0.5,0.5) downNumber:setRotation(180) cardBorder:addChild(downNumber) local point1 = cc.Sprite:createWithSpriteFrameName("0_game_cardtype1.png") point1:setPosition(cc.p(cardBorder:getContentSize().width / 2, cardBorder:getContentSize().height / 2)) --point1:setPosition(cc.p(cardBorder:getContentSize().width / 2, cardBorder:getContentSize().height / 2 )) -- point1:setScale(0.5,0.5) cardBorder:addChild(point1) local pointFlag1 = cc.Sprite:createWithSpriteFrameName("game_cardtype1s.png") pointFlag1:setPosition(cc.p(pointFlag1:getContentSize().width / 2 + 3, cardBorder:getContentSize().height - upNumber:getContentSize().height - pointFlag1:getContentSize().height / 2)) cardBorder:addChild(pointFlag1) local pointFlag2 = cc.Sprite:createWithSpriteFrameName("game_cardtype1s.png") pointFlag2:setPosition(cc.p(cardBorder:getContentSize().width - pointFlag2:getContentSize().width/2 - 3, upNumber:getContentSize().height + pointFlag2:getContentSize().height / 2)) pointFlag2:setRotation(180) cardBorder:addChild(pointFlag2) end return PlayScene

转载请注明原文地址: https://www.6miu.com/read-32126.html

最新回复(0)