Coco2dx - lua 实现连连看,很全的一篇,需要的可以直接用!!

大家先看效果

在这里插入图片描述

我把代码粘贴进来,大家可以直接看,注释写的很清楚的

require "app/views/newScene"
local MainScene = class("MainScene", cc.load("mvc").ViewBase)

-- numbersTable[string.format("%d", i), int转换字符转
-- 保存view的集合
local list = {}
-- 方块大小
local blockSize = cc.size(66, 66)
-- 屏幕的大小
local s = cc.Director:getInstance():getWinSize()
local Menu
-- 按住后的位置
local downList ={}
local numList = {"2","8","4","2","4","4","8","2","32","2", "2", "16","16","2","4","8","8"
    ,"8","4","2","8","4","8","32","4" }

local time = 30
local timeLable
-- 数字的背景颜色
local numbersTable = {}
numbersTable['2'] = cc.c3b(251,232,115)  --2
numbersTable['8'] = cc.c3b(240,108,0)  --8
numbersTable['4'] = cc.c3b(248,208,0)  --4
numbersTable['16'] = cc.c3b(244,144,96)  --16
numbersTable['32'] = cc.c3b(241,79,44)   --32
-- 当前选下的值
local currentTag = 0

function MainScene:setPostion( ... )
    -- 重新开始隐藏
    if Menu ~= nil then
        Menu:setVisible(false)
    end

    -- 要画View的下标(lua下表是从1开始的)
    local position = 1
    -- 1、创建图层
    local layer = cc.Layer:create()

    -- 2、找到中心方块的位置(s.width、height:屏幕宽/高    blockSize.width:方块宽高)
    local x = (s.width - blockSize.width) / 2
    local y = (s.height - blockSize.height) / 2

    -- 4、中间间隙
    local distance = 10

    -- 3、j循环是画第几行   i是画每一行的5个,  画的基点是中心方块的位置 x,y, (中心方框是指连连看中间的方块)
    for j=0, 4 do

        for i=0,4 do
            -- int转换字符串
            -- print(numbersTable[string.format("%d", i)])
            -- 找到中心方框的左上角
            local currentX = x + blockSize.width / 2
            local currentY =  y + blockSize.height / 2

            if i < 2 then
                -- x= -(方框方框个数 x 方框宽 + 间隙)  y= (个数* 高 + 间隙)
                currentX = currentX - (2 - i) * blockSize.width -  (2 - i) * distance
                currentY = currentY + (2 - j) * blockSize.height +  (2 - j) * distance

            elseif i == 2 then
                -- 中间那一行
                currentX = 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值