码迷,mamicode.com
首页 > Web开发 > 详细

cocos2d-js引擎学习笔记

时间:2014-07-25 19:00:01      阅读:361      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   strong   width   2014   

Scale9Sprite

在用Scale9Sprite.create的时候出现Uncaught TypeError: Cannot call method ‘create‘ of undefined这个错误,

后来发现在默认情况下,project.json里的modules只自带cocos2d模块,通过检查frameworks/cocos2d-html5/moduleConfig.json,可以看到cocos2d模块里并没有CCScale9Sprite.js这个类。

它在GUI里,所以可以在modules里添加"GUI"这个模块,或者可以像我这样,在moduleConfig.json里写一个myNeedfulClass这样的模块,里面添加CCScale9Sprite.js这个类,这样只要在modules里添加"myNeedfulClass"就行。有个好处就是可以不用加载GUI里其他的类。测试代码如下

        var tmp = cc.Sprite.create(res.Block9);  
        var theSize = tmp.getContentSize();
        var fullRect = cc.rect(0,0,theSize.width,theSize.height);
        var insetRect = cc.rect(32,32,theSize.width-64,theSize.height-64);
        var scale9sprite = cc.Scale9Sprite.create(res.Block9,fullRect,insetRect);
        scale9sprite.setContentSize(theSize.width*3,theSize.height*2);
        scale9sprite.x  = size.width/2;
        scale9sprite.y = size.height/2;
        this.addChild(scale9sprite);

原先图片:bubuko.com,布布扣

经过上述代码处理后的图片:bubuko.com,布布扣

效果是A,B,C,D四个角大小不变,top,bottom俩条边横向拉伸,left,right俩条边纵向拉伸,中间的center既横向又纵向拉伸。

用在适配的地方比较多,譬如一个BUTTON精灵。

cocos2d-js引擎学习笔记,布布扣,bubuko.com

cocos2d-js引擎学习笔记

标签:style   blog   http   color   os   strong   width   2014   

原文地址:http://www.cnblogs.com/rhythm2014/p/3867976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!