- 博客(71)
- 资源 (19)
- 收藏
- 关注
原创 CocosCreator(2.0.10) 全局捕捉异常
为了方便捕捉游戏在终端运行时发生的异常,可以在全局任意地方添加如下代码,报错时上报exception给服务器,方便记录if(cc.sys.isNative) { window.__errorHandler = function (errorMessage, file, line, message, error) { let exception = {}; exception.err...
2019-07-23 10:07:12
3626
原创 cocos2dx之九宫格
1、原理 CCScale9Sprite的实现非常巧妙,是通过1个CCSpriteBatchNode和9个CCSprite来实现的,原理很简单,通过将原纹理资源切割成9部分(PS: 这也是叫九宫图的原因),根据想要的尺寸,完成以下的三个步骤: (1)保持4个角部分不变形 (2)单向拉伸4条边(即在4个角两两之间的边,比如上边,只做横向拉伸) (3)双向拉伸中间部分(即
2017-08-21 21:48:37
1767
转载 lua中关于取长度问题
原文:http://www.2cto.com/kf/201501/370498.html 首先要明确的是lua中有两部分:数组部分和hash表部分。而基本上所有操作都是先数组后hash表。local test1 = { 1 , 2 , 3 , 4 , 5 } print(#test1) 打印结果: 5local test1 = { 1, 3 , 5 , 2 , 4 } print(#test
2017-07-27 23:16:23
2642
原创 Cocos2dx在mac上运行 NSConcreteAttributedString initWithString:: nil value
Cocos2dx在mac上运行 NSConcreteAttributedString initWithString:: nil value从windows环境下,更换到mac环境,运行报错,如下: NSConcreteAttributedString initWithString:: nil , 此时模拟器卡主,再次点击崩溃!寻求答案过程: 1. 定位到cc.CSLoader:createNo
2016-08-18 22:58:12
1758
转载 P2P、P2C、O2O、B2C、B2B、C2C 的区别
转载:http://news.mbalib.com/story/88506 http://www.ceconline.com/sales_marketing/ma/8800074438/01/P2P、P2C 、O2O 、B2C、B2B、 C2C的概念解析P2P到底是什么呢? P2P借贷是一种将非常小额度的资金聚集起来借贷给有资金需求人群的一种民间小额借贷模式。P2P是“P
2016-02-14 14:13:13
786
转载 cocos2d-x-3.2 OrbitCamera使用
转自:http://blog.youkuaiyun.com/notbaron/article/details/38447253 理论介绍 首先我们来看下Orbit是什意思,orbit['ɔ:bɪt][美][ˈɔrbɪt]表示 轨道; 势力范围。 然后我们来看下继承关系,如下图 这个OrbitCamera类是ActionCamera类的唯一孩子。我们看一下这个类的create函数如下:static
2015-11-04 23:03:44
3954
原创 cocos2d-x Scale9Sprite的使用方法 lua篇
这里简单记录一下Scale9sprite的使用方法,其实使用这个方法主要是用来拉伸图片,好处就是该方法拉伸的程度不会像setScale方法这样严重扭曲变形。而是将一个纹理分为九个部分,也就是九宫格,上图: 将图片为9个部分,拉伸的情况下1,3,7,9 不会拉伸,2,8部分水平方向拉伸,4,6部分竖直方向拉伸,5两个方向都会拉伸,这样纹理就不会扭曲变形。 下面,贴出代码看一下九宫格怎么使用注意
2015-09-20 21:25:01
10908
原创 Cocos2dx3.x + lua 进度条的使用
-- 创建Bar进度条ProgressTimerfunction createProgressBar(spriteFileName,anchorPoint,scaleX,scaleY,positionX,positionY,start,direction,percent) local midpoint = nil if start == 1 then mid
2015-08-13 09:23:36
1850
原创 lua 三元运算符的使用
C 语言中有 a?b:c 的方法,用来判断,如果a 为真,则结果为b,如果a为假,则结果为c下面用一个比较的函数来说明lua中三元运算符的使用-- lua 三元运算符的使用 类似C中的 a > b ? c function compare1(a,b) if a > b then return a else return b ende
2015-08-05 23:13:39
11065
转载 lua 模块开发
文章转自:http://blog.kenshinx.me/blog/lua-module/定义模块的方式定义module有两种方式,旧的方式,适用于Lua 5.0以及早期的5.1版本,新的方式支持新发布的Lua5.1和5.2版本。旧的方式 通过module(“…”, package.seeall)来显示声明一个包。看很多github上面早期的开源项目使用的都是这种方式,但官方不推荐再使用这种方式。
2015-08-02 19:14:26
617
原创 lua实现继承、多态
类的概念 在支持面向对象的语言中,只知道类是一系列属性和方法的集合,通过学习lua的面向对象原理,类可以看做是一个表,表中的键为属性和方法,属性 对应的值为 属性值,如 table.name = “xxx”,name为键,“xxx”为值,方法对应的值为函数的实现体。这样,lua的面向对象就可以通过table来实现了。如何查找表中的元素?下面我们需要理解在Lua的表中是怎么查找一个键所对应的值的。假
2015-08-02 18:14:24
1821
转载 冒泡排序
在开发中,对一组数据进行有序地排列是经常需要做的事情,所以掌握几种甚至更多的排序算法是绝对有必要的 本文章介绍的是排序算法中较简单的一种算法:冒泡排序 题外话:在深入学习更多排序算法后和在实际使用情况中,冒泡排序的使用还是极少的。它适合数据规模很小的时候,而且它的效率也比较低,但是作为入门的排序算法,还是值得学习的先尝试用最简单的想法去实现排序,以此来比较学习冒泡排序 问题:设有一数组,其大小
2015-06-08 01:05:28
438
转载 cocos2dx-3.0------场景切换效果
//场景切换 //[1] TransitionJumpZoom/**作用: 场景缩小跳出消失,目标场景跳入*/Director::getInstance()->replaceScene(TransitionJumpZoom::create(1.2f,scene));//[1]//[2] TransitionFade/**作用: 淡出淡入,原场景淡出,新场景淡入*/Director
2015-06-03 10:42:33
484
转载 cocos2dx中的cocosDenshion对不同平台音频支持格式
本文转自http://www.cocos2dx.net/?p=154 开发者必须要注意,cocos2dx在不同的平台调用了不同的SDK API来播放背景音乐和音效。cocosDenshion一次仅只能播放一首背景音乐,但是可以异步的播放很多音效。背景音乐 音效注意:Samsung i9100的音频驱动有bug。它不能一次播放太多的音效。你不要太频繁去调用SimpleAudioEngine::pl
2015-06-03 10:35:28
399
原创 cocos2dx——实现儿童节贺卡03
最后,添加每个字体(精灵)的效果啦 第一行是”祝“,闪烁动作,一定次数之后放大; 第二行是名字,三个字体分别做顺时针旋转,循环放大缩小,逆时针旋转; 第三行是”节日快乐“四个字循环的左右跑动;直接上代码,代码写的有点烂:#ifndef _SecondScene_H_#define _SecondScene_H_#include "cocos2d.h"USING_NS_CC;class Se
2015-06-02 00:52:12
423
原创 cocos2dx——实现儿童节贺卡02
这下来实现幻灯片的播放效果,定义一个精灵数组,依次播放,每张播放完成后回调一个函数即可 名字起反了,先叫ThreeScene吧,有点别扭#ifndef _ThreeScene_H_#define _ThreeScene_H_#include "cocos2d.h"USING_NS_CC;class ThreeScene :public Layer {public: bool ini
2015-06-02 00:38:26
369
原创 cocos2dx——实现儿童节贺卡01
有些时间没有用到cocos了,净忙着复习,屌丝过个儿童节貌似更屌丝,还是敲代码吧,看着别人在朋友圈里发照片,我的照片呢?算了,给外甥做个贺卡,也当复习复习cocos了!先说一说贺卡大体的效果: 1.进入欢迎界面,实现淡入淡出的效果; 2.实现一个幻灯片播放,每张切换都用淡入淡出效果,同时添加粒子特效; 3.幻灯片播放之后,进入祝贺界面:几个字体通过各种动作实现一些效果; 4.添加背景音乐的播
2015-06-02 00:26:52
540
原创 m进制转为n进制(0<m,n<=10)
首先,将m进制转为10进制,然后在将10进制转为n进制;(都用辗转相除法)#include <iostream>using namespace std;void mToN(char* src, int m, char* dest, int n);void reverseString(char *s);int main() { char A[100] = { 0 }; mToN
2015-05-31 20:51:22
706
原创 将正整数N转换成m(2-16)进制数
给出一个正整数N和目标进制,将其转换并且输出 代码如下:#include <iostream>using namespace std;void mTurntoN(int m, int n, char* buf);int main() { char buf[100] = { 0 }; cout << "输入要转化的进制:"; int n; cin >> n; c
2015-05-31 19:06:47
1293
原创 回溯法解决0-1背包问题
1004.0-1背包问题 时限:1000ms 内存限制:10000K 总时限:3000ms 描述 需对容量为c 的背包进行装载。从n 个物品中选取装入背包的物品,每件物品i 的重量为wi ,价值为pi 。对于可行的背包装载,背包中物品的总重量不能超过背包的容量,最佳装载是指所装入的物品价值最高。输入 多个测例,每个测例的输入占三行。第一行两个整数:n(n<=10)和c,第二行n个整数分别是
2015-05-30 21:17:03
1767
转载 在OpenGL中用参数方程绘制球体
转载链接http://blog.163.com/tianshi_17th/blog/static/48564189200832992845889/运行效果: 程序的代码Sphere.h#pragma once// Windows Header Files#include <windows.h>// C RunTime Header Files#include <stdlib.h>#inclu
2015-05-27 12:26:10
2714
原创 opengl 画一些基本的图形
画一些点、线、面的基本图形// Test1OpenGl.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <gl\glut.h>#include <cmath>void display(void) { glClear(GL_COLOR_BUFFER_BIT); //清除颜色 //画点 //glPointSize(5);
2015-05-24 23:23:20
582
原创 配置VS的opengl开发环境(windows)
在初步了解了opengl的一些基本函数之后,试着创建以下工程,在创建工程之前配置以下VS的环境。下载glut库glut库地址为:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zipglut全称为:OpenGL Utility Toolkit,也就是OpenGL应用工具包,它建立在OpenGL基础之上,方便开发OpenG
2015-05-24 21:16:01
457
原创 初时OpenGL,OpenGL应用工具包GLUT的基本函数
1.初始化和创建窗口为了初始化并打开一个窗口,需要调用五个函数完成必要的任务。 1).void glutInit(int argc,char**argv);该函数用于初始化GLUT库,其参数应与主函数main()的参数相同。应该在调用其他GLUT函数之前调用glutInit()函数。 2).void glutInitDisplayMode(unsigned int mode);该函数为即将创建的
2015-05-24 20:57:09
957
转载 C/C++中static的区别
static 用途 1 static局部变量 表示该变量不是auto型的,就是说,该变量在程序开始的时候创建,在程序结束的时候存储空间不释放,使用的时候沿用上一次的那个值 2 static 全局变量 表示该变量只能在本文件中使用,不能被其他文件使用 3 static 函数 表示该函数只能在本文件中使用 不能被其他文件中的函数调用 4 static 类成员变量 表示这个类被全类拥有 该类的所有
2015-05-16 22:49:42
410
转载 C/C++中static、const的区别
static 用途 1 static局部变量 表示该变量不是auto型的,就是说,该变量在程序开始的时候创建,在程序结束的时候存储空间不释放,使用的时候沿用上一次的那个值 2 static 全局变量 表示该变量只能在本文件中使用,不能被其他文件使用 3 static 函数 表示该函数只能在本文件中使用 不能被其他文件中的函数调用 4 static 类成员变量 表示这个类被全类拥有 该类的所有
2015-05-16 22:30:29
1160
原创 Cocos2dx3.5 opengl方式制作屏幕写字板
通过重写draw函数,来实现根据手势划线的功能,代码一看就能明白#ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#include "cocos2d.h"USING_NS_CC;struct Line{ Vec2 p1; Vec2 p2;};class HelloWorld : public cocos2
2015-05-13 18:25:19
535
原创 循环链表 ——解决约瑟夫环
已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。#include <iostream>using namespace std;struct Node { int data; Node* next;};Node* create(in
2015-05-10 21:37:40
705
原创 动态规划之防卫导弹
问题: 一种新型的防卫导弹可截击多个攻击导弹。它可以向前飞行,也可以用很快的速度向下飞行,可以毫无损伤地截击进攻导弹,但不可以向后或向上飞行。但有一个缺点,尽管它发射时可以达到任意高度,但它只能截击比它上次截击导弹时所处高度低或者高度相同的导弹。现对这种新型防卫导弹进行测试,在每一次测试中,发射一系列的测试导弹(这些导弹发射的间隔时间固定,飞行速度相同),该防卫导弹所能获得的信息包括各进攻导弹的高
2015-05-10 00:50:24
1454
转载 最长公共子序列问题
字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。考虑最长公共子序列问题如何分解成子问题,设A=“a0,a1,…,am-1”,B=“b0,b1,…,bm-1”,并Z=“z0,z1,…,zk-1”为它们的最长公共子序列。不难证明有以下性质:(1) 如果am-1=bn-1,则zk-1=am-1=bn-1,且“z0,z1,…,zk-2”是“a0,
2015-05-10 00:45:32
423
原创 有这样一个数组A,大小为n,相邻元素差的绝对值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。现在,给定A和目标整数t,请找到t在A中的位置。
在笔试中遇到过这样一个数组问题,只知道一般的解法: 数组第一个数为array[0], 要找的数为y,设t = abs(y - array[0])。由于每个相邻的数字之差的绝对值为1。故第t个位置之前的数肯定都比y小。因此直接定位到array[t],重新计算t,t = abs(y – array[t]),再重复上述步骤即可。这种算法主要利用了当前位置的数与查找数的差来实现跨越式搜索。算法效率要比遍历
2015-05-09 15:19:59
2702
原创 C++ 实现strcpy
不使用任何字符串库函数是实现strcpychar* _strcpy(char* dest, const char* src) { assert(dest != NULL && src != NULL); char* temp = dest; while (*src != '\0') { *dest = *src; dest++;
2015-05-06 19:17:19
1111
原创 C++ 指针顺序
c++中while(*p++);与while(*p){p++;}有什么区别?区别在于退出循环后, p的值不一样while( *p++ ); //当*p=0时,退出循环,此时p++仍然执行了 while( *p ) p++; //当*p=0时,退出循环,此时p++不再被执行例如 char *p=”ABCD”; 执行完第一个while循环后,p指向的是’\0’后面的一个字节,*p的结果是未知的
2015-05-06 19:15:09
467
原创 C++ 实现strcmp
实现strcmp函数,不使用任何的字符串库#include <iostream>#include <cassert>#include <cstring>using namespace std;int _strcmp(const char* s1, const char* s2) { assert(s1 != NULL && s2 != NULL); while (*s1 !=
2015-05-06 17:28:26
3097
转载 C++ const 与 重载
重载函数的定义:出现在相同作用域中的两个函数,如果具有相同的名字而形参表不同,则称为重载函数。根据教材定义,如果有两个名字相同的函数,二者形参名字和类型都相同,但一个函数的形参带 const 修饰,而另一个函数不带 const 修饰,那么这两个函数应该也是重载函数。就像下面这两个版本://// 版本 1 //int increase(int &val){ return ++val;
2015-05-06 17:00:42
443
转载 C++ 公有(public)继承,私有(private)继承,保护(protected)继承
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这
2015-05-06 16:36:55
850
转载 C++ i++ 与++i的优先级
直接上一段代码看一下吧#include <iostream>using namespace std;#define P(x) x*xint main() { int x = 2; cout << P(x++) << endl; // cout << x++ * x++ <<endl; cout << P(++x) << endl; // cout << ++x * ++x
2015-04-27 23:08:51
896
原创 C++之观察者模式(订阅-发布模式)
定义:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。最常见的一个例子就是:对同一组数据进行统计分析时候,我们希望能够提供多种形式的表示(例如以表格进行统计显示、柱状图统计显示、百分比统计显示等)。这些表示都依赖于同一组数据,我们当然需要当数据改变的时候,所有的统计的显示都能够同时改变。Obse
2015-04-27 13:03:49
10809
4
转载 C++中 #ifndef #define #endif的作用
加上以上的宏是未了防止头文件被重复引用,当编译器第一次编译头文件的时候,会定义_HEAD_H,然后如果还有文件引用了该头文件,但_HEAD_H已经被定义了,所以就不会在去编译你的头文件添加的内容。这就是条件编译。比如你有两个cpp文件,这两个cpp文件都include了同一个头文件。而编译时,这两个Cpp文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。例如:假设你的工程里面有4个文件,
2015-04-26 22:37:05
4402
OpenGL.Superbible.7th.Edition
2017-10-13
OpenGL ES Shading Language
2017-10-13
MicrosoftSqlServerCompact3.5
2017-09-06
winSocket编程之TCP聊天小工具
2015-03-13
cocos2dx 3.0 FlappyBird改编版源码 zozuonodie
2014-12-29
cocos2dx3.0 虚拟摇杆 joystic
2014-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人