cocos2dx新手的几个问题,用vs2012,求解答

各位好,我刚学cocos2dx,学编程也不久,有几个问题想问下:
1. helloWorld中的精灵都在init()中,但init执行以后,所有的精灵不会因为超出作用域而delete吗?那屏幕上还会显示这些精灵是为什么?

  1. 我看所有的类的init中都要先调用父类的init 这是为什么?

  2. cocos2d中所有的资源都在一个rescource文件夹中,我想在这个文件夹中建立新文件夹,用于分类管理资源,但是发现程序就不能正常读取到资源了。一定要放在这个文件夹中吗?可以调整吗?可以同步文件夹和vs中的筛选器吗?

  3. 我用vs2012,想在class中添加新的类,也就是.cpp 和.h,我只能添加新项,如果添加新类的话,就会直接建立在外部依赖项,而且会把文件建立在win32文件夹下。这个外部依赖项是什么意思?怎么才能把新的类直接放在classes中呢?

2个回答

init的时候 不是把你创建的sprite addchild到当前的layer中么?cocos2d-x 是用引用计数来管理内存的,建议你先去了解这个

调用父类的init():因为cocos2d-x是按照cocos2d-iphone来改的,一般的c++中初始化都是放在构造函数来的,但是cocos2d-x没有这么做而是单独做了一个init***初始化函数,父类的初始化函数在父类构造执行时是没有调用的,所以要手动调用,不然有些类是会有问题的

资源路劲:可以新建文件夹,但是你要在程序中把这个路劲加入到 程序的searchpath中,不然肯定找不到

