cocos2d-x游戏入口点解析

#include "main.h"
#include "../Classes/AppDelegate.h"
#include "cocos2d.h"


#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string>

USING_NS_CC;

// 500 is enough?
#define MAXPATHLEN 500

int main(int argc, char **argv)
{
    // get application path
    int length;
    char fullpath[MAXPATHLEN];
    length = readlink("/proc/self/exe", fullpath, sizeof(fullpath));
    fullpath[length] = '\0';

    std::string resourcePath = fullpath;
    resourcePath = resourcePath.substr(0, resourcePath.find_last_of("/"));
    resourcePath += "/../../../Resources/";
    
    // create the application instance
    AppDelegate app;
    CCApplication::sharedApplication()->setResourceRootPath(resourcePath.c_str());
    CCEGLView* eglView = CCEGLView::sharedOpenGLView();
    /**设置游戏的窗口大小,屏幕的大小和屏幕的像素不一定是相等的,看看现在的手机就知道了
     * android的手机屏幕虽然大,但像素不一定比iphone的高
     * 所以,要设置一个scale来完成像素到屏幕位置的转换,比如像素(800, 600)映射到屏幕(400, 300)位置
     * 那么就需要有个一个scale来完成这个转换,这里显然scale的值是0.5
     * scale是在pDirector->setContentScaleFactor方法中完成的。
     * 注意:cocos2d-x中的显示对象的位置,我们最好设置其像素位置,而不是其屏幕位置
     * cocos2d-x会自动完成,像素位置到屏幕位置的转换
     * */
    eglView->setFrameSize(400, 300);

    return CCApplication::sharedApplication()->run();
}
  

 

posted @ 2013-06-29 22:45  walkabc  阅读(275)  评论(0编辑  收藏  举报