【源码分析】cocostudio场景编辑器的触发器逻辑

  去看场景编辑器的差不多都可以看到有模拟器的设置(菜单栏的设置)。默认是选择cocostudio安装路径中的Simulator.exe这个模拟器,看官网介绍是自己可以选择模拟器,而且公开源代码可以按需设计和编译成自己想要的模拟器,随便举个例子,比如可以支持调度器!当然这里你要去实现和触发器一样的cocostudio逻辑,嘿嘿

  这里先提供一个官网的源码(cocos2.x版本):https://github.com/chukong/CocoStudioConnector

  首先,说一下整体的逻辑,其实也就是自己的理解:

(1)模拟器是什么?说白了,就是一个游戏客户端,是一个win32程序。和我们用cocos2dx创建的一个工程,打开proj.win32编译得到的exe本质上是一样的

(2)不一样的地方是,模拟器支持两块主要内容:

  * 把场景编辑器中的内容解析并且呈现出来,这里主要是解析json文件

  * 实现触发器,并且把场景编辑器中的配置转换为cocos2dx支持的触发器

  现在,主要记录一下触发器的逻辑,直接上图:

  最后,找到TriggerMng中的SendEvent函数,逻辑就一目而然了。

参考:

[1]http://www.cocoachina.com/bbs/read.php?tid=196660

时间: 2024-12-28 10:24:10

【源码分析】cocostudio场景编辑器的触发器逻辑的相关文章

dubbo源码分析01:SPI机制

一.什么是SPI SPI全称为Service Provider Interface,是一种服务发现机制,其本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件.这样可以在运行时,动态为该接口替换实现类. JDK提供了默认的SPI实现,但是Dubbo并未使用JDK提供的SPI,而是自己封装了一套.我们先来通过Dubbo官网给的两个例子简单了解下JDK和Dubbo的SPI是如何使用的. 1.1.JDK SPI示例 首先定义一个接口以及它的两个实现类 1 public interfac

Cocos2d-X3.0 刨根问底(九)----- 场景切换(TransitionScene)源码分析

上一章我们分析了Scene与Layer相关类的源码,对Cocos2d-x的场景有了初步了解,这章我们来分析一下场景变换TransitionScene源码. 直接看TransitionScene的定义 class CC_DLL TransitionScene : public Scene { public: /** Orientation Type used by some transitions */ enum class Orientation { /// An horizontal orie

Cocos2d-X3.0 刨根问底(八)----- 场景(Scene)、层(Layer)相关源码分析

本章节我们重点分析Cocos2d-x3.0与 场景.层相关的源码.这部分源码集中在 libcocos2d –> layers_scenes_transitions_nodes目录下面 我先发个截图大家了解一下都有哪些文件.红色框里面的就是我们今天要分析的文件. 从命名上可以了解,这个文件夹里的文件主要包含了  场景,层,变换这三种类型的文件. 下面我们先分析Scene类 打开CCScene.h文件 /** @brief Scene is a subclass of Node that is us

场景内容的再现 - 天龙八部的源码分析(二)

在实现了人物模型以及动画的加载之后, 分析天龙八部内场景是如何构造的, 并且使用 Ogre 1.9 重新实现场景内容(天龙八部源码是基于 Ogre 1.6 部分, 需要修改相关源码). 场景文件组成 通过源码分析, 一个场景主要分为几个文件, 主要有 .scene 文件, .terrain 文件, .GridInfo 文件, 其他文件之后再分析. scene 文件 主要用来设置场景对象的内容, 该对象主要有环境对象, 光源对象, 天空穹对象, 静止物体对象, 粒子对象, 流动地形对象, 并且包含

Android 上千实例源码分析以及开源分析

Android 上千实例源码分析以及开源分析(百度云分享) 要下载的直接翻到最后吧,项目实例有点多. 首先 介绍几本书籍(下载包中)吧. 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 06_Android的GUI系统 07_Android的Audio系统 08_Android的Video 输入输出系统 09_Android的多媒体系统 10_

Spring IOC 容器源码分析

前言: Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器.既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题. 阅读建议:读者至少需要知道怎么配置 Spring,了解 Spring 中的各种概念,少部分内容我还假设读者使用过 SpringMVC.本文要说的 IOC

缓存框架OSCache部分源码分析

在并发量比较大的场景,如果采用直接访问数据库的方式,将会对数据库带来巨大的压力,严重的情况下可能会导致数据库不可用状态,并且时间的消耗也是不能容忍的.在这种情况下,一般采用缓存的方式.将经常访问的热点数据提前加载到内存中,这样能够大大降低数据库的压力. OSCache是一个开源的缓存框架,虽然现在已经停止维护了,但是对于OSCache的实现还是值得学习和借鉴的.下面通过OSCache的部分源码分析OSCache的设计思想. 缓存数据结构 通常缓存都是通过<K,V>这种数据结构存储,但缓存都是应

【转】springmvc源码分析链接

SpringMVC源码 SpringMVC源码分析系列 说到java的mvc框架,struts2和springmvc想必大家都知道,struts2的设计基本上完全脱离了Servlet容器,而 springmvc是依托着Servlet容器元素来设计的,同时springmvc基于Spring框架,Spring框架想必搞java的同学都很熟 悉. 一进Spring的官网就发现了这样一排醒目的文字, spring可以让我们构造简单的.便携的.又快又易于扩展的基于jvm的系统和应用程序. 没错,基于Spr

Netty3 源码分析 - ChannelUpstreamHandler

Netty3 源码分析 - ChannelUpstreamHandler ChannelUpstreamHandler处理上行的通道事件,并且在流水线中传送事件.这个接口最常用的场景是拦截IO工作现场产生的事件,传输消息或者执行相关的业务逻辑.在大部分情况下,我们是使用SimpleChannelUpstreamHandler 来实现一个具体的upstream handler,因为它为每个事件类型提供了单个的处理方法.大多数情况下ChannelUpstreamHandler 是向上游发送事件,虽然