![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cocos2d-x
文章平均质量分 56
sylalak123
这个作者很懒,什么都没留下…
展开
-
vs2017 + Android + cocos2dx环境
下载coocs和移动开发Android组件时,遇到aka.ms的openjsk 无法下载的情况。在hosts文件里加入 aka.ms解析设置:104.103.251.14 aka.ms可以通过https://www.ipaddress.com/查询最新解析地址.这是官方给出的说明:https://docs.microsoft.com/zh-tw/troubleshoot/visualstudio/install/jdk-installation-fails这是jdk8的 下载...原创 2021-04-10 11:56:23 · 255 阅读 · 0 评论 -
cocoscreator Canvas节点
Canvas节点作为 UI 根节点,为所有子节点提供视窗四边的位置信息以供对齐,另外提供屏幕适配策略接口,方便从编辑器设置。注:由于本节点的尺寸会跟随屏幕拉伸,所以 anchorPoint 只支持 (0.5, 0.5)。cc.view 全局的视图对象全局的单例对象,使用时cc.view.methodName();既可调用view的方法。方法:setOrientation :设置游戏屏幕朝向,它能够是横版,竖版或自动getVisibleSize : 返回视图窗口可见区域尺寸。getVis原创 2021-03-06 20:42:53 · 1724 阅读 · 0 评论 -
cocoscreator 热更新实现
cocoscreator版本:2.3.2 带版本管理的版本cocoscreator 热更的实现原理:存在2个版本,本地安装包是一个版本;另一个版本放在服务器上。增加一个程序实现:1.比对两个版本。2.下载服务器上版本到客户端程序上,并实现覆盖。cocoscreator热更实现:一、在项目里新建一个层或者场景来显示的提示热更操作。我加的一个层和label来提示热更。二、使用cocoscreator自带的热更插件生成本地的project.manifest和version.manifest原创 2020-06-18 15:13:56 · 1630 阅读 · 0 评论 -
centos下cocos2dx环境
我使用的centos6.x的系统,7.x大同小异,安装linux下的glew和glfw底层包和依赖包。1.下载cocos2dx的包,我这里使用的是cocos2d-x-3.3.zip。2.安装依赖包,使用yum直接安装cmake.x86_64 gcc-c++.x86_64 (这里安装的必须是高于4.7版本,4.7之后的才支持c++11的功能,安装必须要先升级gcc) mesa* libXr...原创 2018-07-09 10:53:42 · 654 阅读 · 0 评论 -
Cocos2d-x 3.x中的多线程基本实现思路
当前正在改写一个基于早期Cocos2d-x 2.x实现的小游戏,在涉及到多线程代码时,忽然编译器提示找不到头文件pthread.h。查了一下,发现如今的3.x中不再支持pthread.h头文件,以前的2.X时代这个文件包含在$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\pthread路径下。 现在,3.X中推荐直接使用std:...转载 2018-07-02 09:39:45 · 475 阅读 · 0 评论 -
retain和release 的使用
之前在做打飞机项目的时候,用数组来保存敌人对象,在使用数组的时候需要retain,不是很明白,下面的内容,说明了这个问题!cocos2dx 在每一帧都会检测cocos2dx对象是否需要自动释放,也就是说cocos2dx创建的每个对象,都有一个引用标记的值,当这个值为0时,cocos2dx会自动释放掉这个对象占用的内存。1. 为什么会有retain?C++和Java不一样,Java有一套很方便的垃圾回收机制,当我们不需要使用某个对象时,给它赋予null值即可。而C++new了一个对象之后,不使用的时候转载 2017-11-05 11:23:13 · 1062 阅读 · 0 评论 -
cocos2dx-3.x 增加win版下setBackgroundMusicVolume功能
1.在项目中找到audio目录,3.3的目录路径:F:\cocogames\GitPlane\GitPlane\cocos2d\cocos\audio 的win32目录下修改 MciPlayer.h文件,增加两个函数:public: void Volume(UINT volume) {原创 2017-10-23 15:10:18 · 626 阅读 · 0 评论 -
cocos2dx websocket示例
Cocos2dx封装了WebSocket,可以直接在项目中使用[cpp] view plain copy //HelloWorldScene.h #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__转载 2017-09-21 14:55:38 · 1471 阅读 · 0 评论 -
cocos2dx-js 环境
我是学Javascript出身,想学cocos2d-x开发手机游戏,也知道cocos2d-x支持脚本,求高手推荐合适的开发工具??王哲王哲Cocos引擎首席客服Cocos2d-x + JavaScript?- 代码编辑器:WebStorm- 调试:Chrome不要问为什么,因为我们做引擎也用这套。编辑于 2015-09-14转载 2017-09-21 11:29:46 · 242 阅读 · 0 评论 -
cocos2dx 哪个版本最好
cocos2d-x 3.x的源码质量如何?王哲王哲Cocos引擎首席客服3.x系列里面,最稳定的版本,或者说质量最高的版本应该是v3.3。这个版本花了好几个月,应该是历史上单个版本时间最长的,里面修了无数个bug。从我接触的开发者使用情况来看,3.3也是目前已经立项中用得最多的。3.3之后开始猛加3D功能,2D和3D混合渲染的地方埋了一些坑,现在到3.7,也需要再来一个专注在bug的版本了。编辑于 2015-06-24转载 2017-09-21 11:12:18 · 2439 阅读 · 0 评论 -
cocos2dx setTexture和playEffect预加载资源
出处http://9151482.blog.51cto.com/9141482/1684438今天项目接近收尾阶段,开始对项目的资源进行整合打包,并对其进行缓存!但还是让我遇见一些坑! 第一个坑是,图片都打包成plist,在项目里有些图片提示找不到。log打印如下信息转载 2017-09-20 17:03:01 · 934 阅读 · 0 评论 -
cocos2dx UserDefault存储数据问题
UserDefault存储数据问题 项目中 cocos2d\cocos\base 路径下看看,就知道答案了。 因为你会发现那里有:CCUserDefault.h,CCUserDefault.cpp,CCUserDefaultAndroid.cpp,CCUserDefault.mm。 也就是说后三个文件公用一个.h文件。那么你分别进到后三个文件查看就会发现:转载 2017-09-20 17:00:01 · 906 阅读 · 0 评论 -
cocos2dx 加入HttpClient类问题集合
首先要引入头文件和命名空间12 #include "network/HttpClient.h"using namespace cocos2d::network; 但是这样还不行,编译的话会报错,无法解析的外部符号....... 出现这个需要添加network库,添加库的方式和以前有点不同。3.x有些附加项目在项目中被精简出去了,如libCocosStudio、libExtensions、libGUI等这些就需要自己手动添加。转载 2017-09-20 16:53:45 · 328 阅读 · 0 评论 -
cocos2dx 项目中增加libcurl库
Cocos2d-x 3.x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件所在位置是D:\cocos2d-x-3.x\external\curl\prebuilt\win32目录中,头文件在D:\cocos2d-x-3.x\external\curl\include\win32\curl目录中。原创 2017-09-20 15:30:00 · 1127 阅读 · 0 评论 -
Android.mk文件中包含cpp文件
LOCAL_SRC_FILES := hellocpp/main.cpp \../../Classes/AppDelegate.cpp \../../Classes/HelloWorldScene.cpp只要把上面这些替换成下面的:SRC_FILES := hellocpp/main.cppSRC_FILES += $(wildcard $(LOCAL_PATH)/../../Cla...转载 2019-06-25 11:47:13 · 514 阅读 · 0 评论 -
微信打飞机项目小结-屏幕适配
//getFrameSize()获得实际屏幕的大小 auto frameSize = glview->getFrameSize(); //这填写的就是一般你作为背景图片的那种图片的大小,适配的原理就是放到和缩小,而以什么为参照,当然就是 //以最大的那张图片为参照,什么图片最大,当然是背景图片了,以后美工做图的时候用的就是以下的这个尺寸 aut...原创 2019-07-09 12:35:52 · 347 阅读 · 0 评论 -
微信打飞机项目小结-加载plist和xlm文件读取
1.//加载缓存文件SpriteFrameCache::getInstance()->addSpriteFramesWithFile("ui.plist");//使用缓存文件创建精灵auto background = Sprite::createWithSpriteFrameName("background.png");background-&...原创 2019-07-11 11:39:24 · 241 阅读 · 0 评论 -
计算有效攻击区域,两点形成的角度
//计算有效攻击区域CCRect PublicFun::getAttackRect(Role* role){ CCRect rect ; float originX = 0; float originY = 0; float width = 0; float height = 0; //计算正前方攻击区域...原创 2019-07-21 20:02:34 · 189 阅读 · 0 评论 -
预加载动画
动画1.固定重复动画,例如主角跑步动作,SpriteFrame* frame = NULL; //数组 3.0中改用vector 而不是用Array Vector<SpriteFrame*>frameVector; /* 1.----------------加载跑动的Animation-----------------*/ for(in...原创 2019-07-21 16:46:19 · 365 阅读 · 0 评论 -
关于cocos2d中tilemap移动时出现黑线的解决方案
如果cocos2d中的tilemap在移动时会出现黑线的情况的话,网上有很多的解决方案都是将libcocos2d库的ccConfig.h头文件中的宏CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL从0改为1,这样的确可以解决黑线的问题,但是同时也存在这以下两个问题:1、这个解决方案直接将所有Sprite的边都裁掉了一点,源码如下:#if CC_FIX_ARTIFA...转载 2019-07-21 16:40:51 · 622 阅读 · 0 评论 -
Cocos-2d 3.x 八方向虚拟摇杆的实现
1. 八方向虚拟摇杆的实现准备工作: 我们需要两张图片,一张是摇杆的,一张是摇杆背景的图片将这两张图片拷贝到工程的Resouce目录下, 接下来我们开始编码了.打开我们的工程创建一个摇杆类继承自LayerJoyStick.hpp#ifndef JoyStick_hpp...转载 2019-07-21 16:30:48 · 420 阅读 · 0 评论 -
Cocos2d使用TexturePacker工具打包生成plist和pvr.ccz文件方法总结
我们用TexturePacker工具打包生成了plist和pvr.ccz文件,那么下一步,我们就该获取plist中的信息了。Cocos2d中SpriteFrameCache通常用来处理plist文件,并能与SpriteBatchNode结合使用来达到批处理渲染精灵的目的。精灵帧缓存类SpriteFrameCache精灵帧缓存类SpriteFrameCache 用来存储精灵帧,缓存精灵帧有助...转载 2019-07-17 21:47:10 · 788 阅读 · 0 评论 -
游戏帧循环(游戏主循环)
游戏运行时候会不断按照游戏逻辑规则重新绘图,反复处理用户输入、处理定时事件、绘图,直到游戏结束。 Cocos2d-x引擎也是通过不断绘图来进行游戏的,默认的帧率在AppDelegate.cpp中显示为60帧每秒,也就是每秒执行了60次用户输入、定时时间、绘图等。抄录Cocos2d-x高级教程中内容如下: 游戏乃至图形界面的本质是不断地绘图,然而绘图并不是随意的,任何...转载 2019-07-24 20:42:53 · 1155 阅读 · 0 评论 -
纹理缓存、帧缓存、精灵的创建、zOrder
一、纹理缓存、帧缓存、动画缓存缓存机制:存储设施有快慢之分,PC机上有硬盘与内存之分,计算机软件运行时候把资源加载到内存中运行;手机与PC也是类似的。当手机软件运行时候,把经常需要用到的资源预先加载到存取速度快的内存中,之后访问该资源将会节省大量时间。Cocos2d-x为我们提供了三个实现缓存的接口,有纹理缓存、帧缓存、动画缓存,都是全局单例。纹理缓存(CCTextureCache):...转载 2019-07-24 20:13:11 · 444 阅读 · 0 评论 -
SpriteBatchNode进行优化
OpenGL是一个基于C语言的三维图形API,是一个开放的、跨平台的图形接口。OpenGL ES是OpenGL在移动设备上的版本。Cocos2d-x是一个基于OpenGL的游戏引擎,渲染功能由OpenGL实现。游戏中会用到许多图片资源,对图片资源渲染进行优化能明显提高效率。OpenGL中纹理的长和宽像素是2的幂,大小不足的纹理补充到2的幂大小;可以通过把多张小图片合成一张大图加载到...转载 2019-07-24 19:53:32 · 326 阅读 · 0 评论 -
cocos2dx-3.x中如何在update中传入多个参数
在使用cocos2dx-3.x的过程中,可能会出现需要在update中传入不止float dt一个参数的情况,因为其底层使用的C++11的std::bind来实现的,因此可以使用以下的解决方案进行设计。bool HelloWorld::init(){if ( !Layer::init() ){return false;}a...转载 2019-07-18 21:12:00 · 364 阅读 · 0 评论 -
cocos2d-x 自带坐标算法
数学函数:[c++]view plaincopy ccp(x,y);//以坐标x,y创建一个向量 ccpFromSize(s);//以sizes的width为x,height为y创建一个向量CCPoint的加减乘除运算运算[c++]view plaincopyccpAdd(v1,v2);//等价ccp(v1.x+v2.x...转载 2019-07-18 21:08:58 · 431 阅读 · 0 评论 -
微信打飞机项目小结-管理子弹和敌人类
Manager类1.定义为一个单例创建了这个Manager的实例之后,Manager类不会释放这块申请的内存,而是由系统来回收!//子弹和敌机管理器,做成单例class Manager{public:static Manager * getInstance();static void freeInstance(void);private:...原创 2019-08-08 19:24:20 · 1223 阅读 · 0 评论 -
cocos2dx 里的坐标系统
Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系。原创 2017-09-12 15:10:21 · 218 阅读 · 0 评论 -
cocos2dx 3.0到3.15版本更新详细摘要
cocos2d-x-3.15.1 May.27 2017[REFINE] Add optimization codes for huawei devicescocos2d-x-3.15 Apr.21 2017[NEW] Full support of Android Studio, can use Android Studio to edit, compile and debug C++ codes[NEW] Audio Engine: u原创 2017-09-11 17:40:47 · 6468 阅读 · 0 评论 -
vc++工程中添加lua代码调用-编译lua静态库文件
一 生成lua5.3.lib1、下载并编译lua源码首先进入lua官网,下载最新版本的lua源码。转载 2017-07-03 16:18:25 · 966 阅读 · 1 评论 -
vc++工程中添加lua代码调用-增加lua的源码到工程
三。src目录是我们需要的代码,将里面的lua.c和luac.c删除,这两个文件定义了一个入口函数,而在vs里面已经有了入口函数。四。在vs里创建一个工程,选择consolewin程序,方便输出,这里不能选择预编译头文件,否则会报错。原创 2017-07-03 14:22:28 · 1611 阅读 · 0 评论 -
Visual Studio:error MSB8020 (同时安装vs2012和vs2013)
状况如下:error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools,转载 2017-07-03 14:43:08 · 897 阅读 · 0 评论 -
使用BabeLua3.x在cocos2d-x中编辑和调试Lua
BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查,自动补全,快速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值,查看堆栈信息等功能。如何安装请参考《系列1—BabeLua入门》转载 2017-06-21 17:53:58 · 1277 阅读 · 0 评论 -
cocos code IDE设置成vs黑色背景和字体
设置背景色的路径:窗口-首选项-原创 2017-06-21 17:13:23 · 1012 阅读 · 0 评论 -
Cocos2dx 3.0开发环境搭建--Eclipse上构建一个Android项目
一、前言:本篇主要介绍Cocos2d-x 3.0的一些基础内容,以及在Eclipse上上编译我们的Cocos2d-x项目,成功把Helloworld运行起来了。看完本篇博客之后,你就会知道Cocos2d-x 3.0竟然发生了如此大的变化,变得如此简单,环境搭建、项目创建、编译的方式更加人性化了。二、环境准备:1、下载ADT Bundle(Eclipse捆绑了SDK和ADT),或者是Eclipse安装了ADT插件。2、安装JDK、NDK、Ant 、Python,然后配置环境。转载 2017-06-30 16:17:06 · 2769 阅读 · 0 评论 -
cocos code IDE 快捷键
command + shift + r 搜索类“Ctrl +F11”,运行模拟器。“F11”,调试运行。command + H 打开“搜索”对话框,进行全局搜索。原创 2017-06-21 10:35:44 · 702 阅读 · 0 评论 -
sublime text 2注册码
直接输入注册码就可以了----- BEGIN LICENSE -----转载 2017-06-17 21:25:26 · 277 阅读 · 0 评论 -
天空大战项目3:项目文件结构及游戏的流程
解决方案的项目结构中,win32文件夹中的main.cpp文件是windows的程序入口,实例化了对象appdelegate,调用了run方法。这是程序的开始,其他的平台编译的是对应平台的入口程序。原创 2016-12-14 16:23:20 · 374 阅读 · 0 评论 -
天空大战项目4:开始界面
开始界面既是 登陆界面,也就是游戏的第一个场景,包括了背景图片,右上角的终极Boss的闪闪效果,2个按钮,开始游戏和总分统计。这个界面的实现对应了HMenu类。原创 2016-12-16 12:05:52 · 274 阅读 · 0 评论