[IOS篇]Cocos2dX-IOS 直向開發的設定方式

cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
在RootViewController.mm裡,
- (BOOL)shouldAutorotateToInterfaceOrientation:
函式的return值改回傳為return UIInterfaceOrientationIsPortrait( interfaceOrientation );
 
最後的樣子會變成︰
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return UIInterfaceOrientationIsPortrait( interfaceOrientation );
} 

[Android篇]cocos2dx-android專案無法編譯C++

cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
一、Problem
我們知道,
如果要在Android使用C Library,
必須先將C編譯過。

今天在使用Cocos2Dx在編譯C時,
在Cygwin的Android專案目錄下達build_natvie.sh時,
出現了
Android NDK: jni/Android.mk: Cannot find module with tag 'CocosDenshion/android' in import path
的錯誤導致無法編譯。

二、Solution
上網查了文章發現Android NDK r7不會有此問題,r8才有。
解決方法如下︰

在你的Android JNI資源目錄底下修改Android.mk檔,
添加下列紅色敘述。
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := game_shared

LOCAL_MODULE_FILENAME := libgame

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp
                  
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes                  

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
           
include $(BUILD_SHARED_LIBRARY)

$(call import-add-path, /cygdrive/d/Android/cygwin/cocos2d)\
$(call import-add-path, /cygdrive/d/Android/cygwin/cocos2d/cocos2dx/platform/third_party/android/prebuilt)\


$(call import-module,CocosDenshion/android)\
$(call import-module,cocos2dx)\
$(call import-module,extensions)

[IOS篇]【iOS-cocos2d-X 游戏开发之一】在Mac下结合Xcode搭建Cocos2d-X开发环境&卸载Cocos2dx模版

cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2dx/599.html

2011-3-6更新:
今天大概说下关于cocos2d与cocos2d x的卸载方面的小提示,至于Cocos2d与Cocos2dX卸载基本网上都有相关文章,但是!今天说的是如何卸载Cocos2d在Xcode的模版;
卸载Cocos2d/X其实就是删除其相关文件即可,这个好说,但是模版这东西有些郁闷,因为其模版是被放置隐藏文件中了,所以我们想要删除必须先让你的mac显示隐藏文件才是关键!
首先打开你mac终端,然后输入如下命令:
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
或者
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO
输入后回车即可,然后我们关闭终端。然后点击你mac桌面菜单的“小苹果”图标,选择“强制退出”菜单,然后选择“Finder”,然后点击“重新 启动”,OK。所有隐藏文件可以看到了。那么这里我把删除我电脑Xcode中的Cocos2d/Cocos2dX模版的路径放出:
/Users/Himi/Library/Developer/Xcode/Templates
对应文件夹路径如下:
Macintosh HD->用户->Himi(你的用户名)-> 资源库(隐藏的)->Developer->Xcode->Templates
OK,直接删除Templates(Xcode中的模版)中的cocos2d-x还是cocos2d文件夹即可!
———————————————————————-
从今天开始Himi将陆续更新cocos2d-X的博文,毕竟cocos2d-X的跨平台确实很有诱惑力,尤其是网龙公司的《91部落》手机网游更 让Himi有了深入cocos2dX的价值,另外一方面很多iOS游戏公司都已经转入cocos2dX的队列中了,所以今天Himi先来分享如何在Mac 系统下搭建cocos2d-X引擎吧;
首先到Cocos2d-X下载地址下载最新版,Himi下载的是cocos2d-1.0.1-x-0.9.2.zip此版本对于iOS5做了些兼容正好适合,那么可能随着时间推沿,童鞋们看到此篇的时候可能已经不是1.0.1是最新版了,那么这里Himi给出下载列表地址便于大家选择需要的版本,http://code.google.com/p/cocos2d-x/downloads/list
第一步:下载cocos2d-X的引擎包,上面已经给出地址了;
第二步:下载完成之后Himi将其放置到了“文稿”中;(点击Finder-点击左侧的“文稿”);
第三步:启动终端;(点击Finder-前往-实用工具-终端)
第四步:先利用命令进入当前的 “cd documents” 进入Documents文件夹,继续进入文件夹命令:“cd cocos2d-1.0.1-x-0.9.2”,然后“sudo ./install-templates-xcode.sh”命令开始执行安装命令,这时候会如下提示:
1
2
3
4
5
select the template version to install
3 for xcode3
4 for xcode4
input nothing for all
4
让选择对应你的Xcode的版本,对应选择后输入对应数字,然后回车即可安装完成~(Himi悲催,没看到这个直接回车默认给选择了3- . – 我郁闷,无所谓了呵呵~)
OK,下面新建一个项目,然后Xcode出现如下界面,看左侧一栏,多了一个cocos2d-x,如下图:


