【quick-cocos2d-lua】 棋牌-加入房间

2024-02-26 03:18

本文主要是介绍【quick-cocos2d-lua】 棋牌-加入房间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

界面分析:房间号共6位,UI界面上部分是6个Label,用来显示用户输入的房间号,下面共12个按钮,其中有10个按钮数字按钮,用来输入房间号,输入的数字显示在上面的Label上,删除按钮则删除一位已输入的数字,清除则删除所有已输入的数字。当6个数字输入完时发送给服务器进行验证。

 

逻辑分析:

①首先6个label都是空的,当按一下某个按钮,第一个label就会显示按钮的数字,再按按钮,则第二个label显示数字,即按第n次时,第n个label显示数字(当n小于7时)。所以可以用一个table用来记录已输入的数字,给每个数字button添加一个响应函数,点击时,把数字加入table,如果小于7,则得到table的最后一个值,显示到label上,并判断table是否有6个数字,如果是6个的话则发消息给服务器;若大于7,则从table移除。

②删除时,获得table的长度,即label有数字的最后一位,将label清空,再将table最后一位数据移除

③清除时,把所有有数字的label清空,再将table清空。

local pressNumber = {}  --保存输入的数字
local labelNumber = {}  --6个显示数字的labelfunction friendNumber:btn_close()local btn_close = cc.uiloader:seekNodeByPath(self.ccsNode, "Panel_18/btn_close")        btn_close:onButtonClicked(function()pressNumber = {}self:removeFromParent()end)
end--6个标签,显示输入的房间号
function friendNumber:label_Number()for i = 1,6 dolocal label = cc.uiloader:seekNodeByPath(self.ccsNode, "Panel_18/Label_"..i)        labelNumber[i] = labelend
end--数字按钮,输入房间号
function friendNumber:btn_number()for i = 0,9 dolocal btn_number = cc.uiloader:seekNodeByPath(self.ccsNode, "Panel_18/btn_num"..i)        btn_number:onButtonClicked(function()self:add_Number(i)end)end
endfunction friendNumber:btn_delete()local btn_delete = cc.uiloader:seekNodeByPath(self.ccsNode, "Panel_18/btn_delete")        btn_delete:onButtonClicked(function()self:delete_Number()end)
endfunction friendNumber:btn_clear()local btn_clear = cc.uiloader:seekNodeByPath(self.ccsNode, "Panel_18/btn_clear")        btn_clear:onButtonClicked(function()self:clear_Number()end)
endfunction friendNumber:add_Number(i)	table.insert(pressNumber,i)local posIndex = table.getn(pressNumber)if posIndex < 7 then--dump(pressNumber)self:updateLabelNum(posIndex,i)self:checkNumber()return trueelsetable.remove(pressNumber)return falseend
endfunction friendNumber:delete_Number()local posIndex = table.getn(pressNumber)if posIndex > 0  thenself:updateLabelNum(posIndex,"")table.remove(pressNumber)endreturn 0
endfunction friendNumber:clear_Number()local numLen = table.getn(pressNumber)for i = 1,numLen doself:updateLabelNum(i,"")endpressNumber = {}
endfunction friendNumber:updateLabelNum(posIndex,num)local label = labelNumber[posIndex]label:setString(tostring(num))
endfunction friendNumber:checkNumber()local numLen = table.getn(pressNumber)if 	numLen == 6 thenprint("已有6个数")local roomNumStr = pressNumber[1]..pressNumber[2]..pressNumber[3]..pressNumber[4]..pressNumber[5]..pressNumber[6]local roomNum = tonumber(roomNumStr)friendRoomHandler:checkRoomJoin(201,roomNum)end
endreturn friendNumber

 

这篇关于【quick-cocos2d-lua】 棋牌-加入房间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/747555

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

由Lua 粘合的Nginx生态环境

转自:http://blog-zq-org.qiniucdn.com/pyblosxom/oss/openresty-intro-2012-03-06-01-13.html -- agentzh tech-club.org 演讲听录 免责聲明 Lua 粘合的 Nginx 生态环境 2.1. openresty 2.2. 配置小语言 2.3. ngx_drizzle 2.4.

Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7

转自 I Installed Cocos Code IDE and created a new Lua Project. When Debugging the Project(F11) the game window pops up and gives me the message waiting for debugger to connect and then freezes. Also a

Docker+FastDFS+Lua搭建文件服务器进阶版

使用FastDFS+Nginx+Lua+GraphicsMagick搭建类似淘宝的图片服务器 1、FastDFS安装1.1、镜像下载1.2、开启tracker容器1.3、开启storage容器1.4、测试 2、FastDFS集成Nginx+lua+GraphicsMagick2.1、依赖包下载2.2、安装软件基础包2.3、依赖安装2.4、配置Lua脚本实现图片缩略图2.5、修改nginx.c

自我提升社团成立啦,欢迎各位同学加入~

欢迎加入 大家好,我是马丁,我们的自我提升社团成立啦,欢迎有新的朋友加入!! 我们的社团主要目标是帮助每个人实现自我成长、自我提升,不论他是什么年龄、什么经验、什么专业,只要有一个好学和想进步的心,都可以加入。 为了提升帮助每个人实现自我成长,目前社团选择的是做一个智能客服系统,我们希望通过搭建一个企业级的智能客服系统来帮助每个人实现自我成长。后续,还会开发更多系统~ 目前群里大多是Jav

Cocos2d-x自适应Android屏幕分辨

ndroid下分辨率太多,不太可能为每种分辨率做一套资源,目前一般来说比较流行的是320*480, 800*400, 854*400。当然现在720P的也出来了,但至少目前不是主流机型^_^. 对于不支持的分辨率,我希望的是能够按照屏幕大小按比例缩放,即有了下面的代码。 1:ViewAutoScale 写了一个ViewAutoScale函数,如下:   #include "ViewAuto

cocos2d-x Android实现广告条竖立放置

 2:实现 原理:将屏幕设置为竖屏,然后CCDirector::setDeviceOrientation()设置为cocos2d-x为横屏。            在这种转屏模式下,控件是不会旋转的 缺点:所有Android原生控件仍然是竖立的 注意事项: ccTouchesBegan,ccTouchesMoved, ccTouchesEnded传入的坐标值仍然是屏幕坐标

【Unity-Lua】音乐播放器循环滚动播放音乐名

前言:Unity中UI节点 图1 如上所示,一开始本来是打算用ScrollView做的,觉得直接计算对应的文本位置就行,所以没用ScrollRect来做,可以忽略Scroll,Viewport这些名字。如下图:需要在一个背景Image组件上添加上Mask组件来显示固定位置的文本显示。 图2 图3 并且需要在要显示的文本上挂载Content Size Filter组件,但是这儿会有个坑

lua data time

local getTime = os.date(“%c”); 其中的%c可以是以下的一种:(注意大小写) %a abbreviated weekday name (e.g., Wed) %A full weekday name (e.g., Wednesday) %b abbreviated month name (e.g., Sep) %B full month name (e.g., Sep