新建文件的时候 不是可以选择文件存放的位置么?直接指定class就行了

  1. 你可以把精灵的创建理解成是堆中分配内存的,出了init()函数依然存在,依然可以使用。
  2. 因为你的类继承自CCLayer,重写了父类的虚函数init(),而父类中的init函数中可能也有一些初始化的代码,所以需要我们自己调用CCLayer::init()。
  3. resource文件夹下可以新建文件夹,但是代码中的路径也要改,比如新建了Image文件夹,那么精灵的创建要写成这样:CCSprite::create("Image/test.png");
  4. 你先在class目录下新建.cpp/.h文件,然后在vs项目中添加现有项,引入进来就行了噢。
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
cocos2dx-lua制作新手引导
cocos2dx-lua制作新手引导最近在项目中负责制作新手引导,有些想法分享一下。常见的引导类型有点击和对话(剧情),甚至有些对话(剧情)不归属新手引导的范围,但是下文介绍的时候会涉及到剧情方面。引导的整体逻辑我的新手引导连贯性是使用事件派发实现,cocos2dx自带的事件派发是跟Node绑定的,所以你需要去找一个lua的事件派发(当然自己写一个更好)。下面的代码中sgEventDispatche
vs2012编译cocos2dx 3.10报错解决方法
新建的一个cocos工程没有改过任何代码直接编译居然报错了? 百度了一下原来是因为vs2012不支持c++11的部分特性 cocos2dx 3.10正好就用到了vs2012不支持的那部分特性,所以报错了。 解决方法 打开UIScale9Sprite.cpp 用Ctrl+G跳到UIScale9Sprite.cpp(1172)改成: //uvCoordinates = {Vec
VS2012编译Cocos2dx 3.10的问题解决OK
只需解决这一个问题,即可编译通过。 frameworks\cocos2d-x\cocos\ui\UIScale9Sprite.cpp UIScale9Sprite.cpp(1172):         std::vector uvCoordinates;         if (_renderingType == RenderingType::SIMPLE)         {
cocos2dx新手引导类封装
做游戏新手引导式必不可少的一部分,使用opengl封装一个新手引导类,可以通用,代码如下: .h文件 #ifndef __GUIDE_H__ #define __GUIDE_H__ #include "cocos2d.h" #include "cocos-ext.h" #if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID #include "gles/g
cocos2dx LUA使用ClippingNode来制作新手引导
新手教程是游戏开发必须的一部分,cocos2dx中也为我们提供了节点裁剪的类ClippingNode,在实际使用中还是有点麻烦,所以我自己包装了个类。我是基于cocos2dx 3.3 的lua框架,其他版本的cocos2dx应该也差不多,思想一样。具体实现如下: -- 新手引导的类 local GuideClipLayer = class("GuideClipLayer",function()
Cocos2d-x教程(12)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(中)
继续制作我们的新手引导引导界面...... 新建一个工程Demo_2,新建一个场景类,命名NewScene。 首先来讲我们上一讲已经实现的部分添加进来,看一下NewScene中的代码: .cpp文件代码如下: 上一讲中的效果图如下: 下面我们通过CCClippingNode类来创建一个剪裁节点,通过这个剪裁节点,我们将在效果图中抠出来一个图形,创建剪裁节点方法如下
vs2012 无法加载项目文件(Cocos2d-x)
一开始,vs2012是可以正常加载Cocos2d-x 3.4的示例项目的。但是!自从装了安卓开发环境后,就提示: “无法加载项目文件”了。工程变成了这样:
cocos2d-x新手引导遮罩CCClippingNode裁剪区域
cocos2d-x新手引导遮罩CCClippingNode裁剪区域
新手引导感悟
*1.引导类型 *1.点击某一区域(加上手). *2.点击屏幕任意一个地方. *3.点击2处才能进行交换. *2.引导类GuideView *1.将要引导的类型,可点击矩形块等放到引导数组中. *2.可以处理触摸,在触摸区域才能进行有效的操作,所以是强制引导. *3.根据引导类型,在触摸函数中进行判断.
使用cocos2d-x制作游戏新手引导技术难点
想到新手引导的功能时可能很多人都会觉得头痛,难以下手。特别是在游戏本身功能或需求还不稳定的情况,更是难以应付,本人就是在这种情况下接受了一个艰巨的任务。在痛定思痛之后,开始了引导功能开发。在做的过程中一点点发现很多有意思的东西,想分享给大家。 一、痛点:新手引导制作的难点及弊端 需要在具有引导功能的代码单元插入引导代码或逻辑判断,干扰正常流程。 引导代码的加入会影响原
Cocos2dx3.2编写常用UI组件(一)新手指导框GuideLayer
前言: 在很多的游戏里(特别是RPG游戏),一开始都会有一个关于操作的介绍,几乎都像下图那样子的。 除了系统希望你所点击的区域外,其余区域都会变暗,而且你点暗的区域是不会有任何反应的。 正文: 下面我们来讲怎么实现的: 一、实现思路: 我们可以用Cocos2dx提供给我们的LayerColor,在你想要被点击的区域周围添加4块LayerColor,如下图所示
所有游戏通用的新手引导模块的开发模式教程.
游戏通用的新手引导模块的开发模式教程.        目前提供cocos2d-js版的,等有时间我再把其他语言的版本放出来.(注:如果需要多个引导同时存在,或者非模态方式,需要改造)  目的:其实我是一个很懒的人,所以设计目的我优先考虑的是让Guide通用以后做的所有的游戏,整个Guide模块开发周期(3天+调试=一周),剩下的工作.....=>只需要配置上控件
vs2012运行cocos2d项目,提示:msvcr120.dll丢失解决办法
网上找一个msvcr120.dll库, 32位系统放在  C:\Windows\system32 64位系统放在  C:\Windows\SysWOW64  然后VS清理,再生成。
菜鸟成长记(1)——cocos2dx-2048小游戏实战之界面布局
程序目标:实现2048小游戏的玩法功能,并且初步了解使用cocos2dx编写程序 计划用时:3到5天 使用引擎:cocos2dx-3.6版本 操作系统:OS IDE:Xcode
新手求解答
org.apache.jasper.JasperException: An exception occurred processing JSP page /examaction.jsp at line 41 38: String testc= (String)session.getAttribute("testc"); 39: String[] tf =(String[])session
Cocos2d-x 新手引导
本篇介绍的是用ClippingNode 做游戏的新手引导,额,或者说是做新手引导的一种可尝试的方式。rnClippingNode的解释,我盗用Jacky的话来说就是:rnCCClipingNode是一个可裁剪节点,简单理解:rn(1)首先它是一个节点,继承于CCNode,所以它可以像普通节点一样放入CCLayer,CCScene,CCNode中。rn(2)作为节点,它就可以用作容器,承载其他节点和
数据库连接(新手求解答)
为什么测试连接不能通过?
使用cocos2d-js制作游戏新手引导(二)
本文上接前我一篇博文《使用cocos2d-js制作游戏新手引导(一)》 一、定位器的实现 定位器的目的是实现对场景树中的节点精确定位,获取对象实例,从而获取节点在界面中的位置、矩形大小等信息。 定位器:在cocos2d(js)中用于精确描述场景树中的节点的一串字符串,其实现借鉴了css(层叠样式表)选择器设计思路,以下我们将实现了一个简单的从定位器字符串解析到节点定位的这个个过程。 1
COCOS2D-X 新手引导
COCOS2D-X 游戏实战经验(二) 新手引导(上)rnrnrn前言:网上的cocos2d-x教程多为知识点的讲解,但我们学习cocos2d-x的目的是为了什么?为了做出游戏来! COCOS2D-X 游戏实战经验 系列文章将分享我在开发游戏过程中遇到的问题及解决方案!rnrn rnrn这两天一直在忙新手引导的事情~就如我之前微博上所说的:新手引导是把程序弄乱的最佳途径.好多逻辑得单独判断.(例:
Cocos2d-js打造游戏新手引导(一)
想到新手引导的功能时可能很多人都会觉得头痛,难以下手。特别是在游戏本身功能或需求还不稳定的情况,更是难以应付,本人就是在这种情况下接受了一个艰巨的任务。在痛定思痛之后,开始了引导功能开发。在做的过程中一点点发现很多有意思的东西,想分享给大家。 一、痛点:新手引导制作的难点及弊端 需要在具有引导功能的代码单元插入引导代码或逻辑判断,干扰正常流程。 引导代码的加入会影响原
基于cocos2Dx 3.0和vs2012 超级玛丽奥
引擎版本:3.0开发工具:vs2012 测试说明:基于cocos2Dx 3.0和vs2012测试 完美编译测试环境 运行 windows平台
使用cocos2d-js制作游戏新手引导(一)
​  想到新手引导的功能时可能很多人都会觉得头痛,难以下手。特别是在游戏本身功能或需求还不稳定的情况,更是难以应付,本人就是在这种情况下接受了一个艰巨的任务。在痛定思痛之后,开始了引导功能开发。在做的过程中一点点发现很多有意思的东西,想分享给大家。 一、痛点:新手引导制作的难点及弊端     想到新手引导的功能时可能很多人都会觉得头痛,难以下手。特别是在游戏本身功能或需求还不稳定的情况
基于cocos2dx的飞机大战学习[四]-添加英雄子弹
第四节:添加英雄子弹 实现这个功能需要如下考虑: 1、每隔一小段时间就创建一个子弹在英雄机顶,并将其加入一个sprite*的容器中,并添加在flyplane层中显示出来。 2、创建出来的子弹每帧刷新都增加Y坐标让其看起来向上移动。 3、子弹出界,回收清除。  后面打中敌人也要从容器中和flyplane对象中清除,以后再考虑。 综合这几点修改FlyPlane.h 喝 Fly
使用cocos2dx做强制新手引导的触摸区域误差的个人解决方案
前几天有个朋友问我之前我的项目中新手引导是怎么做成的触摸很准确,而之前开发这个功能时候我是突发奇想,不知有没有人也是使用了这个思路。由于本人目前已经不接触cocos开发,便只简单叙述一下思路。rn首先设计一个覆盖层,新手引导的框框全部显示在这一层上,也就是按钮区域会有高亮效果,并且高亮处的触摸会直接穿透该层,从而触发下面层的按钮事件,使得引导得以进行,说到这里,应该很容易理解,但是问题来了,由于穿
VS2012新建cocos2dx项目,出现无法打开包括文件CCstdC.h等**.h之类的问题
由于本人也是刚接触cocos2dx不久,方法不是很完善,但也将就着用。 前提是你已经下好了cocos2dx和VS2012。 第一步,用VS打开cocos2dx根目录下的.sln解决方案文件, 第二步,在方案解决文件中新建自己的项目,记得点添加到解决方案。如下图 图中圈圈里的这个只需点击cocos2dx根目录下的install-templates-msvc.bat文件执行一下就ok了,还
RPG游戏新手引导
我们的游戏是cocos cretror做一个2D的ARPG,这周做了一版新手引导,把实现方式分享下。设计引导一般会由各种操作组成,如npc对白、屏幕对白、剧情动画、强制玩家点击某个按钮,打开某个界面等,首先要做的是将引导都抽象出来,变成一个个可配置的项,如下: 操作类型 参数说明 1 屏幕对白 无 2 npc对话 npc编号 3 剧情动画 图片名;时长;图片名;时长
COCOS2D X 游戏实战经验 二 新手引导 上
关于COCOS2D-X 制作新手引导界面的教程
【Cocos2d-x 001】VS2012打开Cocos解决方案显示加载失败
点击右键“重新加载”又出现“不支持接口”的提示,不知道为什么,昨天用还是好好地。
ACM 入门题目集 适合刚刚入门的新手
ACM 入门题目集 适合刚刚入门的新手 都是些简单题,用心一点就能做的 只要有心,祝大家成功
coco2d-x CCScrollView实现关卡选择 新手引导 帮助界面
一.效果预览rn静态效果:rngit动态图:rnrn二.使用:rn1.下载示例项目:rnhttp://pan.baidu.com/share/link?shareid=2511857370&uk=2685725110rn2.解压缩后会得到CCGameScrollView.h和CCGameScrollView.cpp,将他们添加到工程中来.rn3.使你的类继承CCGameScrollView并实现5
Cocos2d-x 3.2编写常用UI组件(一)新手指导框GuideLayer
在很多的游戏里(特别是RPG游戏),一开始都会有一个关于操作的介绍,几乎都像下图那样子的。rnrn除了系统希望你所点击的区域外,其余区域都会变暗,而且你点暗的区域是不会有任何反应的。rnrnrn正文:rn下面我们来讲怎么实现的:rnrnrn一、实现思路:rn我们可以用Cocos2d-x提供给我们的LayerColor,在你想要被点击的区域周围添加4块LayerColor,如下图所示:rnrn二、代
新手引导的一些实现想法
对于全遮罩固定流程必做的新手引导可以试下这种方式: 1.程序初期框架设计好,尽量降低耦合性。通讯与显示严格分离。 2.前台后台各配置好新手引导信息文件,前台主要是一些显示、位置、对应操作序号等信息。后台是每一步新手操作后数据变动信息。 3.将新手引导做成模拟操作。做一个位于顶层的新手引导层。比如点击某个按钮弹出对话框,或者打开某一界面的功能,相当于点击到新手引导层对应位置,然后根据数据发送模...
初学cocos2dx 写了个2048 跟大家一起分享下
首先是头文件  部分代码是借鉴加修改  大部分是自己写的。 class HelloWorld : public cocos2d::CCLayer { public: virtual bool init(); static cocos2d::CCScene* scene(); void menuCloseCallback(CCObject* pSender);
5.cocos2dx中关于draw绘图,声音和音效,预加载,播放与停止Vs暂停和恢复,音量控制
 1 draw绘图 头文件 T19Draw.h #ifndef __T19Draw_H__ #define __T19Draw_H__ #include "cocos2d.h" #include "TBack.h"   USING_NS_CC;   class T
vs2012编译lua源代码
lua源代码编译
cocos2d-x 3.X 制作新手引导的按下事件
在新手引导的过程中,我们往往会强制
新手引导的思路(抛弃引擎)
1,新手引导说到底就是,当做完一步骤的时候,才能做下一步。 2,每一个步骤是预知的。 综上,利用面相对象的语言可以抽象出一个Guide类,里面有一个接口nextDone,当实现一步的时候,就知道下一步在哪里。
c++ 题解 介绍了各种习题
本书每一章节都有几个问题提出,并给了解答
cocos2dx 3.1从零学习(一)——入门篇(一天学会打飞机)
我们有C++基础,学习引擎总是急于求成,想立马做出一款简单的游戏给朋友玩。但是我们往往看了很多资料却一直不知道如何下手去写,有时候只要能走出第一步我们就会游刃有余,但是眼高手低的我们不是大神,需要有人指引一下。这里我就写一下我是如何学习cocos2dx3.1的,给大家参考一下。
终极版新手引导
接触过不少类型的新手引导,最终发现,新手引导嘛,不就是:返回应该引导的区域,然后限制触摸在指定的区域就行了。考虑到屏幕适配等原因,加上使用cocostudio等工具,最终的新手引导应该直接返回引导的节点。这样引导区域之类的就直接确定了。
cocos2dx 输入框例子
cocos2dx中输入框的例子,新手可参考
Cocos2dx游戏开发需要用到哪些软件
1、VS2013 2、Visual_Assist_X(VS插件 破解版) 3、CodeMaid(VS插件)(https://marketplace.visualstudio.com/items?itemName=SteveCadwallader.CodeMaid) 安装方法http://www.tangrt.com/mvxs/czmw/196544.html 4、BeyondCompare
贪吃蛇(mfc版)
本人新手,用mfc做了一个贪吃蛇程序,求各路大神批评指点 资源里除了可执行文件,我把工程文件也压缩进去了,代码全在里面,现成的,可以直接用,是用vs2012编译的。
cocos2dx入门资料及学习资源
1. 书籍学习 (1)《cocos2d-x权威指南》 ()
【整理自用】Qt+VS2012入门(一)
最近这几天Qt+VS2012入门比较困难,因为书上基本都是手敲按钮,或者是直接用Qt设计师的。如果说Qt+VS配置还是有很大技术大神给了指导的话,这种简单的入门计划没有大神在做。找了很多天资料,感谢我的师姐以及CSDN博客:http://blog.csdn.net/horizons_kong/article/details/53006047提供的帮助。       第一步:新建Qt项目。
杨丰盛老师Cocos2D-X教学视频
此视频由杨丰盛老师录制,受到Cocos2D-X官方以及创始人王哲全面肯定。 百度网盘下载地址:http://pan.baidu.com/share/home?uk=1882162285 由于百度网盘偶尔抽风会自动取消分享的链接,所以在此给出的是分享账号的主页,大家自己找到cocos2d-x下载的文件夹即可。 课程内容共分为5个阶段 第一阶段主要了解、认识游戏开发,并为游戏开发做好准
cocos2d-x中求两坐标的夹角
以一个点为起始点,向周围其他点发出射线,这时候就要对射线图片进行旋转,旋转角度通过起始两点间夹角来计算。封装的函数如下:float YourClassName::getAngle( Vec2& from, Vec2& to ) { float len_y = to.y - from.y; float len_x = to.x - from.x; if( 0 == len_x && from.
制作新手引导高亮区域方法之一:混合模式
demo下载:Quick-x-HighlightArea-master.zip 1、混合模式 (1)首先创建一个全屏的CCRenderTexture实例 这里使用的黑色 0.6的透明度,看起来的效果就是一层黑色半透明的遮罩叠在游戏界面上面: 1 2 3 4 local pRt = CCRenderTex
cocos2dx和lua计算两点的夹角
lua: --[[ -- @param p1 A点 p2 B点 返回以A为比较点 B相对于A的夹角 范围为-180度到180度 ]] function getAngleByPos(p1,p2) local p = {} p.x = p2.x - p1.x p.y = p2.y - p1.y local r = math.atan2(p.y
cocos2dx VS中 添加lib项目方法
VS2012中加载的Solution中包含了我们用到的lib项目和游戏项目,游戏项目是依赖lib项目的,添加lib项目的步骤只需两步: 第一步:右键“游戏”项目->【属性】, 此时弹出“属性页”对话框,选择【配置属性】->【C/C++】->【常规】->【附加包含目录】,点开附加包含目录,编辑,填入需要加入lib项目的路径信息; 第二步:右键“游戏”项目->【属性】, 此时弹出“属性页”对话框,
立即提问