cocos2dx 精灵旋转,如何判断精灵的坐标还在当前场景的坐标内

&Android平台上如何配置Facebook平台集成
Android平台上如何配置Facebook平台集成
这篇文档展示如何在Android平台快速地开始使用Cocos2d-JS的Facebook平台支持,从创建app,配置SDK到最后的打包成apk。
在Facebook上创建应用
在点击Apps->Add a New app, 选择android平台, 输入应用名,创建自己的新应用。
然后在新创建的app的dashboard页面你就可以看到它的App ID了。
在app的Settings页面点击add platform,选择Android,然后输入应用的包名,MainActivity的类名以及key hash。
key hash需要使用JDK提供的keytool生成。
在Mac OS X运行:
keytool -exportcert -alias &RELEASE_KEY_ALIAS& -keystore &RELEASE_KEY_PATH& | openssl sha1 -binary | openssl base64
在Windows运行:
keytool -exportcert -alias &RELEASE_KEY_ALIAS& -keystore &RELEASE_KEY_PATH& | openssl sha1 -binary | openssl base64
需要输入创建key时的密码。
这样就完成了Facebook App的创建,更详细的信息请参考Facebook官方文档:
添加Facebook平台支持到你的Cocos2d-JS工程
使用cocos命名行工具创建js工程。然后需要对Android工程做一些修改才可以在js代码中使用Facebook API。
Step1:在frameworks/runtime-src/proj.android/res/values/strings.xml添加app name和app id:
&string name="app_name"&cocos sample&/string&
&string name="app_id"&3945&/string&
Step2:在frameworks/runtime-src/proj.android/AndroidManifest.xml添加以下代码片段:
&meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id" /&
&activity android:name="com.facebook.LoginActivity" /&
&provider android:authorities="com.facebook.app.NativeAppCallContentProvider3945"
android:name="com.facebook.NativeAppCallContentProvider"
android:exported="true"/&
Step3:在frameworks/runtime-src/proj.android/jni/Android.mk中添加Plugin-x链接库:
LOCAL_WHOLE_STATIC_LIBRARIES += jsb_pluginx_static
$(call import-module,cocos2d-x/plugin/jsbindings)
Step4:在frameworks/runtime-src/proj.android/jni/hellojavascript/main.cpp文件中添加以下代码片段:
#include "PluginJniHelper.h"
void cocos_android_app_init (JNIEnv* env, jobject thiz) {
LOGD("cocos_android_app_init");
AppDelegate *pAppDelegate = new AppDelegate();
env-&GetJavaVM(&vm);
PluginJniHelper::setJavaVM(vm);
Step5:在frameworks/runtime-src/Classes/AppDelegate.cpp中添加如下代码片段。注意:请留意插入代码的位置:
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include "jsb_cocos2dx_pluginx_auto.hpp"
#include "jsb_pluginx_extension_registration.h"
bool AppDelegate::applicationDidFinishLaunching()
ScriptingCore* sc = ScriptingCore::getInstance();
// Add these lines before sc-&start()
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
sc-&addRegisterCallback(register_all_pluginx_protocols);
sc-&addRegisterCallback(register_pluginx_js_extensions);
sc-&start();
Step6:在frameworks/runtime-src/proj.android/build-cg.json文件的copy_resources添加如下代码片段:
"from": "../../js-bindings/cocos2d-x/plugin/jsbindings/script",
"from": "../../js-bindings/cocos2d-x/plugin/protocols/proj.android/src",
"to": "../src"
"from": "../../js-bindings/cocos2d-x/plugin/plugins/facebook/proj.android/src",
"to": "../src"
"from": "../../js-bindings/cocos2d-x/plugin/plugins/facebook/proj.android/sdk",
"to": "../libs"
Step7:在frameworks/runtime-src/proj.android/project.properties中添加如下代码片段:
android.library.reference.2=../../js-bindings/cocos2d-x/plugin/plugins/facebook/proj.android/DependProject
Step8:在frameworks/runtime-src/proj.android/src/org/cocos2dx/javascript/AppActivity.java中添加如下代码片段:
import org.cocos2dx.plugin.PluginW
import org.cocos2dx.plugin.FacebookW
import android.content.I
import android.os.B
public class AppActivity extends Cocos2dxActivity {
public Cocos2dxGLSurfaceView onCreateView() {
Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);
PluginWrapper.init(this);
PluginWrapper.setGLSurfaceView(glSurfaceView);
FacebookWrapper.onCreate(this);
return glSurfaceV
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
FacebookWrapper.onAcitivityResult(requestCode, resultCode, data);
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
FacebookWrapper.onSaveInstanceState(outState);
这样就完成了工程的配置,可以开始使用Facebook API了。
如何使用Facebook API
将项目打包成APK
可以使用Cocos2d-JS自带的console工具在命令行中直接打包项目为Android apk,在项目目录下打开终端或命令行,输入:
cocos compile -p android
更详细的信息请参考Quick-Cocos2d-x
&设置 Quick-Cocos2d-x 在 Windows 下的编译环境
设置 Quick-Cocos2d-x 在 Windows 下的编译环境
配置编译环境的基本步骤:
下载 Quick-Cocos2d-x 源代码
设置运行环境
安装 Java SDK
安装最新的 Android ADT bundle 和 Android NDK
编译 LuaJavaBridge 示例,并在 Android 真机上进行测试
Step 1: 下载 Quick-Cocos2d-x 源代码
下载最新版 quick 源代码。
Android SDK
的问题, Quick-Cocos2d-x 目录的放置有一定要求
必须和 Android SDK/NDK 在同一个分区
不能放在根目录
路径中不能包含中文和空格(所以别放桌面了)
Step 2: 设置运行环境
运行 setup.bat,完成运行环境的设置工作,成功会看到如下界面:
启动 player/win/player.exe,即可运行示例和您的项目。
Step 3: 安装 Java SDK
下载最新版的 Java SDK,并进行安装。
Step 4: 安装最新的 Android ADT bundle 和 Android NDK
下载最新的
ADT Bundle for Windows 。
2.解压缩 adt-bundle-windows-x86-2014????.zip 。
3.将目录 adt-bundle-windows-x86-2014???? 改名为 android 。
4.将目录 android\sdk 改名为 android\android-sdk-windows 。
下载 Android NDK r9?
6.解压缩 android-ndk-r9?-windows-x86.zip
7.将目录 android-ndk-r9? 移动到 android\android-ndk-r9?
最终的目录结构:
&PATH_TO&\android\android-ndk-r9?
&PATH_TO&\android\android-sdk-windows
&PATH_TO&\android\eclipse
android\android-sdk-windows\tools\android.bat
Android SDK 2.2 (
如果看不到 Android SDK 2.2,请设置代理
), 然后安装需要的包。
Step 5: 编译 LuaJavaBridge 示例,并在 Android 真机上进行测试
启动 命令行提示符 程序, 改变当前目录为 \Quick-cocos2d-x\sample\luajavabridge\proj.android, 运行 build_native.bat:
cd Quick-cocos2d-x\sample\luajavabridge\proj.android
build_native.bat
如果一切正常,等待几分钟以后会看到如下信息:
SharedLibrary
: libgame.so
: libgame.so =& libs/armeabi/libgame.so
将项目导入 Eclipse ADT
启动 \\eclipse\eclipse.exe, 导入
libcocos2dx
库(这个库是 Cocos2d-x 的 Java 支持).
1.选择菜单
Import , 再选择
Existing Android Code Into Workspace
按钮, 选择
\Quick-cocos2d-x\lib\cocos2d-x\cocos2dx\platform\android\java
3.点击 Finish.
4.重复上述步骤, 将
luajavabridge\proj.android
目录导入 Eclipse:
Package Explorer
LuajavaBridge
项目上点击鼠标右键,选择菜单
Properties
中已经存在
libcocos2dx
项,请先删除。然后点击
按钮, 再选择添加
libcocos2dx
7.导入完成。
设置 Android 设备允许真机调试
Android 官方文档:
Enable USB debugging on your device.
On most devices running Android 3.2 or older, you can find the option under Settings > Applications > Development.
On Android 4.0 and newer, it’s in Settings > Developer options.
Note: On Android 4.2 and newer, Developer options is hidden by default. To make it available, go to Settings > About phone and tap Build number seven times. Return to the previous screen to find Developer options.
在系统设置中找到“开发者选项”,打开“USB调试”。
Set up your system to detect your device.
If you’re developing on Windows, you need to install a USB driver for adb. For an installation guide and links to OEM drivers, see the OEM USB Drivers document.
根据不同的机型,也许需要安装该机型特定的 USB 驱动程序。例如 Moto 就必须安装 Moto 的 USB 驱动。
在设备上测试 LuaJavaBridge 示例
1.在 Eclipse 里选择菜单
2.如果设备设置完成,并且安装了正确的 USB 驱动,那么在 Devices 标签页中就可以看到你的设备:
如果看不到设备,请仔细检查设备设置和驱动程序。
LuajavaBridge
上点击鼠标右键, 选择菜单
Android Application . 如果一切正常,等一会儿就可以在设备上看到运行画面了:cocos2d-x 基础 - 随笔分类 - Bill Yuan - 博客园
随笔分类 - cocos2d-x 基础
摘要: 转自:http://blog.csdn.net/tyxkzzf/article/details/CCSprite* getHighlightSprite(CCSprite* normalsprite) { if ( !normalsprite) { return ...
摘要: 转自:http://blog.csdn.net/star530/article/details/本篇介绍的是用ClippingNode 做游戏的新手引导,额,或者说是做新手引导的一种可尝试的方式。ClippingNode的解释,我盗用Jacky的话来说就是:CCClipingNode...
摘要: 转自:http://blog.csdn.net/wcjwdq/article/details/是否吞噬触摸点需要控制两个地方:1)CCDirector::sharedDirector()-&getTouchDispatcher()-&addTargetedDelegate(this,...
摘要: 转自:http://blog.csdn.net/wcjwdq/article/details/ 显示图片时,在项目中经常会用只读取图片的一部分,而不是全部。错误方式:很多人这时候会采用setTextureRect(CCRectMake(x, y, width, height)),事...
摘要: 转自:/1396292.html,/bbs/read.php?tid=88589First!!源代码里加入://判断当前是否为Android平台#if (CC_TARGET_PLATFORM == CC...
摘要: 转自:http://blog.csdn.net/sg/article/details/在使用之前需要设置一些参数:参考:http://blog.csdn.net/wangbin_jxust/article/details/9632771在完成上面的操作后,还需要在链...
摘要: 转自:http://blog.csdn.net/wangbin_jxust/article/details/9707873cocos2dx本身没有json解析类库,我们这里引入libjson进行解析。下载地址:http://sourceforge.net/projects/libjson/files...
摘要: 转自:http://blog.csdn.net/wangbin_jxust/article/details/9632771,http://blog.csdn.net/wangbin_jxust/article/details/9707873联网游戏开发中,经常遇到http编程,接下来就分三次对coc...
摘要: cocos2dx的常用函数:CCEGLView::sharedOpenGLView()-&setDesignResolutionSize() //设计分辨率大小(即开发时为基准的屏幕分辨率)CCEGLView::sharedOpenGLView()-&setFrameSize() //...
摘要: 常见错误描述:Apple Mach-O Linker Error这类错误的错误信息最后一行通常如下:Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang failed with exit code 1发生这种错误...
摘要: 转自:/kf/191.html最近的项目要求动态光晕的效果。何谓动态光晕?之前不知道别人怎么称呼这个效果,不过在我看来,“动态光晕”这个名儿起的还是蛮不错的。动态光晕就是在背景图片的上面蒙上一层光照。。。但是这个光照比较特别,他能够变换颜色,...
摘要: 转自:/curl-libcurl/878.html本篇介绍使用libcurl编程的一般原则和一些基本方法。本文主要是介绍c语言的调用接口,同时也可能很好的适用于其他类c语言的接口。跨平台的可移植代码libcurl库背后的开发人员投入了相当大的努力确保li...
摘要: 转自:http://blog.csdn.net/wolfking_2009/article/details/年5月17日更新:对于之前说的资源释放问题,cocos2d-x 2.1.3已经解决,就是说中断之后不释放资源,估计方法跟之前提到的差不多,我没有仔细研究过....在调试的过程中发现,如果中断处理的时候,让游戏显示暂停界面,方法不当有可能会出问题,本人就遭遇了,返回时直接退出游戏,或者不显示暂停界面的问题。后来发现如果创建的暂停界面层,在AppDelegate::applicationDidEnterBackground方法里创建会没有问题~如果在AppDelegat
摘要: 转自:http://blog.csdn.net/wolfking_2009/article/details/cocos2d-x里面的二进制文件读取的方法是有的,作者对方法封装了下,将读取的路径设置到了writablePath路径上,这样方便读取自己存储的二进制文件。作者在cocos2d-x中没有找到二进制文件输出的方法,于是自己写了一个。下面就是两个方法的源码实现:二进制文件的读取:unsigned char* wkFileUtils::getFileByName(string pFileName){ //记录cocos2d-x中CCFileUtils,对于没有找到文...
摘要: 转自:http://blog.csdn.net/wolfking_2009/article/details/static void ScreenShoot(){ CCSize size = CCDirector::sharedDirector()-&getWinSize(); //定义一个屏幕大小的渲染纹理 CCRenderTexture* pScreen = CCRenderTexture::create(size.width,size.height, kCCTexture2DPixelFormat_RGBA8888); //获得当前的场景...
摘要: 转自:http://blog.csdn.net/wolfking_2009/article/details/8939027貌似cocos2d-x没有接口直接做这个功能而各个平台又不一样,所以只能对于不同的平台做不同的设置首先android,在自己的activity的onCreate方法里添加一句getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);即可保持屏幕常亮其次ios,[ [ UIApplication sha
摘要: 转自:http://blog.csdn.net/while0/article/details/CCLayer的区域可能会比较大,怎样让它只显示其中一部分区域呢? 这个还是有很多场景会用到的,例如游戏的帮助, 可能包括几页的文本和图片,它会在一个矩形区域内显示,用户通过拖动页面,一行行的往下看。试过后发现setContentSize不行,绘制的还是所有的Layer内容,虽然基类的m_obContentSize变了,但是绘制区域没有变。不饶弯子了,需要使用CCEGLView的函数setScissorInPoints,它会调用OpenGL的glScissor。爽快点,直接贴代码了:v
摘要: 转自:http://blog.csdn.net/xujiezhige/article/details/8448524#常见的手电筒效果,可以通过CCRenderTexture来实现。主要是通过修改渲染表面的alpha值来达到手电筒光照范围内的透明效果。此方法纯原创,如有雷同,英雄所见略同。这里由于本人没有什么图片,这里直接用矩形区域来代替圆形区域。通过以下几个基本步骤来完成这个效果。首先创建一个全黑的渲染表明覆盖在场景之上。 //create render target CCRenderTexture* pRenderTexture = CCRenderTexture::creat...
摘要: 转自:http://blog.csdn.net/jinjian2009/article/details/9449585之前使用过cocos2d-x获取系统时间,毫秒级的long getCurrentTime() { gettimeofday(&tv,NULL); return tv.tv_sec * 1000 + tv.tv_usec / 1000; } 或者这样写long getCurrentTime() { struct cc_ CCTime::...
摘要: 转自:http://blog.csdn.net/wolfking_2009/article/details/#static void ScreenShoot(){ CCSize size = CCDirector::sharedDirector()-&getWinSize(); //定义一个屏幕大小的渲染纹理 CCRenderTexture* pScreen = CCRenderTexture::create(size.width,size.height, kCCTexture2DPixelFormat_RGBA8888); //获得当前的场...
摘要: 转自:http://blog.csdn.net/cocos2der/article/details/7261808在实现运动中,我们常常需要实现一些加速度或者减速度的效果,cocos2d-x引擎为我们提供了相应的实现接口,这样我们就不用再用原来的公式计算方法来实现加减速度的效果Ease系列的方法改变了运动的速度,但是并没有改变总体时间,如果整个的action持续5秒钟,那么整个的时间仍然会持续5秒钟。这些action可以被分成3类:Inactions:action开始的时候加速Outactions:action结束的时候加速InOutactions:action开始,结束的时候加速第一个参数为
摘要: 转自:.cn/s/blog_67a5e.html在Cocos2d以及Cocos2d-x中,我们经常会用到CCLabelTTF以及CCLabelAtlas在层或精灵中添加文字。其实总共有三个添加文字的类,另外一个是CCLabelBMFont,我用的不怎么多。1. CCLabelTTFCCLabelTTF::labelWithString(const char *label, //文字内容 const CCSize& dimensions, //范围 CCS...
摘要: 转自:/dcxing/archive//2862068.htmlCCTableView在游戏中一般用在背包这样场景或层中,当然也不止这些,在ios开发中UITableView的应用是相当的广泛,当然它们的用途是一样的。(其实你会发现CCtableView其实就是参照UITableView来写的,所以做过ios开发的同学happy了)。既然说到了用到背包的地方,那么我们就做一个简单的背包信息的例子来学习它吧。 先上代码再说 .h文件//// CCTableViewLayer.h// Cocos2dXLearnDemo////#...
摘要: 转自:/dcxing/archive//2840217.htmlScrollView一般用在游戏的关卡选择这种类似的场景还有帮助这种场景之中,当然,也可以用其他一些选择菜单的场景。用途还是比较广泛的嘛。首先CCScrollView 在 Cocosd-x 的扩展库里面,要是使用的话,需要引入扩展包,然后添加命名空间#include &cocos-ext.h&USING_NS_CC_EXT;//cocos2dx定义的宏 然后实现CCScrollViewDelegate,这个其实是和UISCrollView和相似的。
摘要: 转自:http://blog.csdn.net/onerain88/article/details/. CCArray只是提供了一个面向对象的封装类其继承于CCObject类(CCObject的存在主要是为了自动管理内存),并提供了一系列接口,包括创建/** Create an array */ static CCArray* create(); /** Create an array with some objects */ static CCArray* create(CCObject* pObject, ...); /** Create an array with...
摘要: 转自:http://blog.csdn.net/honghaier/article/details/8068895 当一张图片被加载到内存后,它是以纹理的形式存在的。纹理是什么东西呢?纹理就是一块内存,这块内存中存放的是按照指定的像素格式填充的图片像素信息。它被最终作为三角面着色所依据的数据源。 我们来看一下cocos2d-x中的libcocos2d库,其下有许多目录,找到textures展开,可以看到有CCTexture2D,CCTextureAtlas,CCTextureCache,CCTexturePVR四个类。这四个类的功能分别是: CCTexture2D: 纹理,即图片加载入内...
摘要: 转自:/?p=295前段时间看CCEditBox的时候,发现里面有个利用9宫格图缩放图片的,也就是缩放带圆角的图片。这个比较有用处,很多游戏中有很多不同尺寸的圆角图片作为背景。有了CCScale9Sprite之后,只需要提供一个非常小尺寸的圆角图片就可以自由缩放其他尺寸的圆角图。是个不错的东西。使用方法:1、导入头文件及命名空间#include “cocos-ext.h”USING_NS_CC_EXT;2、初始化代码:CCScale9Sprite* labBg1 = CCScale9Sprite::create(“wd_bg_text.png”)
摘要: 转自:http://blog.csdn.net/onerain88/article/details/7641126cocos2d-x 2.0 版更新了,把opengl 1.1 替换为opengl 2.0,这个版本只能在iphone 3gs,android 2.2 以上版本才能跑,并且android的模拟器也不支持!这次更新终于更新了几个UI控件,比如Button,Slider,ListView(本来打算自己写个ListView的,这下省事了,看到注释,这里要感谢网龙公司了,当然,还要感谢cocos2d-x的整合)。但是这个tests中没有加入对ListView的使用教程,只有在CCTextur
摘要: 转自:http://blog.csdn.net/onerain88/article/details/7775569cocos2d-x 2.0版本之后提供了许多控件,其中就包括ScrollView,之前总结过一个简单的ScrollView,但是问题很多,比如必须是全屏,不能是一块区域,而cocos2d-x 2.0中提供的CCScrollView中,是可以设定区域的,CCScrollView做了区域的裁剪glScissor((GLint)screenPos.x, (GLint)screenPos.y, (GLsizei)(m_tViewSize.width*s), (GLsizei)(m_tVie
摘要: 转自:http://blog.csdn.net/zhy_cheng/article/details/8480048图形绘制的话,在cocos2d-x自带的TestCpp里有,包括绘制点,直线,多边形(填充的和没有填充的),圆,贝赛尔曲线。首先在HelloWorld类中重写父类的draw方法virtual void draw(); 在源文件中将init中的类容删去,应为init方法比draw先执行,会覆盖我们画出的效果。删除之后,init方法如下bool HelloWorld::init(){ bool bRet = do { CC_BREAK_...
摘要: 转自:http://blog.csdn.net/zhy_cheng/article/details/9116479cocos2d-x引擎在内部实现了一个庞大的主循环,每帧之间更新界面,如果耗时的操作放到了主线程中,游戏的界面就会卡,这是不能容忍的,游戏最基本的条件就是流畅性,这就是为什么游戏开发选择C++的原因。另外现在双核手机和四核手机越来越普遍了,是时候使用多线程来挖掘硬件的潜力了。1.环境搭建cocos2d-x中的多线程使用pthread就可以实现跨平台,而且也不是很难理解。使用pthread需要先配置一下工程。右击工程-----&属性-----&配置属性----&链接
摘要: 转自:http://blog.csdn.net/hgplan/article/details/8629904在cocos2d-x中可以用.plist格式的文件来保存数据,它是XML文件格式的一种,在cocos2d-x解析.plist方面相关的资料比较少,但本身也很简单,要解析.plist文件可以参考cocos2d-x类库中的CCSpriteFrameCache类和CCParticleSystem类,它主要是使用CCDictionary类来对.plist文件进行操作。下面有一个.plist文件: level1 bg_far_scene ...
摘要: 转自:/jiackyan/archive//3019880.html1、先说下渲染批次:这是游戏引擎中一个比较重要的优化指标,指的是一次渲染凋用。也就是说,渲染的次数越少,游戏的运行效率越高。2、CCSpriteBatchNode就是cocos2d-x为了降低渲染批次而建立的一个专门管理精灵的类。CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create(&Icon.png&, 1000); batchNode-&setPosition(CCPoint
摘要: 转自:http://cjhworld./blog/static//数学函数:ccp(x, y); // 以坐标x,y创建一个向量ccpFromSize(s); // 以size s的width为x,height为y创建一个向量 CCPoint的加减乘除运算运算ccpAdd(v1, v2); // 等价 ccp(v1.x+v2.x, v1.y+v2.y);ccpSub(v1, v2); // 等价 ccp(v1.x-v2.x, v1.y-v2.y);ccpNeg(v) // 等价 ccp(-v.x, -v.y);ccpMul
摘要: 转自:/the-cocos2d-scene-conversion-method-execution-order.html如果你希望在场景转换的过程中使用过渡效果的话,你可能想 先暂停某些动画或者隐藏一些用户界面元素,直到过渡效果结束。这就需要所 有的节点都存在于当前的场景中。以下来自从FirstScene过度到OtherScene的日志信息 显示了上述三个方法的调用次序:1. scene: OtherScene2. init:3. onEnter:4. // 这里运行了过渡效果5. onExit:6. onEnterTransitionDidFinish:
摘要: 转自:http://blog.csdn.net/qq/article/details/.纹理控制。 看此代码:CCSprite *pSprite = CCSprite::create(&ship.png&);ccTexParams params = {GL_NEAREST,GL_NEAREST,GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE};pSprite-&getTexture()-&setTexParameters(&params);上面最重要的函数就是setTexParameters();他就
摘要: 转自:http://blog.csdn.net/yanghuiliu/article/details/6912612正在做项目中有很多游戏数据要保存,常见的玩家数据这些比较简单的可以用CCUserDefault。它是cocos2d-x用来存取基本数据类型用的。保存为XML文件格式。主要方法:(和java的map很像,键值对,应该很容易懂的)void setBoolForKey(const char* pKey, bool value);void setIntegerForKey(const char* pKey, int value);void setFloatForKey(...
摘要: 转自:http://blog.csdn.net/qq/article/details/.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要比PNG格式要快和小。一般情况下PVR消耗的内存比PNG消耗的内存小25%左右。PVR格式可以用ZWoptex导出。PVR是apple芯片能直接读取和显示的文件.2.图片抗锯齿处理。图片放大时的处理:图片在放大的时候会出现锯齿。纹理类提供了setAntiAliasTexParameters()函数来处理抗锯齿。当图片放大的时候会使用相邻的四个像素进行混合运算。从而消除锯齿。但是会让图片产生模糊的感觉
摘要: 转自:/cocos2d-x/832.html学习cocos2d-x中的菜单主要需要了解:菜单(CCMenu)和菜单项(CCMenuItem)以及CCMenuItem的具体子类。a. 下面来学习一下相关的类。1. CCMenu菜单,是CCLayer的子类,是一个层(容器),可以往里面添加菜单项。下面是它的类结构图:CCMenu默认接受触屏事件的优先级是-128(优先级很高,因为值越小,响应触屏事件的优先级越高),可以通过继承它实现自定义的效果,创建CCMenu对象的函数:static CCMenu* menuWithItems(CCMenuItem* ite
摘要: 转自:/cocos2d-x/1024.html在游戏和应用中经常要实现左右滑动展示游戏帮助、以列表显示内容的UI效果,就像android中的Gallery和ListView。本文通过CCScrollView和CCTableView分别来实现这两个效果,基于cocos2d-x 2.0.4版本。首先来简单了解一下这两个东东,CCScrollView本身是一个CCLayer,而CCTableView是CCScrollView的子类,这是引擎已经帮我们封装好了的,CCTableView可以设置成横向和纵向,用它可以实现类似于Gallery和ListView的效果。
摘要: 转自:http://blog.csdn.net/bill_man/article/details/.CCRenderTexture使用CCRenderTexture的过程总结起来一句话,就是首先用begin方法来开始整个控制,采用节点中(比如CCSprite)的visit方法加入到渲染,最后调用end方法来结束整个控制并渲染。来看一个使用的例子//定义一个CCRenderTexture,参数为宽高m_pTarget = CCRenderTexture::renderTextureWithWidthAndHeight(s.width, s.height);//然后他也必须像节点一
摘要: 转自:http://www.xinze.me/cocos2d-x-ccnotificationcenter/在前端开发中,JS和as3中都有很好的监听机制, 我们使用Event的addEventListener、dispatchEvent即可实现松耦合。 在尝试使用cocos2d-x的时候,我寻找这种事件机制。由于自己是不愿去再去写一些一定存在的代码, 就想去找网上找了, 第一想法,就是立马去看PureMvc – c++,这儿的观察者模式可以轻易实现松耦合,但是看了看,感觉在c++中使用有些麻烦,就放弃了。 在google中搜索,找到如何一篇文章:Generic Observer Patter
摘要: 转自:http://blog.csdn.net/bill_man/article/details/8498424 可以根据一个模板切割图片的节点--CCClippingNode。这个类提供了一种不规则切割图片的方式,在这种方式以前,我们可以使用纹理类自带的setTextureRect函数来切割矩形区域,而新特性中提供的CCClippingNode最大的不同之处就是裁减将不仅仅局限于矩形,可以根据任何形状进行裁减,而你要做的只是给一个“裁减模板”,首先来看这个类的常用函数(需要说明的是,这里介绍的函数只是这个类独有的,这个类继承自CCNode节点类,因此节点类有的函数也就不做介绍了):getS.
摘要: 转自:/cocos2d-x/810.html这一篇来学习怎么使用cocos2d-x引擎播放帧动画,就是把一帧一帧的图片像电影那样显示出来。1. 首先来了解一下相关的类CCAnimation:是精灵用来播放动画的参数,内部封装了一个帧序列(CCMutableArray)和每帧播放间隔时间(float m_fDelay),初始化该对象时记得指定delay时间,否则默认是0。CCAnimationCache:从名字很容易看出,它是用来缓存CCAnimation的,内部封装了一个字典(CCMutableDictionary),是一个单例。使用实例:CCMutabl
摘要: 转自:/cocos2d-x/783.html游戏跟视频最大的区别就是互动,玩家可以操控游戏中的角色,现在的移动设备几乎人手一台,基本上全部都是基于触屏操作的,今天就来学习一下cocos2d-x是怎么实现对触屏操作的处理的。1.首先来了解一下相关的几个类、处理触屏事件时操作和执行的流程CCTouch:它封装了触摸点,可以通过locationInView函数返回一个CCPoint。CCTouchDelegate:它是触摸事件委托,就是系统捕捉到触摸事件后交由它或者它的子类处理,所以我们在处理触屏事件时,必须得继承它。它封装了下面这些处理触屏事件的函数:virt
摘要: 转自:/cocos2d-x/795.html精灵是游戏中十分重要的组成部分,随处可见,如:游戏背景、NPC、人物、道具等。在cocos2d-x引擎中,只要是用图片展示的,基本上需要使用精灵类。1. 首先来了解一下跟精灵相关的几个类:(1) CCTexture2D可以把它看成一个纹理,它是cocos2d-x渲染图形的重要参数,用来贴图,因为cocos2d-x使用opengl es绘制2d图形的,它的尺寸是2的n次方。一般通过以下方式获得:CCTexture2D* cache = CCTextureCache::sharedTextureCache()-&gt
摘要: 转自:/cocos2d-x/775.html从结构图可以看出,动作类的基类是CCAction,通过继承它可以实现很多种动作。 CCFiniteTimeAction:有限次动作执行类,就是按时间顺序执行一系列动作,执行完后动作结束; CCSpeed:调整实体(节点)的执行速度; CCFollow:可以使节点跟随指定的另一个节点移动。下面我们主要来学习CCFiniteTimeAction,这个类在平常的开发中很常见。CCFiniteTimeAction又分为CCActionInstanse(瞬时动作的基类)和CCActionInterval(延时动作的基...
摘要: 转自:http://blog.csdn.net/honghaier/article/details/8222401序列帧动画主要有几个类: CCSpriteFrame:精灵帧信息,序列帧动画是依靠多个精灵帧信息来显示相应的纹理图像,一个精灵帧信息包包含了所使用的纹理,对应纹理块的位置以及纹理块是否经过旋转和偏移,这些信息可以取得对应纹理中正确的纹理块区域做为精灵帧显示的图像。 CCAnimationFrame:序列帧动画单帧信息,它存储了对应的精灵帧信息。 CCAnimation:序列帧动画信息,它存储了所有的单帧信息,可以对单帧信息进行管理。 CCAnimate:序列帧动画处理类,它是真正完
摘要: 转自:http://blog.csdn.net/honghaier/article/details/8160519CCObject.h:#ifndef __CCOBJECT_H__#define __CCOBJECT_H__#include &platform/CCPlatformMacros.h&//Cocos2d命名空间NS_CC_BEGIN//声明以下几种类,在后面会定义相应类的成员变量的指针。以下几个类均是CCObject类的派生类。class CCZ //CCObject指针暂存类class CCO//基类class CCN //结点类
摘要: 转自:http://game.dapps.net/gamedev/game-engine/7281.html在Cocos2d-x中,拖尾效果有一个专门的类CCMotionStreak来实现。下面我们打开CCMotionStreak.h来看一下:#ifndef __CCMOTION_STREAK_H__#define __CCMOTION_STREAK_H__#include &CCProtocols.h&#include &textures/CCTexture2D.h&#include &ccTypes.h&#include &quo
摘要: 转自:http://blog.csdn.net/we000636/article/details/8263503接受触屏事件的优先级是值越小,响应触屏事件的优先级越高Z值越大,越外面JNI:允许Java代码与其它语言写的代码进行交互cocos2d-x好像对tmx中使用bmp图片不支持BombMan.win32.exe中的0x10007f50(libcocos2d.dll)处最可能的异常:0xC0000005:写入位置0x0000000c时发生访问冲突“BombMan.win32.exe”(托管(v4.0.30319)):已加载“C:\windows\Microsoft.Net\assembly
摘要: 转自:/andyque/archive//2192920.html而是新建一个工程。然后,我们不是copy文件夹、lib和dll了。我们只需要把release版本的dll全部复制到c:\Windows\System32目录下去。(由于cocos2d-x生成的debug版链接库和release版链接库名字一样,所以只需要把release复制过去就行了,我实验了一下,debug模式下链接release动态链接库也是可行的。) 接下来,我们要做一点其它的事了。首先在D盘建立一个文件夹cocos2d-xSources,然后把Box2D,c
摘要: 转自:http://第一部分:基本图形绘制cocos2dx封装了大量opengl函数,用于快速绘制基本图形,这些代码的例子在,tests\DrawPrimitivesTest目录下注意,该方法是重载node的draw方法实现的,在智能机上,并不推荐直接绘制几何图形,因为大量的坐标编码会极大降低工作效率,应尽量使用Image。而且cocos2dx的渲染机制会造成前后遮挡问题,尤其是几何图形与图片等其他node混合绘制时。void DrawPrimitivesTest::draw() { CCLayer::draw(...
摘要: 转自:/andyque/archive//1988097.htmlcocos2d和像素格式 在cocos2d里面,理解像素格式非常重要。因为,像素格式会影响在你的游戏中加载一张图片到底需要多少内存。因为游戏通常要加载大量的图片资源,所以你要尽可能充分利用移动设备上面非常少的可用物理内存。 默认情况下面,当你在cocos2d里面加载一张图片的时候,对于每一个像素点使用4个byte来表示--1个byte(8位)代表red,另外3个byte分别代表green、blue和alpha透明通道。这个就简称RGBA8888。 因此,如果你...
摘要: 转自:http://blog.csdn.net/aa4790139/article/details/8124781第一次接触粒子系统,以前游戏里面的一些小特效,像制作动画一样,是采用一帧一帧的切出来的,由于这种特效,变化无常,切出来的帧,都非常的大,也很耗内存,一下就内存溢出了......呵呵~ 主要是以前都没有接触过... 现在接触了,以后游戏就可以用到了...开心!//创建一个CCParticleSystem粒子系统CCParticleSystem* ignore = CCParticleSystemQuad::create(&Particles/SmallSun.plist&q
摘要: 转自:http://blog.csdn.net/aa4790139/article/details/8107325SpriteTestLayer.cpp(就只改了这个这个文件)#include &SpriteTestLayer.h&SpriteTestLayer::SpriteTestLayer(void){}bool SpriteTestLayer::init(){ CCSize s=CCDirector::sharedDirector()-&getWinSize(); //第一种加载资源方式 //CCSprite* sprite=CCSprite::create(
摘要: 转自:http://这里只给出最基本的动画代码,具体使用要根据实际情况自己封装。最好自己开发一个编辑器。额外说一句,开发编辑器最好使用Qt,因为是跨平台的。我们随便找一张动画资源图片,在66RPG里有很多,如图:CCSize s = CCDirector::sharedDirector()-&getWinSize(); //#1:生成动画需要的数据类 CCTexture2D *texture=CCTextureCache::sharedTextureCache()-&addImage(&pic247
随笔 - 581

我要回帖

更多关于 cocos2dx坐标系 的文章

 

随机推荐