然后新建好的cocos2d-X项目如下:


直接运行吧,效果如下:


OK,搭建完成,完美运行的说,嘿嘿嘿,不早了,该准备睡觉了,晚安 各位童鞋~

[cocos2d-x篇]新增一個動畫的Sprite

cocos2dx使用版本︰v2.0.4
cocosBuilder使用版本︰v2.0 alpha 1

CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache();

                    cache->addSpriteFramesWithFile("images2.plist");

            CCArray *animFrame = new CCArray(4);

            CCSpriteFrame *frame = cache->spriteFrameByName("girl1.png"); // 加進第1幀

                animFrame->addObject(frame);

                frame = cache->spriteFrameByName("girl2.png"); // 加進第2幀

                animFrame->addObject(frame);

                frame = cache->spriteFrameByName("girl3.png"); // 加進第3幀

                animFrame->addObject(frame);

                frame = cache->spriteFrameByName("girl4.png"); // 加進第4幀

                animFrame->addObject(frame);

                CCAnimation* animation = new CCAnimation();

                animation->initWithSpriteFrames(animFrame,0.1f);

                animation->autorelease();

                ////创建动画 

           CCAnimate *animate = CCAnimate::actionWithAnimation(animation); 

           CCSprite* pSprite1 = CCSprite::createWithSpriteFrameName("girl1.png");

          
           pSprite1->setPosition(ccp(100,300));

           pSprite1->runAction(CCRepeatForever::actionWithAction(animate));

          this->addChild(pSprite1,0);
另一種由影像載入的方式
                CCTexture2D *pTexture=CCTextureCache::sharedTextureCache()->addImage("hero.png");  
    CCSpriteFrame *frame0=CCSpriteFrame::createWithTexture(pTexture,CCRectMake(0,0,32,32));  
    CCSpriteFrame *frame1=CCSpriteFrame::createWithTexture(pTexture,CCRectMake(32,0,32,32));  
    CCSpriteFrame *frame2=CCSpriteFrame::createWithTexture(pTexture,CCRectMake(64,0,32,32));  
    CCSpriteFrame *frame3=CCSpriteFrame::createWithTexture(pTexture,CCRectMake(96,0,32,32));  
    CCArray  *animFrames=CCArray::create();  
    CC_BREAK_IF(!animFrames);  
    animFrames->addObject(frame0);  
    animFrames->addObject(frame1);  
    animFrames->addObject(frame2);  
    animFrames->addObject(frame3);  
      
    CCAnimation *animation=CCAnimation::createWithSpriteFrames(animFrames,0.2f);  
      
    CC_BREAK_IF(!animation);  
      
    CCSprite *heroSprite0=CCSprite::createWithSpriteFrame(frame0);  
    CC_BREAK_IF(!heroSprite0);  
    heroSprite0->setPosition(ccp(100,100));  
    addChild(heroSprite0,1);  
    CCAnimate *animate=CCAnimate::create(animation);  
    heroSprite0->runAction(CCRepeatForever::create(animate));//一直执行下去