- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 图片大小计算
分辨率 = 宽*高(如:1024*768,640*960)除以8表示每个像素的字节数,最终占内存的大小。大小 = 分辨率 * 位深/8bit。位深:如32位,24位,16位,8位。
2022-10-12 15:29:13
9163
2
原创 LayaBox ARPG游戏副本之《帮派联赛》水晶占领核心玩法详解
本文主要记录一下小编的《帮派联赛》副本开发的核心实现原理。该副本主要玩法为:玩家pk、水晶占领、高手对决。其中,高手对决和玩家PK主要玩法为点击玩家,进入PK副本战斗,副本结算,然后回到当前副本,实现方式为通用PK战斗逻辑,就不详细介绍了,这里主要介绍水晶占领玩法及核心实现:水晶占领:(地图中总共生成10个水晶,玩家进入副本场景,根据分配的阵营,分别在对应的红方、蓝方基地内,活...
2020-01-11 16:48:36
378
原创 LayaBox H5游戏性能优化
对于游戏开发避免不了性能相关优化,小编总结了如下:一、内存优化(如:代码不规范,初始化定义的变量,销毁时未及时清理会存在内存中)1.对象池优化,LayaAir引擎中的对象池:laya.utils.Pool2.使用含有对象池的Handler处理异步回调Handler()没有使用对象池,Laya.Handler.create()使用了对象池3.在销毁的地方将不使用的对象设置为null,数组...
2020-01-11 11:04:44
2181
原创 位运算小结(按位与、按位或、按位异或、取反、左移、右移)
最近在游戏开发中很多地方采用二进制算法极为简便,因而做一次记录:位运算在很多都是经常会用到的,原始点就从0、1开始。位运算主要包括按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、右移(>>)这几种,其中除了取反(~)以外,其他的都是二目运算符,即要求运算符左右两侧均有一个运算量。 1、补码 在总结按位运算前,有必要先介绍下补...
2020-01-10 21:02:06
1132
原创 LayaBox天降红包雨实现之TypeScript
说实话,在小编第一次接到这个需求的时候,有点子激动,哈哈。,策划给的需求是:上方的妹子插画:侧躺的仙女,要仙女,可以暴露一点主要玩法:1.红包雨期间,不定时从指定区域内落下红包2.玩家点击中红包随机获得奖品3.点击中飘落的红包,打开红包;若点不中,则不会打开4.点击红包时,红包切换颜色,并放大1.2倍,松开点击时红包恢复原样实现方法:由于要考虑到玩法贴近自然,所以设置了...
2020-01-10 18:31:09
727
原创 LayaBox七天登录状态存储之JS中二进制与十进制转换
一般对于游戏来说,七天登录是常备运营活动,可以提升很大一部分留存。本身七天登录功能大致实现相当简单,数据传输格式无非:{day:statu}或者整一个数组里面存取7个数据保存每天是否领取状态,但是如果采用二进制数据岂不是传输速率更便捷:如:7天都未领取:0000000 = 0第一天已领取:0000001 = 1 第二天已领取:0000011 = 3第三天已领取...
2020-01-10 11:28:35
281
原创 如何使用TestFlight进行App构建版本测试
这几天有个项目要上线,需要测试苹果支付,微信拉起等功能通过后才能提审,直接选择TestFlight内部Beta测试,主要操作流程如下:1、进入你开发者账号的iTunes connect,找到对应的APP2、选择TestFlight,把上传到iTunes connect的APP选中。3、添加iTunes Connect用户4、添加完成后,该邮箱会收到一封邮件,要是没有
2017-11-21 11:43:54
3105
原创 Assert failed: CCNode#rotation. RotationX != RotationY.
最近修改了一个UI界面,如下图,在android和模拟器中运行打开该界面没问题。但是用IOS运行,直接卡着滋滋几声就闪退了,报了如下错误:Assert failed: CCNode#rotation. RotationX != RotationY. Don't know which one to returnAssertion failed: (_rotationZ
2017-10-18 17:44:46
1772
原创 cocos2d js 编译APK出现clang: error: no input files
换了一个mac机,配置了对应的安卓编译环境cocos3.12ndk-r9dsdk结果报了如下错误:最后检查了很多情况,换了一个ndk-r10b,编辑成功。
2017-10-10 10:15:04
530
原创 解决方案 Rect width exceeds maximum margin
点进一个界面时突报这个:网上也找了很多解决办法,还是没有一个答案是解决该问题的,终于在一次新项目中中再次发现了改问题,经过多次验证,查到该问题的解决办法:最后把问题固定在编辑cocos studio上,问题分析:该问题出现主要是按钮使用了九宫格解决办法:所有用到按钮的地方,除非是九宫格图片,否则直接去掉属性里面所勾选的九宫格即可。
2017-09-25 00:30:20
6366
原创 阻塞进程等待
之前对阻塞、非阻塞这个概念也是不了解,今天晚上看网上一段程序的时候,一段代码让我起了兴趣(下方标红的代码):local socket = require("socket")local host = "http://www.xxx.com"local port = "8080"local c = socket.tcp()local n, e = c:connect(host,
2017-05-07 23:26:20
698
原创 cocos studio 1.6编辑器打开时候报null,点击直接关闭UI界面
这个问题总共出现了3次,感觉有同鞋肯定也会遇到这个问题,所以必须写一个教程让大家指导一下。第一次:我在写代码需要查看UI源文件找到对应控件,更新资源后,打开源文件,结果来了一个这个,直接报null,折腾了2-3个小时,最后也算是解决了,相当于重回之前的版本,或者删除某个出现问题的json。第二次:策划出现了这个问题,以为是我这边提交了某个文件,结果查来查去,最后用第一次的解决方法轻松甩锅。
2016-12-20 11:59:06
701
原创 quick运行player3.exe 打不开,黑屏情况
今天遇到一个很神奇的问题(在引擎目录中打开quick3.exe无法打开)如下:然而百度都没有相关文档,问了下quick刘克男作者,总共提供了2个方法尝试,如果能第一个解决就不用继续第二个了:方法一:命令行打开当启动quick3.exe无法启动时,直接在quick3.exe目录处使用命令行打开如果此操作还是有问题,请继续方法二。方法二:删除缓存
2016-12-12 14:50:42
2250
转载 quick-cocos2dx Windows环境下编译Android版本apk
编译APK,俗称打包。很早就想搞打包操作了,一直没有机会加上自己能力有限,但是这次在项目中有机会能尝试打包,非常开心。打包环境配置过程很艰辛,但是看到apk包的时候非常刺激。首先需要准备如下包:一、JDK二、ADT-SDK三、NDK四、Apache ANT五、编译生成apk一、JDK1.下载jdk 推荐版本:jdk-7u65-windows-x64.ex
2016-08-24 10:29:05
1104
原创 quick-cocos2dx-lua之幸运大转盘实现
好久没有用quick引擎开发了,最近又要整quick了,有种熟悉感。今天主要记录一下研究了半天的大转盘的实现。如图:1、主要精华如下:local ALLROATE = 360--360度local num = 10--转盘角度数据local zhuanpanData ={ {start = (num-10)*ALLROATE/num + 0,
2016-08-15 01:01:21
4401
原创 Windows下搭建Cocos2d-x V3.12的开发环境
一、搭建环境之前,准备 Cocos2d-V3.x压缩包,我用的是Cocos2d- 3.12,Python2.7.11,开发工具 VS20151.vs2015下载路径+番茄小助手https://www.visualstudio.com/downloads/download-visual-studio-vs/番茄小助手为一个压缩包,大家仔细看清楚
2016-08-11 10:44:19
10709
原创 Windows下新建Cocos2d-x V3.10项目(cocos2d-x lua)
好久没更新了,最近2个月忙了不像话了。此处略去2W个字。。。。言归正传,我刚刚接触游戏就是用的quick引擎,但是目前的这份工作是cocos2d-lua V3.10的,对我来说,有些迷茫,很多底层的东西还不是很了解。在新建工程上还有些问题,通过几天研究,终于实现了。第一步:首先用V3.10软件新建一个项目,如图所示:第二步:用VS编译新建立的项目:
2016-07-05 10:33:45
6610
1
原创 cocos2d-x lua v3.10 pcall异常处理
前些天遇到一个问题,想了很多解决思路,结果都是茫茫然那,为了游戏运行中不报错,无奈最后采取了异常处理:local function test() str = string.format(table_, unpack(table_data))endif pcall(test) thenreturn trueelsereturn "这里是异常"end
2016-06-02 10:51:15
1199
原创 lua-洗牌算法
之前用过一次,没有记录下来,这一次一定要留下回忆。local str = {}local numArr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };for i = 9, 1, -1 do local index = math.random(1, 9);local tempNum = numArr[i];numArr[i] = numArr[
2016-05-19 03:21:48
2258
原创 cocos2d-x v3.10之ccui.PageView 翻页实现
---pageView local page=ccui.PageView:create() for i=1,8 do---创建layout,内容添加到layout local layout=ccui.Layout:create() layout:setContentSize(700,700)
2016-05-11 16:45:55
5664
原创 cocos2d-lua+cocos studio之ListView加载Item
这几天换UI碰到一个问题,纠结了一天,然后各种百度,各种群咨询,终于在几番折腾后实现了自己想要的效果,现在分享思路和方法:1.UI准备在cocos studio里面新建一个含有ListView容器的文件,设置name和可见性如图:1)主界面2)Item项3.程序动态加载UI文件,方法有很多,self.uilayer = cc.CSLoader
2016-05-04 02:02:14
7963
1
原创 php学习_第一天
做过asp.net、java、网页开发,但是从大一一直想学的php直到今天才得以开始,print_r()打印关于变量的易于理解的信息。记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。get_object_vars()返回由对象属性组成的关联数组var_dump()方法是判断一个变量的类型与长度,并输出
2016-02-19 00:01:55
450
原创 Attempt to perform operation on an invalid operand
今天在做麻将补花的时候,将花飞出去,然后补一张新牌。但是考虑到牌的顺序会乱,所以就用了table.sort想将牌顺序重新从小到达排列,可是想像总是好的,结果却出乎意料之外,在控制台看到了输入如下英文:Attempt to perform operation on an invalid operand刚开始看不懂,便开始百度其意思,百度翻译如下:刚开始想不明白是哪里出错了,后
2016-01-19 22:14:50
2091
原创 quick-cocos2dx-lua之精灵移动后的回调函数
请您先把目光集中在下面这个一行代码的移动方法上: transition.moveTo(node, {x = x, y = y, time = 1}) 我之前一直在用上面这种方法,刚刚开始还觉得用的挺好,能将游戏中需要的精灵移动到指定的位置。但是后来接触到分布执行事件后,该方法根本不能达到自己想要的效果,同时代码量增加了很多,显然作为一个程序员来说,这是很难过的事情,后来从大牛那里知道
2016-01-16 00:51:47
1735
原创 sublime运行quick-cocos2dx-lua 步骤详情
当自己是一个新手的时候,很多东西都要百度才能解决。逐渐入门后,发现自己初学阶段的很多东西都忘记了,所以有必要自己写一些东西来记录之前自己做过的东西,以免以后还要去和新手一样百度。在Sumlime编辑器里配置游戏环境,并且运行游戏步骤如下:1、首先你要下载Sumlime编辑器,推荐地址:http://www.sublimetext.com/32、打开Sumlime编辑器第一件事情就是安装
2016-01-15 18:01:47
3323
原创 lua -- io.pathinfo
io.pathinfo拆分一个路径字符串,返回组成路径的各个部分。格式:parts = io.pathinfo(路径)使用示例:local pathinfo = io.pathinfo("/var/app/test/abc.png") -- pathinfo.dirname = "/var/app/test/"-- pathinf
2015-12-26 14:45:43
614
原创 adt-bundle-windows 环境变量的设置
新建变量名:ANDROID_SDK_HOME这里我文件放D盘D:\adt-bundle-windows\sdk系统默认变量Path%ANDROID_SDK_HOME%\tools;%ANDROID_SDK_HOME%\platform-tools直接复制即可最后在cmd中运行adb命令,出来下面的图片中所示就设置成功了
2015-11-15 19:12:27
2525
原创 quick-cocos2d-lua 中动画cc.Rect的总结
cc.rect(x, y, width, height)解释应该是左下角的x和y,和右上角的x和y。
2015-11-14 17:41:52
2727
原创 Sprite使用setScale后getContentSize().width的值为多少
一个Sprite使用setScale(0.5),Sprite在屏幕上的显示是缩小了一半,奇怪的现象发生了:getContentSize().width还是没变,还是表示Sprite之前的尺寸如果想要获取缩小之后的尺寸大小,使用getBoundingBox()方法获取对以上现象总结如下:getContentSize用来获得节点原始大小。返回CGSize类型getBound
2015-10-20 17:34:23
804
转载 使用VS插件在VS2012/2013上编辑和调试Quick-cocos2d-x的Lua代码
BabeLua简介 BabeLua是一款基于VS2012/2013(简称VS)的免费开源的Lua集成开发环境,在Lua编辑和调试方面,具有如下功能和特性: ●Lua语法高亮 ●语法检查 ●自动补全 ●一键注释 ●格式化代码 ●自定义代码折叠 ●工程管理 ●快速搜索和跳转 ●文件大纲 ●注入宿主程序内对Lua脚本进行调试 ●设置断点观察变量值
2015-10-16 23:53:31
3688
转载 lua中字符串匹配笔记
string.gsub 函数有三个参数:目标串,模式串,替换串。基本作用是用来查找匹配模式的串,并将使用替换串其替换掉: s = string.gsub("Lua is good", "good", "bad?") print(s) --> Lua is badstring.gsub 的第二个返回值表示进行替换操作的次数。例如,下面代码计字符串中空格出现的次数:
2015-10-14 16:46:13
305
原创 Lua流程控制
if...else 语句Lua if 语句可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码块。Lua if...else 语句语法格式如下:if(布尔表达式)then --[ 布尔表达式为 true 时执行该语句块 --]else --[ 布尔表达式为 false 时执行该语句块 --]end实例以下实例用于判断
2015-09-21 14:28:33
595
转载 Lua基本函数库——新手必备
最近开始学习Lua语言,操作过程中,发现对很多函数不是很明白,做个笔记记录下。基本函数库为Lua内置的函数库,不需要额外装载assert (v [, message])功能:相当于C的断言,参数:v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion failed!"--------------
2015-09-21 13:49:22
456
转载 让你一秒就懂JSON
JSON 概述JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl,
2015-04-27 17:18:59
396
差异对比v1.0.zip
2020-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人