包含标签 howto 的文章

在 cocos2d-x 中获取纹理的像素值

在 cocos2d-x 中获取纹理的像素值

How to get a pixel in cocos2d-x?

2014-10-24更新: 解决内存泄露以及越界问题。由于 quick 目前的版本分支混乱,这些修改不会提交到 quick 了。请自行参照下面的方法修改。

本文基于cocos2d-x 2.2.3

项目需要一个功能,就是在点击某个不规则边缘图片的时候,不响应图片的透明部分。

以前在 AS3 中处理类似需求的时候,就是获取点击点的像素值,得到 Alpha 的值,然后根据 Alpha 的值来判断是否需要响应。

但在 cocos2d-x 中,有一些问题。

cocos2d-x 的渲染流程是这样的:

  1. 载入一张图片,将它解析成 CCImage 对象;
  2. 根据 CCImage 对象,建立 CCTexture2D 对象;
  3. 在 CCTexturte2D 对象中,将 CCImage 对象中的定点和像素信息上传到显卡缓存;
  4. 删除 CCImage 对象。

从上面的流程可以看出,其实我们在看到这张显示在 cocos2d-x 中的图片时,图像的像素信息已经不存在 CCTexture2D 中了。

……

阅读全文

如何学习 cocos2d-x ?

如何学习 cocos2d-x ?

How to study cocos2d-x?

这是我在之乎上的一个回答,原文在这里(有修改):如何学习一种开发框架(如:手机开发cocos2dx方向)?

刚巧我也是从AS3转到了cocos2d-x,说说我的经验吧。

一、 cocos2d-x 部分

1.1 技术选型

从第三个手游开始,我实在被Adobe的ANE和国内的小平台折腾得没了脾气,决定转到cocos2d-x。在选择哪种语言绑定的时候纠结了很久,最后力排众议选了 lua:Cocos2d-x script language binding:Lua or Javascript? 。cocos2d-x 2.x 的lua绑定做得并不好,于是我选择了 quick-cocos2d-x

……

阅读全文

解决Github访问超慢问题

解决Github访问超慢问题 Github is so slowly. 这段时间访问 github 都非常慢,google了一下发现是github某个CDN被伟大的墙屏蔽所致。 出问题的应该是……

阅读全文

在 cocos2d-x 中使用 libcurl 实现上传文件功能(附quick-cocos2d-x封装)

在 cocos2d-x 中使用 libcurl 实现上传文件功能(附quick-cocos2d-x封装)

Upload a file use libcurl in cocos2d-x.

本文基于 cocos2d-x 2.2.2 和 quick-cocos2d-x zrong修改版 3be9b8

目前做的项目中需要实现b截图分享功能,我的设计思路是使用 CCRenderTexture 来截图,并通过HTTP上传到截图分享服务器。

通过查看 cocos2d-x 源码,我发现 cocos2d-x 封装了一个 CCHttpClient 类,用于调用 libcurl 实现HTTP协议通信。不过并没有实现文件上传功能。

但 quick-cocos2d-x 不知道什么原因,删除了这个 CHttpClient 实现,而改用了 CCHTTPRequest 类,内部封装的依然是 libcurl ,但也依然没有实现文件上传功能。

既然都是封装 libcurl ,我们完全完全为现有的类扩展上传文件功能。在本文中,我基于 quick-cocos2d-x 的 CCHTTPRequest 类进行了扩展。cocos2d-x 如果需要扩展,方法也类似。

……

阅读全文

如何升级Ubuntu中的OpenSSL库

如何升级Ubuntu中的OpenSSL库 How to upgrade OpenSSL in unbutu? 4月8日爆出的 heartbleed 漏洞要求把 OpenSSL 升级到 1.0.1g 版本。 关于这个漏洞的技术说明,可以看这里: 关于Ope……

阅读全文

在cocos2d-x中实现橡皮擦功能

在cocos2d-x中实现橡皮擦功能

