- 博客(55)
- 资源 (6)
- 收藏
- 关注
原创 Js/Ts 数组的filter方法
背景最近在写一个自动化生成/绑定/更新脚本的插件,有一个功能,我需要找出预制体/场景以及对应脚本中已有的属性,并且对属性进行对比,找出已经删除的属性和要添加属性。实践本来想着双层数组遍历,分别找出删除的和要添加的属性let omitProps = [];let deletedProps = [];for (let i = 0; i < arrTsProps.length; i++) { let element = arrTsProps[i]; if (arrPrefab
2022-02-10 16:58:21
6602
原创 CocosCreator优化之DrawCall漫谈
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正文章目录前言正文什么是 DrawCallDrawCall 是如何影响性能的呢?如何减少 DrawCall针对图片资源静态合图自动图集资源(Auto Atlas)TexturePacker对比一下动态合图针对 Label位图字体(BMFont)文本缓存模式(Cache Mode)必经之路--调整UI层级顺序总结前言在游戏开发中,DrawCall 作为一个非常重要的性能指标,直接影响游戏的整体性能表现。无论是 Cocos Creator、Uni..
2020-08-08 21:47:59
1964
2
原创 extends和implement的区别
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正前言最近在学习pureMVC,发现其中不少类继承的时候会写成形如export default class AppFacade extends puremvc.Facade implements puremvc.IFacade {...}的样子;最初我的理解中,extends和implement都是继承的意思,但是又一想,都是继承完全可...
2019-12-19 22:08:15
1735
原创 让Git像SVN那样按照文件夹更新的Git SubModule
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正前言最近项目出现了新的需求,需要在一个Creator框架工程中,集成多个子游戏。优点:所有游戏集中管理,避免出现一旦框架更改,所有子游戏工程需要全部改一遍痛点:如果子游戏数量过多,会导致项目工程巨大,打开编译等速度过慢目的:框架自身和各子游戏需要能够独立更新,互不影响引用一段《Git权威指南》的话:项目的版本库在某些情况虾...
2019-06-26 20:36:20
1994
原创 Leetcode-初级算法-存在重复元素
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正题目 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例1 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] ...
2018-09-17 10:00:37
2026
3
原创 Leetcode-初级算法-数组循环右移
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正题目 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例1 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋...
2018-09-17 10:00:06
2114
原创 Leetcode-初级算法-两数之和
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正题目 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 ...
2018-09-17 09:59:18
214
原创 C++中优化IO效率
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正前言最近在刷LeetCode的时候,发现时间靠前的答案总是会有以下类似代码static const auto xxx = []() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); return nullptr;}();...
2018-09-17 09:58:01
1966
原创 C++中getchar、scanf等输入
本文首发与个人博客:http://blog.92yu.win,欢迎大家关注。基本定义getcharint getchar(void){ static char buf[BUFSIZ]; static char* bb=buf; static int n=0; if(n==0) { n=read(0,buf,BUF...
2018-09-03 14:42:12
1445
原创 Cocos2dx v3.x版本修改默认物理引擎为Box2D
最近在使用Box2D写一个小游戏,发现cocos封装的BOX2D默认是不使用的。 于是乎,研究了一下,发现网上的资料都是大同小异,找不到关键点。 版本:Cocos2dx v3.17 win10环境下这里列出我的解决办法: 1. 项目右键,属性,C/C++,常规,修改$(EngineRoot)external\chipmunk\include\chipmunk为$(Engi...
2018-09-03 14:39:02
825
原创 关于C++中memset方法的使用笔记
本文首发于我的个人Blog,欢迎大家批评指正最近在用C++写服务端逻辑,在使用memset的时候出现了一些问题现象memset在对一个二维数组进行初始化的时候,因为某些原因需要初始化不为0,这就导致了问题的出现先贴代码看WORD wLeftCardData[2][30];memset(m_pLeftCardInfo-&amp;amp;gt;wLeftCardData[1], 4,...
2018-07-18 15:10:02
1000
原创 关于当下手机邮箱客户端的若干体验
早在12年还在上学的时候就自己瞎折腾翻墙,折腾成功之后就注册了Gmail邮箱,虽然用的也并不是很多,但那会儿在学生中间有个Gmail邮箱,还是有点小激动,哈哈哈 最近阿里云新注册了域名,赠送了企业邮箱,于是乎,折腾起了企业邮箱 因为主要的邮箱用163比较多,前两年网易邮箱手机客户端还是比较好用的,界面简洁,但是最近发现越来推送延迟越高,经常邮件来了几天都不推送,于是起了换换工具的念头,几经波折
2018-01-12 13:21:53
1177
翻译 关于手游网络协议的简单分析
前言大多数加密方案都假定可信的发送者和接收者会通过一个不可信的通道通信. 虽然假设发送者会故意尝试愚弄接收者有点荒谬,但这确实是摆在开发者面前的问题。有些玩家是不可信的, 更糟的是, 他们能够通过客户端执行文件获取对加密算法和所有通信的了解。在这样的情况下,我们不可能提供完全安全的通信,但是我们可以为攻击者制造麻烦。本文着重介绍一些实用的技术来为网络游戏建立一个应用程序级通讯协议
2017-11-23 14:34:22
4543
原创 Cocos2d-Js热更新(最完整版本,包括自己做的过程中遇到的坑都在里面)
最近主要进行游戏脚本化相关工作,脚本化的目的就是为了热更新,所以就写个demo研究下热更新。cocos版本: 3.121、基本思路cocos的热更新主要采用其自带的AssetsManager,执行AssetsManager后,搜索路径增加了jsb.fileUtils.getWritablePath()目录,并且搜索级别最优;需要热更新js不放在project.json中定义,等AssetsMan
2016-12-30 09:58:09
13426
3
原创 Js Binding 实现
这里是3.x版本的jsbinding,测试版本3.12,理论上3.x都会支持没,不负任何责任,有问题欢迎留言交流自动绑定bindings-generator, 它可以生成相对应的C++的绑定文件和相对应的JS接口,届时,你只需要调用生成的相对应的JS接口
2016-11-11 15:44:13
5084
1
原创 cocos-js Http方式网络请求
网络结构网络结构是网络的构建方式,目前流行的有客户端服务器结构网络和点对点结构网络。客户端服务器结构网络客户端服务器结构网络是一种主从结构网络。服务器一般处于等待状态,如果有客户端请求,服务器响应请求,建立连接,提供服务。服务器是被动的,客户端是主动的。点对点结构网络点对点结构网络也叫对等结构网络,每个节点之间是对等的。 考虑到跨平台的需要,Cocos2d-JS引擎主要采用C/S结
2016-10-13 10:13:12
8398
原创 Eclipse下报错 An internal error occurred during: "C/C++ Indexer". java.lang.NullPointerException
Eclipse下编译so文件的时候 An internal error occurred during: “C/C++ Indexer”. java.lang.NullPointerException解决方法:
2016-07-07 19:52:44
5003
原创 Cocos2dx 3.x版本Cocos2dxDownloader.java文件报错
我个人平时习惯于把src下面的文件拷贝到自己的工程里面去,升级到3.11.1之后发现拷贝后报错。 报错文件为Cocos2dxDownloader.java
2016-07-07 15:11:38
3030
原创 更改VS默认新建文件格式及内容
VS 2013 新创建的cpp和h文件默认是GB2312的,为适应国际化需求,现在都使用UTF-8格式,下面教大家设置为默认UTF-8
2016-06-27 11:06:25
1234
原创 关于Cocos2d-x资源拷贝问题
前言: 同事删除了部分图片资源,并且上传了svn,导致有的游戏资源缺失,通过svn记录找回了资源 编译so文件报错, 上网查发现Error 5 代表的意思是没有权限,检查图片资源发现,找回的图片属性为只读,去掉此属性,即可
2016-05-17 08:45:23
523
原创 防止打包的时候删除SDK需要的so库
每次重新编译so文件的时候,总会把SDK自带的一些so库删掉,然后还需要手动拷贝进去,今天就为大家带来一个方法。
2016-03-31 10:49:30
516
原创 无法打开包括文件: “extensions/ExtensionExport.h”: No such file or directory
1、在你自己的头文件中加入#include ”cocos-ext.h” 2、使用命名空间USING_NS_CC_EXT; 3、选中工程右键“属性”->”配置属性“->”c/c++”->”常规”->”附加包含目录”中添加“”$(EngineRoot)
2016-03-16 20:09:11
2602
原创 Zeromemory && memset
1、 void ZeroMemory( PVOID Destination, SIZE_T Length); Destination :指向一块准备用0来填充的内存区域的开始地址。 Length :准备用0来填充的内存区域的大小,按字节来计算. ZeroMemory只是将指定的内存块清零。 2、 void *memset(void *s, int ch, size_t
2016-03-10 16:07:22
512
原创 获取本地时间和网络时间
游戏中通常都会有根据时间来恢复体力值的设定,但是如果是本地时间的话,玩家可以通过修改本地时间的作弊行为来达到迅速恢复体力的目的。RT,我们便需要根据网络时间来进行判定。
2016-03-10 11:34:19
4597
原创 iconv_open()函数
iconv_open()函数: 申请一个字符集转换的描述#include <iconv.h>iconv_t iconv_open(const char* tcode, const char* fromecode) 描述: iconv_open()函数申请一个转换描述符,转换字符序列从编码fromcode到编码tcode 转换描述符包含转换状态,调用icvon_
2016-03-09 10:50:51
17337
原创 在cocos2dx中新开一个黑窗口&&lua中的print在win下问题
在cocos2dx中新开一个黑窗口&&lua中的print在win下问题网上关于cocos2dx和lua的资料真的是少的可怜,实用性的更是少之又少。。。版本大多数是2.x版本的 言归正传,cocos2dx版本 v3.6,1、如何在cocos2dx中新开一个黑窗口,用来专门看输出信息 main.cpp文件中,加 AppDelegate app;前面加上以下代码#ifdef USE_WIN3
2016-02-24 14:45:27
1000
原创 【Cocos2dx】之绑定lua---的坑
终于开始正式学习lua了,看了一下发现lua的基本语法并没有很多,但是和cocos绑定的时候却遇到了很多的问题。 版本:cocos2dx v3.6cocos绑定lua的方法这里就不再赘述,给出官方的链接:cocos2dx之绑定lua 按照官方的步骤走,在编译 genbindings.py 文件的时候遇到了问题,截图如下: 大意就是说 缺少叫做的YAML模块 网上搜了下,发现这个yaml
2016-01-15 11:26:48
1255
原创 【sublime】编译lua
鉴于老板最近要求把游戏做成可以热更新的,又想搞lua,所以就开始研究lua,发现lua没有到现在都没有一个好的IDE,真蛋疼。。。 好了言归正传前提是电脑已经安装了lua和sublime1.sublime中 tools->build system->new build system 复制下面内容 替换原内容{ "cmd": ["lua", "$file"], "file_regex"
2016-01-13 16:12:33
686
原创 【Cocos2d-x】之随机数的产生
此篇文章主要将讲随机数产生的方法,以及各种方法的优劣//第一种 //随机效果一般,每次进入游戏的时候,值都是一样的 for (int i = 0; i < 5; i++) { m_randData = CCRANDOM_0_1() * 200; log("1st------------->%f", m_randData); } //第二种 //随机效果不好,虽
2015-12-25 10:47:33
778
原创 【cocos2d-x】之添加虚拟摇杆
本文节选自:http://www.cocos.com/doc/tutorial/show?id=2201/在原来的基础上,进行了部分优化,并添加了对左上,左下,右上,右下四个方向的控制背景是最近接手的别人的游戏,老板说要添加虚拟摇杆。。。话不多说,直接上代码:HRocker.h#ifndef __HROCKER_H__#define __HROCKER_H__
2015-12-24 17:55:35
748
socket Demo
2017-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人