首页 > 其他 > 详细

Cocos2d 中的Sprite大小调整问题

时间:2014-03-12 05:11:48      阅读:456      评论:0      收藏:0      [点我收藏+]

以前用UIImageView,比如  UIImageView *view = [[UIImageViewalloc] initWithImage:[UIImageimageNamed:@"back.jpg"]]; 当UIImageView 大小改变时,内部图片会自动跟随ImageView进行伸缩变化。比如我用了一张100*200的图片,我设置View的frame为200*400,view就会自动把图片拉伸。

但是在Cocos2d中,Sprite不是这样的,我采用528*300的图片,采用以下代码

bubuko.com,布布扣
 CCSprite *background = CCSprite::create("back.jpg");

 parallaxNode->addChild(background, -1, ccp(0.2f,0.5f), ccp(s.width/2,s.height/2));
bubuko.com,布布扣

效果如下

bubuko.com,布布扣

当我加入以下代码后

bubuko.com,布布扣
background->setContentSize(CCSize(960,640));
bubuko.com,布布扣

效果变为这样

bubuko.com,布布扣

其实,变化后,sprite的position是不变的,第2张图片中,background这个sprite的position还是在屏幕正中间,但是由于sprite没有自动拉伸图片内容的功能,图片由sprite的左下角开始绘制,绘制完全部图片后,把剩余的部分填充黑色,所以看起来sprite不居中了。

现在看起来,cocos2d的图片一定要非常准确才行,因为它不是自适应的(待验证。。。)

为什么ImageView可以自动放大,sprite不可以呢?这需要以后研究一下!

Cocos2d 中的Sprite大小调整问题,布布扣,bubuko.com

Cocos2d 中的Sprite大小调整问题

原文:http://www.cnblogs.com/breezemist/p/3594172.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!