boke的博客

共 3994 篇文章

写文章

Cocos2d-x 3.x基础学习:观察者模式NotificationCenter

## 观察者模式概述 观察者模式,也被称为订阅/发布(Subscribe/Publish)模式,是MVC(模型 - 视图 - 控制器)模式的重要组成部分。它的核心思想是对象之间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。 ### 生活中的例子…

2015-03-23 11:21
0 0
已发布

Cocos2d-x 3.x基础学习: 按钮控件CCControlButton

## 一、CCControl 控件类概述 按钮类 `CCControlButton` 继承于控件类 `CCControl`。控件类 `CCControl` 的主要作用是向子类提供一系列的控件触发事件。当子控件触发相关事件后,就会执行对应的控件事件回调函数,这与之前讲的 `CCMenu` 中的菜单按钮回调机制类似。 `CCControl` 控件类主要有三个子类: 1. 开关控件 …

2015-03-23 10:54
0 0
已发布

Cocos2d-x 3.x基础学习: 定时器更新schedule/update

在大部分游戏中,定时器是不可或缺的。它的作用是每隔一段时间执行相应的刷新函数,以更新游戏的画面、时间、进度、敌人的指令等。Cocos2d-x 为开发者提供了与定时器 `schedule` 相关的操作。这些操作函数的定义在 `CCNode` 中,因此基本上大多数的引擎类都可以设置定时器,例如 `CCLayer`、`CCSprite`、`CCMenu` 等。 ## 定时器更新的方式…

2015-03-23 10:43
0 0
已发布

Cocos2d-x 3.x基础学习: 回调函数std::bind总结

自从Cocos2d-x 3.0引入了C++11标准后,回调函数采用了新的函数适配器:`std::function`和`std::bind`。曾经的回调函数`menu_selector`、`callfunc_selector`、`cccontrol_selector`等已被弃用,取而代之的是一系列的`CC_CALLBACK_*`。 ## 1. std::bind相关宏定义 Cocos2d…

2015-03-23 10:33
0 0
已发布

Cocos2d-x 3.x基础学习: 颜色混合BlendFunc用法实例总结

## 1. 概念 “混合”指的是两种颜色的叠加方式。当新图片即将渲染到屏幕上时,会将新图片中的红、绿、蓝和透明度信息,与屏幕上已存在图片的颜色信息进行融合。具体而言,就是把某一像素位置上原来的颜色和即将绘制上去的颜色,通过特定方式混合在一起,以实现特殊效果。 …

2015-03-23 10:28
0 0
已发布

Cocos2d-x 3.x基础学习: 简单绘图DrawNode

在Cocos2d-x中,绘图方式主要有两种: 1. 使用OpenGL的绘图原语DrawPrimitives; 2. 使用DrawNode。 本节重点学习如何使用DrawNode进行图形绘制。 ## 相关小知识 - **分段数**:在绘制曲线时,通常通过绘制“样条曲线”来实现,分段数即样条段数。 - **二次贝塞尔曲线**:是起点和终点之间的一条抛物线,利用一个控制点来控制抛物线的形状。 - …

2015-03-23 10:26
0 0
已发布

Cocos2d-x 3.x基础学习: 屏幕截图ScreenShot方法总结

在开发过程中,屏幕截图功能是一项常用的需求。本文将详细比较Cocos2d-x 2.x版本与3.x版本中两种不同的屏幕截图方式。 ## 两种截图方式概述 ### 1. 使用RenderTexture 这是Cocos2d-x 2.x版本中最常用的截图方法。`RenderTexture`是一个动态纹理类,它能够动态创建纹理图片。 ### 2. 使用`utils::captureScreen()`…

2015-03-23 10:07
0 0
已发布

Cocos2d-x 3.x基础学习:裁剪节点总结

在游戏开发过程中,我们时常会遇到仅显示图片部分区域的需求,例如文字遮罩、图片遮罩等场景。本节将着重介绍 `ClippingNode`,其功能效果与上述遮罩效果类似。 ## 一、ClippingNode 原理 `ClippingNode`(裁剪节点)是 `Node` 的子类,可像普通节点一样添加到 `Layer`、`Scene` 或其他 `Node`…

2015-03-23 10:01
0 0
已发布

Cocos2d-x 3.x基础学习: 新事件分发机制总结

在Cocos2d-x的开发中,事件处理是一个重要的环节。下面我们将对Cocos2d-x 3.x版本的新事件分发机制进行详细总结,先将其与2.x版本做一个对比。 在2.x版本中,处理事件需要用到委托代理(delegate),学过2.x触摸事件的开发者都清楚,创建和移除委托代理的流程十分繁琐。而在3.x版本中,由于引入了C++11的特性,事件的分发机制通过事件分发器 …

2015-03-23 09:54
0 0
已发布

Cocos2d-x 中如何使用jni Java 调用 C++

之前我们介绍过在 Cocos2d-x 中如何使用 JNI 实现 C++ 调用 Java,今天我们将探讨相反的情况,即如何在 Java 中调用 C++。 ## 1. 加载共享库 在 Cocos2d-x 里,C++ 代码会被编译成一个 `.so` 文件,该文件会被放置在安卓目录下的 `libs/armeabi` 中,随后 Java 会将其加载进来。不过,这一步我们无需手动操作,因为 Cocos2d…

2015-03-23 12:01
0 0
已发布

作者信息

boke

boke

共发布了 3994 篇文章