Cocos2d 中的Sprite大小调整问题
2014-03-11 16:02
841 查看
以前用UIImageView,比如 UIImageView *view = [[UIImageViewalloc] initWithImage:[UIImageimageNamed:@"back.jpg"]]; 当UIImageView 大小改变时,内部图片会自动跟随ImageView进行伸缩变化。比如我用了一张100*200的图片,我设置View的frame为200*400,view就会自动把图片拉伸。
但是在Cocos2d中,Sprite不是这样的,我采用528*300的图片,采用以下代码
效果如下
当我加入以下代码后
效果变为这样
其实,变化后,sprite的position是不变的,第2张图片中,background这个sprite的position还是在屏幕正中间,但是由于sprite没有自动拉伸图片内容的功能,图片由sprite的左下角开始绘制,绘制完全部图片后,把剩余的部分填充黑色,所以看起来sprite不居中了。
现在看起来,cocos2d的图片一定要非常准确才行,因为它不是自适应的(待验证。。。)
为什么ImageView可以自动放大,sprite不可以呢?这需要以后研究一下!
但是在Cocos2d中,Sprite不是这样的,我采用528*300的图片,采用以下代码
CCSprite *background = CCSprite::create("back.jpg"); parallaxNode->addChild(background, -1, ccp(0.2f,0.5f), ccp(s.width/2,s.height/2));
效果如下
当我加入以下代码后
background->setContentSize(CCSize(960,640));
效果变为这样
其实,变化后,sprite的position是不变的,第2张图片中,background这个sprite的position还是在屏幕正中间,但是由于sprite没有自动拉伸图片内容的功能,图片由sprite的左下角开始绘制,绘制完全部图片后,把剩余的部分填充黑色,所以看起来sprite不居中了。
现在看起来,cocos2d的图片一定要非常准确才行,因为它不是自适应的(待验证。。。)
为什么ImageView可以自动放大,sprite不可以呢?这需要以后研究一下!
相关文章推荐
- 如何调整Windows 7麦克风音量大小的问题
- Cocos2d-X游戏开发之Sprite纹理的大小限制
- Cocos2d 3.0继承自Sprite的类在addChild后出现问题
- 关于如何调整虚拟磁盘大小的问题总结
- cocos2d js v3.10 sprite点击事件的区域问题
- cocos2d-x-3.12 设置sprite 图片大小
- Linux下磁盘保留空间的调整,解决df看到的空间和实际磁盘大小不一致的问题
- 调整界面控件大小问题
- [Cocos2d-x开发问题-2] 有关Sprite的各种操作
- VMware下的Linux中调整屏幕大小,分辨率问题,终于解决啦
- cocos2d-x 获取屏幕大小 实际设计大小 分辨率适配问题
- SlickGrid使用JQuery1.9.1后的调整列大小问题
- cocos2d-html5 sprite打印宽高都为0的问题
- Cocos2d的SpriteSheet在多层图片时出现的问题
- smartform中的图片大小调整问题
- Cocos2d-x EditBox 设置字号大小不管用问题
- IE和FireFox对网页字体大小调整的问题
- 常见问题:自动调整窗口内控间的大小
- Cocos2d-js 3.0 颜色变换(调整sprite/图片的色调)
- [6]Cocos2d-x之关于屏幕大小与节点大小、节点缩放问题