
Cocos2d-x
coder_hsc
这个作者很懒,什么都没留下…
展开
-
Cocos2d-x 2.1.5 简单动画
Cocos2d新版本函数更改了一些。下面的代码可以产生一个简单动画。 //第一步:生成动画需要的数据 CCTexture2D *texture=CCTextureCache::sharedTextureCache()->addImage("image.png"); CCSpriteFrame *frmae0=CCSpriteFram原创 2013-09-18 15:31:56 · 1479 阅读 · 0 评论 -
quick-cocos2d-x开发环境搭建
1,下载好寥大的quick-coco2d-x,请使用github克隆版,对github终端运行不熟悉的,请下载github客户端。windows:点击打开链接mac:Mac下载地址【建议使用命令行的github版本 下载:http://git-scm.com然后去克隆:可以参见:点击打开链接】然后去克隆:https://github.com/dual转载 2014-07-29 14:42:51 · 3994 阅读 · 0 评论 -
在lua环境中使用protobuf
最近在cocos2dx的项目中,需要在LUA脚本层使用protobuf协议。官方已经推出了很多种语言的版本。但唯独LUA版本不全。于是开始研究protobuf在LUA下的实现,将完整的过程记录了下来,希望对其它人能有所帮助。1、下载protoc-gen-lua可以通过HG从服务器(hg clone https://code.google.com/p/protoc-gen-lua/)转载 2014-09-16 13:56:09 · 13193 阅读 · 0 评论 -
cocos2d-x 3.3 导入lua扩展库
cocos2d-x 导入lua扩展库有几个点需要注意:1、cocos2d-x 中的lua版本为5.1.4,所导入的lua库需要对应相应的版本库。2、在vs 2012 中编译cocos2d-x ,添加的C文件需要注明用C编译,如一般.h文件需要这样写#ifndef __LUA_LPEG_H_#define __LUA_LPEG_H_#if __cplusplusextern原创 2015-02-09 11:35:01 · 2438 阅读 · 0 评论 -
cocos2dx-3.x 导入lua扩展库
使用cocos2dx-lua做开发,免不了需要利用额外的lua扩展库。lua 扩展库一般由 c/c++ 写成,其接口有两种方式生成,一种是手写luaL_register(lua5.1),另一种是利用 tolua++ 工具。这里讨论的是前者,即如何把已经写好的库导入到cocos2dx项目中使用。项目采用的是 cocos2dx-3.x 版本,涉及到的目录文件请对号入座。准备所需的库转载 2015-02-09 16:43:08 · 10542 阅读 · 4 评论 -
泡泡堂、QQ堂游戏通信架构分析
本文作者:sodme本文出处:http://blog.youkuaiyun.com/sodme声明:本文可以不经作者同意任意转载、复制、引用。但任何对本文的引用,均须注明本文的作者、出处以及本行声明信息。 之前,我分析过QQ游戏(特指QQ休闲平台,并非QQ堂,下同)的通信架构(http://blog.youkuaiyun.com/sodme/archive/2005/06/12/393165.转载 2015-04-16 15:03:42 · 2270 阅读 · 0 评论 -
小谈Online-game服务器端设计(3)
下面我想来谈谈关于服务器上NPC的设计以及NPC智能等一些方面涉及到的问题。首先,我们需要知道什么是NPC,NPC需要做什么。NPC的全称是(Non-Player Character),很显然,他是一个character,但不是玩家,那么从这点上可以知道,NPC的某些行为是和玩家类似的,他可以行走,可以战斗,可以呼吸(这点将在后面的NPC智能里面提到),另外一点和玩家物件不同的是,NPC可以复生(转载 2015-04-16 15:10:14 · 538 阅读 · 0 评论 -
小谈Online-game服务器端设计(1、2)
谈这个话题之前,首先要让大家知道,什么是服务器。在网络游戏中,服务器所扮演的角色是同步,广播和服务器主动的一些行为,比如说天气,NPC AI之类的,之所以现在的很多网络游戏服务器都需要负担一些游戏逻辑上的运算是因为为了防止客户端的作弊行为。了解到这一点,那么本系列的文章将分为两部分来谈谈网络游戏服务器的设计,一部分是讲如何做好服务器的网络连接,同步,广播以及NPC的设置,另一部分则将着重谈谈哪些逻转载 2015-04-16 15:07:19 · 622 阅读 · 0 评论 -
小谈Online-game服务器端设计(4)
在这一章节,我想谈谈关于服务器端的脚本的相关设计。因为在上一章节里面,谈NPC智能相关的时候已经接触到一些脚本相关的东东了。还是先来谈谈脚本的作用吧。 在基于编译的服务器端程序中,是无法在程序的运行过程中构建一些东西的,那么这个时候就需要脚本语言的支持了,由于脚本语言涉及到逻辑判断,所以光提供一些函数接口是没用的,还需要提供一些简单的语法和文法解析的功能。其实说到底,任何的事件都可以看成两个转载 2015-04-16 15:09:14 · 529 阅读 · 0 评论 -
负载均衡--大型在线系统实现的关键(上篇)(再谈QQ游戏百万人在线的技术实现)
本文作者:sodme本文出处:http://blog.youkuaiyun.com/sodme声明:本文可以不经作者同意任意转载,但任何对本文的引用都须注明作者、出处及此声明信息。谢谢!! 要了解此篇文章中引用的本人写的另一篇文章,请到以下地址: http://blog.youkuaiyun.com/sodme/archive/2004/12/12/213995.aspx 以上的这篇文章是早转载 2015-04-16 15:28:13 · 693 阅读 · 0 评论 -
负载均衡--大型在线系统实现的关键(下篇)(服务器集群架构的设计与选择)
本文作者:sodme本文出处:http://blog.youkuaiyun.com/sodme声明:本文可以不经作者同意任意转载,但任何对本文的引用都须注明作者、出处及此声明信息。谢谢!! 在网络应用中,“负载均衡”已经不能算是什么新鲜话题了,从硬件到软件,也都有了很多的方法来实现负载均衡。我们这里讨论的负载均衡,并不是指依靠DNS转向或其它硬件设备等所作的负载均衡,而是指在应用层所作的负载转载 2015-04-16 15:27:46 · 792 阅读 · 0 评论 -
luasocket之udp, 在openwrt下自测成功
UDPsocket.udp()创建并返回一个无连接的UDP对象。该无连接对象支持以下函数:sendto、receive、receivefrom、getsockname、setoption、settimeout、setpeername、setsockname、close。其中的setpeername被用作连接对象(待解释)。 connected:close()转载 2015-04-16 16:32:30 · 6667 阅读 · 0 评论 -
网络游戏的对时以及同步问题
大多数实时网络游戏,将 server 的时间和 client 的时间校对一致是可以带来许多其他系统设计上的便利的。这里说的对时,并非去调整 client 的 os 中的时钟,而是把 game client 内部的逻辑时间调整跟 server 一致即可。一个粗略的对时方案可以是这样的,client 发一个数据包给 server,里面记录下发送时刻。server 收到后,立刻给这个数据包添加一个s转载 2015-04-16 17:01:04 · 1280 阅读 · 0 评论 -
游戏服务器:到底使用UDP还是TCP
在编写网络游戏的时候,到底使用UDP还是TCP的问题迟早都要面对。一般来说你会听到人们这样说:“除非你正在写一个动作类游戏,否则你就用TCP吧” 或者是 “你能够在MMO游戏中用TCP,因为魔兽世界就用的TCP!”遗憾的是,这些观点都没有反映这个问题的复杂性。背景首先,说明一下,我之前主要是用TCP进行网络编程。我曾为一个流行的在线纸牌游戏编写服务器了好几年,在高峰转载 2015-04-16 17:06:40 · 13991 阅读 · 2 评论 -
cocos2dx lua 热更新
最近研究cocos2dx + lua 实现游戏的热更新。基本原理:比如我有一个GameScene,显示"hello world",现在热更新,更新之后显示"hello SB".如果是用c++来开发,那么只用把它作成lib库,更新时替换lib库。用lua的话,更简单,替换相关的lua就可以了。GameScene.lua[cpp] view plaincopy转载 2015-11-20 16:06:27 · 1563 阅读 · 0 评论 -
cocos2dx中zip包读取解压使用
记录一下在cocos2dx中读取zip和解压zip1.读取zip获取可读写入路径,把zip文件拷到可读写路径下,如下[cpp] view plain copybool ResourcesDecode::loadZIP(const std::string &zipFilename,const std::string &passw转载 2017-04-24 11:22:58 · 3266 阅读 · 0 评论 -
MAC 上搭建lua
其实mac上搭建lua环境,google上大把资料,我只是整合一下,因为小弟搭建的时候确实碰到一些问题。下载和安装lua:(转自这里)1. 下载最新版的lua-5.2.0 请点击,然后解压 2. 运行“终端”进入到该文件夹下 ,主要是cd 【文件夹名】3.在“终端”输入 make macosx (回车)4.在“终端”输入 make test (回车转载 2014-07-28 08:52:19 · 3437 阅读 · 1 评论 -
cocos2dx 2.2.3 xcode5.0,新建mac项目报错
cocos2dx 2.2.3 xcode5.0,新建mac项目报错 Undefined symbols for architecture x86_64: "cocos2d::extension::LabelReader::createInstance()", referenced from: cocos2d::extension::GUIRead原创 2014-05-30 23:31:54 · 2668 阅读 · 0 评论 -
升级到cocos2d-x 2.0.2代码差异
最近看cocos2d-x 2.0.2发布后升级了一下,升级后发现又出现了很多错误,原来有一些地方的代码用法改变了。在修改代码的过程中,简单做了一些记录,当做是一个备忘录。1、CCScene和CCLayer的初始化统一用create()函数进行创建。//升级前代码CCScene *scene=NULL;do{ scene=CCScene::node();转载 2013-09-23 16:32:32 · 921 阅读 · 0 评论 -
【cocos2d-x】瓷砖地图(TileMap)基础知识
在瓷砖地图游戏里,游戏图形由叫做“瓷砖”(tiles)的一小组图片相互排列组成。这些图片被放置在一个网格中,得到的效果就是令人信服的游戏世界。瓷砖地图的概念非常吸引人,因为你可以节省内存而不必使用很多贴图渲染整个世界,同时还可以有很多不同的组合。 本章将会使用最简单的一种瓷砖地图:90度角瓷砖地图(Orthogonal Tilemaps),介绍瓷砖地图的一般概念。它们是用正方形或长转载 2013-10-11 21:12:10 · 5201 阅读 · 0 评论 -
cocos2d-x学习之自动内存管理和常见宏
1.自动内存管理 1)概述 C++语言默认是没有提供自动内存管理的。使用者需要自己分配,自己释放。在cocos2d-x里提供了一个自动内存管理的方案。主要是通过CCObject来提供的,用户只要继承了CCObject,就可以通过调用autorelease()来告诉系统进行自动内存管理。 一般用法就是: CCLayer* pLayer = Create转载 2013-10-26 19:44:39 · 808 阅读 · 0 评论 -
cocos2d-x action动作整理集合
1.基本动作 Cocos2d提供的基本动作:瞬时动作、延时动作、运作速度。 瞬时动作:就是不需要时间,马上就完成的动作。瞬时动作的共同基类是 InstantAction。 Cocos2d提供以下瞬时动作: 放置 – Place 效果类似于 node.Position = ccp(x, y)。之所以作为一个动作来实现是为了可转载 2013-11-01 09:42:09 · 9366 阅读 · 0 评论 -
cocos2dx 内存管理
cocos2dx的内存管理移植自Objective-C, 对于没有接触过OC的C++开发人员来说是挺迷惑的。不深入理解内存管理是无法写出好的C++程序的,我用OC和cocos2dx也有一段时间了,在此总结一下,希望对想用cocos2dx开发游戏的朋友有所帮助。C++的动态内存管理一般建议遵循谁申请谁释放的原则,即谁通过new操作符创建了对象,谁就负责通过delete来释放对象。如果转载 2013-11-01 10:57:27 · 805 阅读 · 0 评论 -
Cocos2d-x中通过JNI进行C++调用Java代码
主体思路通过JNI获取java虚拟机,再获取当前程序的JNI环境,通过JNI环境获取需要调用的java类信息,再获取需要调用的java类中的函数信息。再通过JNI环境调用,使用类信息、函数信息,调用对应的java函数。看起来好像有点复杂,but不用担心,cocos2d-x中有一个JniHelper类(头文件的copyright为:cocos2d-x.org,是Google提供的还是co转载 2013-12-14 14:29:31 · 5434 阅读 · 1 评论 -
Cocos2d-x从C++端调用Android端的非静态函数接口
概述:当我们游戏开发好要移植到Android后,在我们的游戏中,可能有打开跳转谷歌市场和添加用户反馈的功能。这些功能的一个特点就是:我在C++端(也就是我的游戏中)的特定地方调用,在Android端实现。也就是说,我要在C++端调用Android中跳转谷歌市场和添加用户反馈的函数接口。那么,如何在C++端调用Android中的函数接口呢?请看正文。正文:要在C++端调用An转载 2013-12-14 21:39:40 · 2344 阅读 · 0 评论 -
jni中字符转换中文乱码的处理方法 Java String转换成const char*(转摘)
中字符转换中文乱码的处理方法 这两天在学习使用jni,在java程序中,调用海量词典的dll。利用jni的GetStringChars函数和NewString函数时,遇到了中文乱码的问题,折腾了一个晚上。查阅了一些资料,总结如下:一.相关概念java内部是使用16bit的unicode编码(UTF-16)来表示字符串的,无论中文英文都是2字节; jni内部是使用UTF-8转载 2013-12-15 15:45:41 · 2597 阅读 · 0 评论 -
开源网络引擎firefly:环境搭建
原文来自:http://blog.youkuaiyun.com/losophy/article/details/17000769我自己配置的时候修改了几处。win7下一、安装Pythonwindows下安装Python1)下载对应系统的python版本(现在多数是用Python2.7)http://www.python.org/getit原创 2014-01-06 17:00:26 · 6827 阅读 · 0 评论 -
mysql数据库创建,表创建,插入数据
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.--显示所有的数据库mysql> show databases;+--------------------+| Database |+--------------------+| information_schema转载 2014-01-09 16:20:25 · 961 阅读 · 0 评论 -
Cocosd-x设计模式之五 :观察者模式
1、应用场景前面在介绍单例模式的时候,提到了一个类CCNotificationCenter,它除了应用单例模式以外,还应用了观察者模式。CCNotificationCenter类是观察者模式中的目标对象,而CCNotificationObserver则是观察者。一个目标对象可以注册多个观察者,当目标对象的状态改变的时候,可以通知观察者对象作出相应的响应。这是标准的观察者模式转载 2013-12-09 10:38:43 · 1092 阅读 · 0 评论 -
cocos2d-x v3.0新特性及使用
八月份cocos2d-x官网发布了v3.0版本,这次更新的内容特别多,包括2dx的架构以及使用总得来说,给开发者带来了很大的便利:运行环境需求:Android 2.3 or neweriOS 5.0 or newerOS X 10.7 or newerWindows (which version?)Linux Ubuntu 12.04 (or newer转载 2014-02-02 22:36:21 · 1708 阅读 · 0 评论 -
Mac下安装FireFly
1.下载FireFlyGithub:FireFly2.安装第三方库安装前请确保已安装mysql数据库!使用python包管理工具esay_install,依次安装以下依赖包:sudo easy_install twistedsudo easy_install python-memcachedsudo easy_install DBUtils转载 2014-07-03 11:29:16 · 3173 阅读 · 0 评论 -
Quick-Cocos2dx-Community 在发布时加密资源文件
在 3.6 中,新增加Quick-Cocos2dx-Community/quick/bin/encrypt_res/encrypt_res,用于加密图片资源。下面展示如何在发布游戏的时候使用encrypt_res加密资源。示例环境:引擎版本:Quick-Cocos2dx-Community 3.6演示平台:Mac with Xcode on iOSencrypt_res使用过程如下:打开Termi...转载 2018-03-03 23:34:48 · 964 阅读 · 0 评论