cc.sprite.create 不起作用?cocos2d-html.



我是Cocos2d-html5 v2.2.1的新手,我正在尝试在画布上添加一个精灵(简单图像)。该代码确实添加了具有正确宽度和高度的图像,但它只是黑色。我似乎找不到任何错误,所以我有点卡住了。

任何帮助都会很棒。我的代码如下:

在主.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在资源.js中定义:

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

精灵场景.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);

我不知道这意味着什么。

好的伙计们!我想通了,我很生气。更改了此行:

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

自:

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

cocos2d-html5 的文档/教程已经过时,这越来越令人沮丧。

最新更新