当前位置:首页 » 操作系统 » 网狐cocos2dx源码

网狐cocos2dx源码

发布时间: 2023-06-02 03:05:11

1. cocos2dx 2.x源码还有用么

  1. 不建议再使用 cocos2d-x 2.x ,主要是 cocos2d-x 3.x 的 API 更合理,更规范,也使用了 C++ 11的诸多特性。

  2. cocos2d-x 的教材比较混乱,建议不要看。

  3. 触控官网的文档都不一定靠谱,最靠谱还是看源码。

2. cocos2dx 3.x版本中导入tiled地图如何导入对象层中对象的自定义信息(源码+注释)

步骤如下:
1. cocos2d-x 中使用类 TMXTiledMap 创建瓦片地图
2. 使用 TMXTiledMap 中的 getObjectGroup 接口取得对象层
3. 使用对象层的 getObject 接口获取对象信息,对象信息是一个 ValueMap 实例
4. 从 ValueMap 中取出数据

测试地图如下所示:

3. vs2013 打开cocos项目找不到exe文件 编译也没有生成exe 修改项目属性 修复vs 重装系统都试过了 没用

您好,python和ndk没有用最新的
主要原因是之前搞的时候最新的有bug
于是沿用之前成功的版本
下面就是骨头一路上的碰壁:

流水帐开始:

1

首先在公司的win8上安装vs2013半点问题没有
用vs2013打开之前用vs2012下创建的项目提示不好用
愿意是我忽略的升级配置文件的选项。

2

尝试微软提供的项目管理软件:TFS,申请微软的免费服务器。
发现功能太强大,适合大项目的项目管理,但我只需要源代码管理就行。
放弃,尝试git。

3

被vs2013打开过的cocos2dx项目,在2012中打开又报错了。
看来需要彻底升级了。

4

下载解压cocos2dx3.0beta版本。
使用create_project.py创建项目比之前友好了
因为换成了图形界面
不过先进命令行的方式还是太麻烦
我们建个快捷方式:
建一个bat文件
输入D:\java\cocos2d-x-3.0beta\tools\project-creator\create_project.py

5

cocos2dx3.0beta建的新项目比之前大了
因为他直接把编译所需代码拷贝到项目文件夹
而且可建立在任意位置

6

新项目建立之后vs2013运行ok
于是拷贝到github的本地代码库下
上传(几百M,略大,稍等)
上传ok之后直接打开本地代码库下的sln文件
此时,vs2013会自动配置好git
骨头实验了一下提交到本地和提交到服务器功能
ok

7

回家捣鼓笔记本安装vs2013
(win8.1已装vs2012)
老报核心什么什么的错
搜了网上几乎所有的办法:管理员、换显卡驱动、打补丁(个人不喜欢一切win的补丁)
还是不成功
于是系统还原到一个没装vs2012的ghost
可以安装了(不计较了 vs那么大,有点问题可以理解)

8

装完vs2013就开始装python装cygwin
结果到后来发现好像不需要cygwin了
cmd进入到proj.android下
虚缓仔敲入 python build_native.py 命令cmd开始编译
省去了之前版本需要用cygwin编译而且需要修改文件权限的步骤
心惊胆颤的直到发现 so文件ok

9

eclipse打开其中的android项目
导入不报错,运行黑屏。
果然没那么幸运
网上一搜说需要:
把cocos2d-x-3.0beta/cocos/2d/platform/android/java/src/org/cocos2d-x/lib整个文件夹拷贝到你的项目下proj.Android/src/org/cocos2d-x下
感觉这个步骤完全可以新建cocos2dx项目时脚本自动加上
应该是错误漏掉了
估计下次升级就不需要手动加了
加上之后再次运行哪扒
终于看到熟悉的薯仔了

10

下一步就差汪是在建一个cocos2dx的源码管理
由于之前试验过
应该没啥问题
就不加到流水帐了

11

回家搞vs2013和github果然有问题。
主要是新的cocos2dx3.0beta生成的项目太大了
空项目编译运行一次竟然高达800多M
于是学习了下git的配置文件的使用:
.gitignore
关键是这个文件正常来说windows不让建立
多敲一个。就行。

4. cocos2dx 3.10 事件机制

cocos2dx的事件机制里存在三类: Event、EventListener、EventDispatcher
先理解一下它们之间的关系
当我们按下按钮时(Event),会触发一个特定的事件(EventListener相当于回调函数),而这个特定的事件又存储在EventDispatcher里,可能按下这个按钮会触发多个事件,而事件的先后就是靠EventDispatcher来决定的。

Event的相关类

当出现来自鼠标,键盘,触屏,摇杆等输入源的输入时,这个事实称之为事件

引擎无时无刻都在感受事件。

Event

可以看出Event主要包含三个变量,一个是事件类型_type(也就是定义的枚举类型:触摸、键盘等),isStopped判断事件是否停止,只要事件停止,其相关的Listener都要停止callback调用。

EventTouch
它对应于四种触摸操作,不同的EventCode可以告诉Listener来调用不同的callback。

EventCustom
它是用户自定义事件,userData记录用户自定义数据,另一个eventName是用户给事件取的别名

上面的源码都有英文注释,我就不多解释了,我只说一个最重要的_isRegistered,它判断事件有没有被注册,如果没有被注册就不会触发。(如何注册事件?将事件加入dispatcher)

在讲它之前,我们先了解一下它的一个重要变量。

sceneGraphListeners: 一个事件(比如说触摸事件),需要按照一定的响应序列,依次对这些Node进行事件响应,所以该类型的事件都会绑定一个与此相关联的node,并且 响应顺序是与node在scene下的zorder相关的 。该类型下的事件优先级统一为0。(与渲染树有关)

fixedListeners: 优先级根据 fixedPriority 的数值从小往大排序、

只要出现了删除,修改,添加监听器的时候,监听器列表需要重新排序,都需要设置相应的 DirtyFlag 操作。但是 Cocos-2dx v3.10 里面的 updateListeners 函数有删除监听器的操作,然而并没有设置相应的 DirtyFlag 操作。
会抛出下面的异常

Gt0Index() 方法其实就是获取到当前监听器中 fixedPriority == 0 的监听器在监听器向量中的位置,它 只有在给 Listener 排序的时候会设置,但是如果更新了对应 ListenerID 的向量(EventListenerVector),但是没有重新排序,就会出现 _gt0Index 未及时更新的情况 ,导致抛出这个异常。

引用:
Cocos2dx游戏引擎(3.x)----新的事件分发机制
cocos2dx之event事件(一)
cocos2dx之event事件(三):事件分发器EventDispatcher
Cocos2dx-v3.10 事件分发机制源码解析

5. 网狐经典版 cocos2dx 怎么对接

网狐经典版 cocos2dx 怎么对接
上面的步骤完成以后,我们就有了一个简单的COM服务程序,而且已经被注册到当前系统中。
下面我们要完成一个简单的COM客户程序。一个COM客户程序简单地说是使用COM组件对象的程序。客户程序调用COM对象的基本流程是:
创建COM对象的实例。这可以通过调用Windows系统的API函数CoCreateInstance来完成。
通过接口调用函数。
调用IUnknown::Release释放COM对象实例
我们的客户程序是使用MFC编写的一个基于对话框的简单应用程序。具体的过程如下:
1.打开Visual C++集成开发环境;

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:637
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:366
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:82
php微信接口教程 发布:2025-04-16 17:07:30 浏览:308
android实现阴影 发布:2025-04-16 16:50:08 浏览:789
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:339
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:210
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:810
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:364
土压缩的本质 发布:2025-04-16 16:13:21 浏览:590