cc.sprite.create не работает? cocos2d-html

Я новичок в Cocos2d-html5 v2.2.1 и пытаюсь добавить спрайт (простое изображение) на холст. Код добавляет изображение с правильной шириной и высотой, но оно просто черное. Кажется, я не могу найти никаких ошибок, поэтому я застрял.

Любая помощь будет здорово. Мой код ниже:

В main.js я загружаю ресурсы:

applicationDidFinishLaunching:function () {
    if(cc.RenderDoesnotSupport()){
        //show Information to user
        alert("Browser doesn't support WebGL");
        return false;
    }
    // initialize director
    var director = cc.Director.getInstance();

    //cc.EGLView.getInstance()._adjustSizeToBrowser();
    //cc.EGLView.getInstance()._resizeWithBrowserSize(true);
    //cc.EGLView.getInstance().setDesignResolutionSize(600, 400, cc.RESOLUTION_POLICY.SHOW_ALL);

    // set FPS. the default value is 1.0/60 if you don't call this
    director.setAnimationInterval(1.0 / this.config['frameRate']);

    //load resources
    cc.LoaderScene.preload(g_resources, function () {
        director.replaceScene(new this.startScene());
    }, this);

    return true;
}

g_resources определен в resource.js:

var s_jet = "images/jet.png";
var s_character = "images/p1_front.png";
var g_resources = [
//image
{src:s_jet},
{src:s_character}];

spriteScene.js:

init:function () {
    var selfPointer = this;
    this._super();

    var size = cc.Director.getInstance().getWinSize();

    var lazyLayer = cc.LayerColor.create(new cc.Color4B(45, 50, 128, 255), 600, 600);
    //var lazyLayer = cc.Layer.create();
    lazyLayer.setAnchorPoint(new cc.Point(0.5,0.5));

    var characterSprite = cc.Sprite.create("./images/p1_front.png");
    lazyLayer.addChild(characterSprite, 0);

    this.addChild(lazyLayer);
    var rotateToA = cc.RotateTo.create(2, 0);
    var scaleToA = cc.ScaleTo.create(2, 1, 1);
    characterSprite.setPosition(new cc.Point(size.width/2,size.height/2));

Я просто не понимаю, почему спрайт просто рисуется как черный ящик.

Изменить: когда я раскомментирую строку ниже из main.js; сначала изображение все еще черное, но когда я изменяю размер браузера, появляется изображение: -

cc.EGLView.getInstance().setDesignResolutionSize(600, 400, cc.RESOLUTION_POLICY.SHOW_ALL);

Я не знаю, что это означает.


person 1000Suns    schedule 04.01.2014    source источник


Ответы (1)


Хорошо, парни! Я понял это, и я в бешенстве. Изменил эту строку:

this.characterSprite.setPosition(new cc.Point(size.width/2,size.height/2));

to:

this.characterSprite.setPosition(cc.p(size.width/2, size.height/2));

Документация/учебники для cocos2d-html5 устарели, и это расстраивает.

person 1000Suns    schedule 05.01.2014