How to make an eraser in cocos2d-x?

cocos2d-x 是使用 OpenGL ES 来渲染的,实现橡皮擦,需要一点点 OpenGL 知识。

/* 下面是可以跳过不看的废话。

是的,不需要 OpenGL ,我们也能使用 cocos2d-x 制作出游戏。至少我接触过的几个团队都是这么干的,有的团队中甚至无人了解 C++。

但是,在我学习 cocos2d-x 的这几个月里,我发现不学习 OpenGL ES 对我来说是无法想象的。在看源码的时候,你不能碰到 OpenGL 就无视它们,对程序员来说这是罪过。

这不难,Trust me.

废话结束 */

依赖

本文基于 cocos2d-x 2.2.2

效果截图

eraser

原理

先将要被擦除的像素渲染到 FrameBuffer 中,然后使用 Alpha 为 0 的像素块与已有像素做混合,将已有的像素替换成 Alpha 为 0 的像素即可完成擦除。

……

阅读全文

在 cocos2d-x 中使用多组shader实现多重滤镜

在 cocos2d-x 中使用多组shader实现多重滤镜

2015-05-06 更新:加入 cocos2d-x-filters 项目介绍,已支持 cocos2d-x 3.x。

本文基于 cocos2d-x v2.2。

在 cocos2d-x 中使用 shader 实现了滤镜之后,我发现实现多重滤镜是个问题。

多重滤镜是什么

举例说,我希望先对一个纹理执行一次 blur 滤镜,然后再执行一次 glow 滤镜。这样纹理既有模糊效果也有发光效果。

Fireworks 和 Flash 中的滤镜,都允许这样进行叠加。在Actionscript 3中,Sprite 的 filters 属性本来就是一个滤镜数组。这说明至少在API的设计上,Actionscript 3 鼓励多重滤镜的使用。

多重滤镜的问题

而在 cocos2d-x 中,则不是这样。

cocos2d-x 中的 shader 支持位于几个类中,它们是:

……

阅读全文

最近文章

分类

标签

3d aac actionscript adobe adobebug adsl air amd android ane ant antivirus apache api arch as2 as3 asdoc asp aspnet authorware bash bbpress benq bitandbyte bitmapdata bluetooth book box2d browser byewindows c camera capture centos character-set choice chongrenxindu chrome class cms cocos2d-x codec collection color component conference cookbook coolplayer cpp css cygwin datagrid debug degrafa design-pattern develop devops director display-objects docker dragonbones ds eclipse editgrid egret embed emotion encrypt engine english eval excel exif fcs ffmpeg filter firebase firefox flash flash-remoting flashbuilder flashdevelop flashplayer flask flex flexbuilder flv fms font framework freeware fte ftp fxg game gcc general generator git gmail godaddy golang google gprs graphic graphviz gtd gui h264 hardware hexo host house howto hp html html5 http hugo i18n ie image ime ios iot jacky-cheung java javascript job joomla journey jquery json layout lecture library life lighttpd linux lisp list live loader lua mac macos mambo management markup master math mencoder mingw mobile mobile-game-framework module monitor mvc mxmlc mysql ndk netconnection netstream network nginx node nodejs note objective-c office opengl openresty opensource ops osmf osx pay pda performance photoshop php physics player plist plugin portable posix ppc protocol proxy python qiqi qt quick2cocoslua reading reflection regexp ria robotlegs router rtmp ruby sagiteam sandbox sdk server sharedobject shell signals simulator skeletalanimation skin sleepmode smartphone socket software spark spreadsheet spritesheet sql sqlalchemy ssh staticize study svn swfobject terminal testing thread tipsandtricks tlf trace training translate translation tween typescript ubuntu ugly ui unity usingrobotlegs2 utf-8 uwsgi validator vcard vector video vim virtualization vr web weboffice websocket wifi windows wine word wordpress wuhan xbeta xinnet xml youshootfirst zhihu

其它