android - Cocos 2D 如何缩小图像?

标签 android cocos2d-android

我想在 Android 中使用一张图像作为背景。该图像是平板电脑大小的,但我希望当屏幕较小时它可以缩小。我知道纵横比可能会关闭。无论如何,这是我的代码:

CGSize winSize = CCDirector.sharedDirector().displaySize();
    Log.v("MP", "Width: " + winSize.width + " Height: " + winSize.height);
    CCSprite backGround = CCSprite.sprite("background1.png");
    this.setIsTouchEnabled(true);
    //backGround.setContentSize(winSize);
    backGround.setScale(.5f);
    backGround.setPosition(CGPoint.ccp(winSize.width/2.0f,winSize.height/2.0f));
    addChild(backGround);

发生的情况是我的图像没有自动缩小。所以你会注意到我在这里设置了比例。 .5 是用于测试的任意值。我注意到,当我这样做时,图形确实缩小了,但我的图像被切断了。它只显示图像的左上角。

也许有人可以帮助我解决这个问题,并给我一些关于使用 Cocos2D 在 Android 上支持多种屏幕分辨率的一般建议。我知道如何在不使用 Cocos2D 的情况下处理这个问题,但我仍在学习 Cocos2D 并且不确定该怎么做。

最佳答案

这是一个难题;我们通常使用这种方法:

background.setScaleX(winSize .width/background.getTexture().getWidth());

background.setScaleY(size.height/background.getTexture().getHeight());

background.setPosition(CGPoint.make(size.width/2, size.height/2));

addChild(backGround);

关于android - Cocos 2D 如何缩小图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275596/

相关文章:

php - 使用 Retrofit 2 将 Pdf 上传到服务器

javascript - 光标获取单选组的列索引

java - 如何使用 Startactivity 并使调用 Cocos2d 层保持 Activity 状态 (Android/Java)?

android - Cocos2d android 禁用触摸

android - Android K上的BuildConfig NoClassDefFoundError

java - 当尝试从视频 View 中的 url 播放视频时,我收到 FileNotFoundException : No content provider error on SOME phones

javascript - React Native Component 不工作检查 App 的渲染方法

android-ndk - 编译 cocos2d 找不到标签为 'libjpeg' 的模块

android - 我怎样才能将乐谱发布到 FB/Gmail/etc 上?

c++ - 使用 .png 文件的动画 cocos2dx