今天完成了以下内容:

1 成对生成SpriteItem

2 重排接口制作完成

3 SpriteItem的选择逻辑

主要代码如下:

 function MainScene:onEnter()
local item
local item0
local temptype =
for i=, do
temptype = math.floor(math.random(,))
item = SpriteItem.new()
item:setData(temptype)
item:addTo(self.layer)
item:setName(string.format("item%d", i))
self.items[i] = item
item:setPos(math.floor((i-)%row),math.floor((i-)/row)) item0 = SpriteItem.new()
item0:setData(temptype)
item0:addTo(self.layer)
self.items[i+] = item0
item0:setName(string.format("item%d", i+))
item0:setPos(math.floor((i+)%row),math.floor((i+)/row))
end self:shuffle(self.items) self.layer:addNodeEventListener(cc.NODE_TOUCH_EVENT, handler(self, self.onTouched))
self.layer:setTouchEnabled(true)
end

顺序重排的方法:

 function MainScene:shuffle(t)
local len = #t
for i=,len* do
local a = math.floor(math.random(len))
local b = math.floor(math.random(len)) if a ~= b then
t[a],t[b] = t[b],t[a]
t[a]:setPos(math.floor((a-)%row),math.floor((a-)/row))
t[b]:setPos(math.floor((b-)%row),math.floor((b-)/row))
--printInfo("swap item %d : %d", a,b)
end
end
--[[i = 1
for i=1,len do
print(t[i]:getName())
end]]
end

选择逻辑:根据屏幕上的坐标点取得对应的SpriteItem

 function MainScene:getItem( posx, posy )
--printInfo("getItem %d : %d", posx, posy) local px = math.round((posx - startX)/)
local py = math.round((posy-startY)/)
if px > or py > then
return
end
local index = row * py + px +
local item = self.items[index] return item
end

当前效果图如下:

最新文章

  1. 原创:从零开始,微信小程序新手入门宝典《一》
  2. 一道google面试题
  3. LeetCode 135 Candy(贪心算法)
  4. Windows Registry Security Check
  5. java length size
  6. ISV 和SI 是什么
  7. Javascript高级篇-Function对象
  8. POJ2221+模拟
  9. c#修改本地连接工具 ip地址,dns,网关,子网掩码
  10. 修改织梦默认栏目页、文章页URL命名规则,简化目录结构
  11. git知识总结-4.git服务器搭建及迁移git仓库
  12. 修改Maven仓库路径
  13. 《python语言程序设计》_第二章笔记之2.13_软件开发流程
  14. IDEA2016 maven项目配置Junit
  15. leetcode每日刷题计划-简单篇day1
  16. 【PMP】项目的定义和特点
  17. webpack 相关插件及作用(表格)
  18. windows下安装python-Levenshtein
  19. JS 函数(arguments、箭头函数、bind)
  20. 编译安装php时遇到virtual memory exhausted: Cannot allocate memory

热门文章

  1. git 使用系列(二)---- 分支和合并
  2. 如何查看自己电脑支持OpenGL core版本
  3. UVA 11027 - Palindromic Permutation
  4. 在CDockablePane中嵌入对话框
  5. gameUnity 0.15 beta 网络游戏框架
  6. stray '/241' in program 错误
  7. Python基础学习1---函数
  8. unity 创建NGUI字体
  9. Struts的前世今身
  10. 上传Android或Java库到Maven central repository(转载)