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

效果图:




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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值