- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 读书笔记|JavaScript中的调用栈:全局执行上下文和函数执行上下文
每调用一个函数,JavaScript引擎就会为其创建执行上下文,并把该执行上下文压入调用栈中,然后JavaScript引擎开始执行函数代码。如果在一个函数A中调用了另一个函数B,那么JavaScript引擎会为B函数创建执行上下文,并将B函数的执行上下文压入栈顶。当前函数执行完毕后,JavaScript引擎就会将该函数的执行上下文弹出栈。
2023-03-19 14:23:08
322
原创 读书笔记|JavaScript中的变量提升、编译阶段和执行阶段
先编译,再执行。编译阶段,先做变量提升,变量和函数声明部分会被存放到变量环境,变量的默认值会被设置为undefined;编译完毕之后,会得到执行上下文和可执行代码;执行阶段,一行行执行“可执行代码”,JavaScript引擎会从变量环境中查找自定义的变量和函数。
2023-03-19 12:57:04
529
原创 CocosCreator Andorid工程的启动过程
写在前面本篇内容主要是关于用cocoscreator构建的Android工程,在运行apk时候的启动流程。CocosCreator版本:2.3.1正文1、主Activity入口在AndroidMainifest.xml中定义<activity> android:name="org.cocos2dx.javascript.AppActivity" ...
2020-03-13 15:57:17
2520
原创 gulp-tinypng-nokey [error]: xxx Too many files uploaded at once
使用tinypng-nokey压缩图片时,网上给的方案的代码都是这样的:const gulp = require('gulp');const tinypng_nokey = require('gulp-tinypng-nokey');const path = './test/raw-assets/';gulp.task('tiny_png_1', function () { c...
2019-11-04 18:23:27
1928
1
原创 H5游戏微端开发(三):app启动流程
写在前面这篇文章主要是梳理H5游戏微端app的启动流程,然后解决这个流程中出现的问题,如网络检测、断网或访问出错处理。App启动流程个人认为一个H5游戏微端app的启动流程应该是这样的:Created with Raphaël 2.2.0游戏启动页检测联网是否联网?访问游戏主页是否访问成功?进入游戏显示错误页面yesnoyesno自定义html在Android Studio工程...
2019-08-02 22:11:18
2172
原创 H5游戏微端开发(二):缓存——引入第三方库CacheWebView
写在前面上篇文章H5游戏微端开发(一):基础工程——WebView的使用,主要是讲解了WebView的基础用法。但是想要做得好,WebView的缓存和优化是一个问题。这篇文章主要是引入第三方库CacheWebView来解决缓存问题。CacheWebView通过拦截资源实现自定义缓存静态资源。突破WebView缓存空间限制,让缓存更简单。让网站离线也能正常访问。关于webview和H5缓存机...
2019-08-01 13:01:31
1709
原创 H5游戏微端开发(一):基础工程——WebView的使用
# 写在前面这是一篇关于H5微端总结,我主要做搬运工,很感谢各位技术大牛的贡献。H5微端的原理很简单,就是使用Android App的WebView控件。那么什么是webView呢?WebView是手机中内置了一款高性能webkit 内核浏览器,在SDK 中封装的一个组件。 没有提供地址栏和导航栏,WebView只是单纯的展示一个网页界面。简单地可以理解为简略版的浏览器。这篇文章的重点主要是...
2019-08-01 00:00:25
2289
2
原创 CocosCreator游戏开发框架(二):怎么用
上篇文章CocosCreator游戏开发框架(一):是什么 && 为什么主要介绍了游戏框架的内容。这篇文章会在框架的基础上开发一个简单的客户端登陆系统,帮助大家快速上手。需求loading场景,在这里处理登录逻辑连接网络,连接成功显示登录界面输入账号密码登录,账号本地缓存,然后登录登录成功之后跳转到主界面界面1、选中拼好的scene/prefab...
2019-07-07 18:14:01
12354
33
原创 CocosCreator游戏开发框架(一):是什么 && 为什么
写在前面从微信小游戏出生(2018年初)到现在,已经使用CocosCreator一年多了(之前做手游主要是cocos2d-x+lua),趁着这段时间有空,想着整理出一个基于CocosCreator游戏开发框架。这个框架主要是将我在开发过程中觉得好用的结构和模式、插件,以及在论坛上和博客上参考大神们的教程和想法(有些是直接拿来用),整合在一起的。一方面想提高开发效率,另一方面大家发现问题及时提...
2019-07-07 17:11:49
29616
23
原创 lua防止访问不存在的全局变量
当访问lua中不存在的全局变量时并不会报错,而是返回nil值。在我们开发的时候稍微不注意写错了变量名,程序并不会报错,类似于下面这种情况。test = 1print(tets)为了防止这种情况,我们可以通过给全局表设置自定义元表来解决。全局表_G,所有的全局变量和全局函数都放在这里面,比如上面的test=1,其实是_G.test = 1。
2016-06-15 22:54:21
3226
原创 Cocos2dx游戏优化总结
独立开发游戏不容易,初期的立项,中期是功能开发与方案修改的死循环,到后期资源的优化、代码加密等。现在把踩过的坑,和做过的事记录下来,一方面给自己做个记录,好记性不如烂笔头,另一方面也希望能够帮助到大家。下面整理的知识,有一些是开发过程中注意到的,有一些是之前没注意,但是到了后期需要的时候上网查资料,请教别人之后整理的。一、初期需要规划好资源目录。二、选择图片格式。a
2016-03-19 13:57:56
5448
原创 Cocos2d-x客户端代码加密
继昨天的资源加密之后,今天继续来说下代码如何加密。讲原理的网上一大把,讲加密原因也是,本博注重的是如何让新手一步步完成代码加密。一、下载quici-cocos2d-xquick-cocos2d-x封装了一套加密的工具,先下载quick-cocos2d-x,git地址https://github.com/dualface/v3quick。解压之后把bin目录拷贝到我们的cocos2d-x工程根目录。
2016-03-15 07:34:05
1999
原创 Cocos2d-x客户端资源加密
安卓打包的apk文件只是做了简单的压缩,通过解压缩可以获取资源文件,如果不想图片资源被别人看到,那么可以对图片进行加密。cocos2d-x提供了xxtea加密和解密算法,先将图片进行加密,这样就打不开图片了,然后在CCImage解析图片的时候进行解密即可。一、加密用下面两个python脚本,对图片进行加密。##################################
2016-03-14 22:47:04
9272
原创 数组和指针作为函数参数——高质量C、C++编程指南
本文内容出自《高质量C、C++编程指南》。阅读之后理解,然后通过自己的话和例子讲清楚,这样才是学习之道。以下内容都是自己所认为的东西,如果哪里错了,希望各位大神指出。1、数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。2、指针参数是如何传递内存的3、使用指针参数传递内存
2015-06-14 17:02:23
3955
原创 指针和数组——高质量C、C++编程指南
本文内容出自《高质量C、C++编程指南》,通过阅读之后整理和总结,并用例子证明。数组:在静态存储区创建或者栈上创建。数组名对应着一块内存,其地址与容量在生命周期内保持不变,只有数组的内容可以改变。指针:随时指向任意类型的内存块,特征是“可变”,所以指针可以用来操作动态内存。
2015-06-13 10:15:22
895
原创 内存分配和常见错误——高质量C、C++编程指南
本文内容出自《高质量C、C++编程指南》,这本书对内存管理这些内容说得很好,故整理出来跟大家分享。一、内存分配方式1、从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。2、在栈上创建。如函数内局部变量,在函数执行结束时会被自动释放。栈上创建的变量效率很高,但是分配的内存容量有限。3、
2015-06-10 21:33:30
738
原创 CxImage入门教程,图文并茂
作为一个游戏客户端程序员,需要对图像处理有一定的知识。 CxImage是C++实现的功能强大的、能处理多种文件格式的图像管理类。它能够简单快速的实现图像的导入、保存、显示和变换。同时又具有平台无关,免费开源,支持多种图片格式几何操作、图像处理、图像格式转换等优点。所以就从CxImage入手吧。 本文参考自http://www.cnblogs.com/kex1n/archive/2010/01/16/1649059.html,这篇文章讲的挺详细了,我在此基础上自己动手,然后通过图片,为了让跟我一样的初
2014-11-16 11:16:03
8309
4
原创 Cocos2d-x 动手实现游戏主循环
由于Cocos2d-x封装的很好,所以对于很多新手,他们只知道先new一个场景,在场景上添加布景或精灵,然后用Director的runWithScene便可以运行游戏了。如果给一个精灵加个动作,精灵就会动,如果给布景层添加个定时器,游戏会定时执行。你知道为什么会这样吗? 作为一个游戏开发者,我觉得进入游戏这一行业之前,一定要先搞清楚“游戏主循环”这个东东,可惜我到现在才来研究这个东东。或许网上关于Cocos2d-x游戏主循环的讲解一大把,但是这篇文章,我会教你怎么来实现游戏主循环。
2014-08-26 21:58:18
2368
原创 Cocos2d-x 3.1 一步步做屏幕适配
本文并不想讲关于屏幕适配的概念或者大道理,而是在看了网上一些讲屏幕适配理论知识后,自己动手一步一步做个demo,然后把自己的收获发表出来。相信通过图文说明,实例说明,你可以很快就了解到cocos2d-x屏幕适配真的很简单,并且很快掌握。
2014-08-10 11:56:33
5318
原创 C++生成和使用dll和lib
dll和lib:动态链接库(dll)是一个可以被其他应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。和可执行文件(exe)非常类似,区别在于dll中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。静态链接库(lib)包含函数代码本身,在编译时直接将代码加入程序当中。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费
2014-08-03 14:46:06
10233
1
原创 Cocos2d-x 3.1 修改程序名、图标和屏幕方向
做出一款cocos2d-x游戏,如果修改游戏名、游戏图标和游戏的屏幕方向呢?请点击进来。
2014-07-20 12:51:36
4930
原创 Cocos2d-x 3.1 内存管理机制
Cocos2d-x使用的内存管理方式是引用计数,引用计数是一种很有效的机制,通过给每个对象维护一个引用计数器,记录该对象当前被引用的次数。当对象增加一次引用时,计数器加1;而对象失去一次引用时,计数器减1;当引用计数为0时,标志着该对象的生命周期结束,自动触发对象的回收释放。引用计数的重要规则是每一个程序片段必须负责任地维护引用计数,在需要维持对象生存的程序段的开始和结束分别增加和减少一次引用计数,这样就可以实现十分灵活的内存管理。
2014-07-06 09:06:47
1744
转载 STL——容器特征总结
(注:本文转载自http://blog.csdn.net/hackbuteer1/article/details/7734534)Vector1、内部数据结构:连续存储,例如数组。2、随机访问每个元素,所需要的时间为常量。3、在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。4、可动态增加或减少元素,内存管理自动完成,但
2014-03-09 11:49:00
816
转载 STL——迭代器失效总结
(注:本文转载自http://blog.csdn.net/hackbuteer1/article/details/7734382) 迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator++()))的对象,我们可以将它理解成为一个指针。 首先对于vector而言,添加和删除操作可能使容器的部分或者全部迭
2014-03-09 11:42:31
2105
转载 STL——顺序容器的总结
(注:本文转载自http://blog.csdn.net/hackbuteer1/article/details/6791260)本文主要讨论C++标准库中的顺序容器及相应的容器适配器,这些内容主要涉及顺序容器类型:vector、list、deque,顺序容器适配器类型:stack、queue、priority_queue。标准库中的容器分为顺序容器和关联容器。顺序容器(sequent
2014-03-09 11:37:11
1124
原创 Cocos2d-x 触屏事件解析
触屏事件是游戏的一个很重要的部分,没有了触屏,游戏就不叫游戏。而在Cocos2d-x中触屏事件是如何处理的呢?下面一起来学习学习。一、首先,了解一下触摸相关的类:1、CCTouch:封装触摸点,可以返回基础OpenGL或屏幕的点。2、CCTouchDelegate:触摸事件委托,系统捕捉到事件后交由它或者它的子类处理,所以我们在处理触屏事件时需要继承此类。封装了下面这些
2014-01-20 13:06:22
2079
2
原创 Cocos2d-x CCNode的节点操作——添加、移除和渲染
CCNode是Cocos2d-x的一个非常重要的概念,所有可以被渲染或者包含可渲染的都是一个CCNode。最主要的CCNode有:CCScene,CCLayer,CCSprite,CCMenu。关于CCNode的源码分析网上大把,但是因为介绍的东西太多而导致里面的很多细节都不能涉及到。这篇文章主要是讨论一下节点的添加、移除和渲染,也就是我们经常用到的addChild、removeChild和dra
2014-01-17 13:09:36
13947
转载 cocos2d-x自制工具:打印cocos2d-x的节点树
本文出自 “老G的小屋” 博客,转载地址:http://4137613.blog.51cto.com/4127613/1350243都说cocos2d-x是基于节点树渲染的2D引擎(还有一种是用指令方式进行绘制的引擎,在功能机时代很常见)。但是节点树是神马玩意,节点树是神马概念。最近市面上cocos2d-x的书比较多,如果你有幸买了一本的话,上面大约会写上因为o
2014-01-13 18:05:53
1010
原创 Cocos2d-x TestApp分析
Cocos2d-x引擎自带的解决方案中的TestApp绝对是新手学习的好材料,下面就来分析一下TestApp的结构。我的引擎版本是cocos2d-x-2.2。 打开解决方案cocos2d-win32.vc2010.sln,查看TestApp-》Classes:testResource:存放资源路径的头文件tests:添加头文件和主界面菜单的文字Vi
2014-01-09 09:52:49
1465
原创 Cocos2d-x 坐标研究
无论是搞2d还是3d开发,最需要搞清楚的就是坐标系。网上很多讲解坐标系的文章,要么写得很模糊,要么纯粹是转载,此文章是在参考了各位大神的博客之后,根据自己的理解写的,在后面也分析了几个例子。菜鸟入门,不喜勿喷!部分转载自:http://blog.163.com/zjf_to/blog/static/201429061201292193855498/Cocos2d-x在CCNod
2013-11-29 12:30:13
1333
原创 Cocos2d-x 剖析HelloWorld
搭建好环境之后的第一件事,就是如何在搭建好的环境下运行我们的第一个程序HelloWorld。下面来剖析一下HelloWorld。本人菜鸟,只想把学到的跟大家分享,有错请指出交流,不喜勿喷。剖析之前需先掌握引擎的基本知识,这里有个链接:http://www.cnblogs.com/lhming/category/391396.html新建工程HelloWorld:
2013-06-09 10:48:30
1220
原创 Cocos2d-x 创建Android工程和编译+导入到Eclipse编译
根据前两篇文章,我们大概搭建完成了开发环境,现在来创建Android工程和编译: 1、cygwin编译进入cocos2d-x,用编辑器打开create-android-project.bat,修改三个路径:@echo off:: This script is used to create an android project.:: You should modify _AN
2013-06-07 18:45:02
3062
2
转载 Cocos2d-x Android平台工程创建+Cygwin
这里主要是转载了日月之明的博客,链接:http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html 1、android SDK+NDK安装1)、安装java jdk(如果已经安装了,可以不用此步骤)进入:http://www.oracle.com/technetwork/java/javase/downloads/ind
2013-06-07 17:47:19
1269
原创 Cocos2d-x Win7环境搭建:VS2010+Cocos2d-x
学习cocos2d-x的第一步就是搭建环境,这里用的是 win7 + VS2010 + Cocos2d-x 。本篇文章是参考网上好多教程,然后通过实践和总结得出的。1、安装VS2010 先从微软官方下载VisualStudio2010,链接入口:http://www.microsoft.com/zh-cn/download/details.aspx?id=12187。有
2013-06-07 17:10:24
3136
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人