效果图:
资源链接: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