新しい記録はやはり月曜日から

4951 ワード

今週からcococos 2 d-xを共有します.
cococos 2 dを習い始めたばかりで、私はiPhone端末をやっているので、cococos 2 d-xを使うかcococos 2 d-iPhoneを使うか迷っていましたが、結局cocococos 2 d-xのプラットフォーム間性が私の心の中の天秤を割ってしまいました.
原文:http://blog.csdn.net/fengshiguang_shang/article/details/20902921    http://www.cnblogs.com/JoProgrammer/p/3591787.html
まず、cococos 2 d-x 3を使います.0とcococos 2 d-iPhone 3.0.正直に言うと、この2つのエンジンは同じシステムですが、cocos 2 d-xの初期化方式は一般的にNode::create(...)、cococos 2 d-iPhoneの初期化方式はNode::init...(...),また、データ型の名前が異なります.例えば、Arrayのタイプはcococos 2 d-xで__と定義されています.Array、cococos 2 d-iPhoneにはOCのNSArrayのカテゴリが記述されています.
しかし、これらの違いはすべて大同小異で、同じエンジンの異なる外在的な表現方式にすぎないが、個人的な感覚では、cococos 2 d-xは更新の先端にある.例えば、新しい3.0バージョン、そのタッチメカニズムはみんなが言ったクリックインタラクションで、EventDispatcherを直接使用している.では、なぜ前のonTouchesBegan()…どうですか.個人的な見解:新しいタッチメカニズムが1つのノードに作用するため、Layerの冗長な検索換算を避けることができる.また、イベントスケジューリングとして、イベントをリスニング処理しています.古いエンジンのリスニングのメリットに加えて、EventDispatcherはより多くのメリットを持っています.例えば、ゲームが完了したら、半透明のLayerをカバーしています(前のゲームの境界面を削除したくありません).では、新しいLayerでは、ゲームインタフェースLayerのタッチメカニズムを制御することもできます.removeEventListener、例えばグローバル属性のEventDispatcher変数を設定すると、新しい処理を行うことができます.参照:http://blog.csdn.net/eric_XJJ/article/details/18180091
これらのものを見終わったら、まず飲み物を飲んで、お湯を飲んで、タバコを吸わないほうがいいです.食べ物も食べないで、1-2分休んで、それからcocos 2 d-xのコード部分を見始めましょう.
まず、私たちは新しいプロジェクトを作りました.新しいプロジェクトができない学生は実際に練習するときは、上の引用リンクを参照してください.しばらく下を見ればいいです.プログラミングツールを使用して私たちのプロジェクトを開くと、まず新的记录果然从周一开始_第1张图片がClassesフォルダにあるのは私たちのゲームの主要なクラスです.他の私は一つ一つ紹介しません.classesフォルダを開くと、AppDelegateとHelloWorldSceneの2つのクラスがあります.
まずAppDelegateを開きます.
下に私は先に追加したコードの後に追加した注釈で、主な原因は少し書きたいので、間に合って見ることができて、これらのものを直接コピーして貼らないでください.前人の証明を経て、このような効果はよくなくて、自分の理解を形成したほうがいいで、更に自分の独立した1つの小さい本、小さいブログの中で書きます.
using namespace CocosDenshion;//     CocosDenshion           ,                      SimpleAudioEngine,           CocosDenshion     ,           ,         SimpleAudioEngine。

USING_NS_CC;

AppDelegate::AppDelegate()
{
}

AppDelegate::~AppDelegate()
{
    SimpleAudioEngine::end();//       CocosDenshion       ,    SimpleAudioEngine        @note    SimpleAudioEngine:  ()         ,          。
}
bool AppDelegate::applicationDidFinishLaunching()
{
    // initialize director
    Director *pDirector = Director::getInstance();//          ,  。         ,          ,        ,       。          ?   ,                ,        ,   ,          。
    EGLView *pEGLView = EGLView::getInstance();//         ,              :Get the EGLView, where everything is rendered  EGLView      。   ,       ,EGLView          ,         CCEGLViewProtocol,       ,    EGLView                       ,  ,        
    pDirector->setOpenGLView(pEGLView);//      ,        OpenGL  ,      OpenGL              。
    
    //	pEGLView->setDesignResolutionSize(720, 1280, kResolutionShowAll);

    // turn on display FPS
    pDirector->setDisplayStats(true);//      ,     

    // set FPS. the default value is 1.0/60 if you don't call this
    pDirector->setAnimationInterval(1.0 / 60);//      

    // create a scene. it's an autorelease object
    Scene *pScene = HelloWorldScene::scene();//    

    // run
    pDirector->runWithScene(pScene);//    
    return true;
}

// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground()
{
    Director::getInstance()->stopAnimation();//      

    SimpleAudioEngine::getInstance()->pauseBackgroundMusic();//      
}

// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground()
{
    Director::getInstance()->startAnimation();//      

    SimpleAudioEngine::getInstance()->resumeBackgroundMusic();//      
}

それから皆さんはHellowWorldScene類を開けて、いくつかのC++コードができるのはこれに対してよく知っているはずで、あまり注釈を見ることができなくて、とても詳しくて、簡単で、私はこれでコードをくっつけないで、いくつか注意しなければならないところだけを言います.
Point::ZERO、代表(0,0)とPoint()は同じです.
        CC_CALLBACK_...この関数は,0であれば戻りパラメータがなく,1であれば戻りパラメータがあり,順次類推する.
addChild(Node*child,int zOrder,int tag)child:ノードzOrder:z軸レベル、>0の整数、0はz軸最下位tag:ノードを検索するための数値を示す
        
       
////////****************************************************************************************************************************////////
ジョブ:HellowWorldSceneで画像、ボタン、文字などのノードを作成します.
*ボタンのトリガー方法を書き、バックグラウンドでテキストを出力します(オプション)
**タッチメカニズムを練習します.例えば、画面をクリックしたり、バックグラウンドで文字を出力したりします.
予習:次の更新は水曜日に予定されています.小さな動作を話したり、タッチメカニズムを話したりします.
注意:メニューボタンの触発方法は、できない自分で必ず理解しなければなりません.今回はしないで後で時間があっても理解しなければなりません.私はドキュメントでは言いません.向上の練習とします.いろいろなメニューボタンを練習しましょう.
////////****************************************************************************************************************************////////