【问题标题】:Cocos 2D How to scale down image?Cocos 2D 如何缩小图像?
【发布时间】:2011-11-26 01:21:37
【问题描述】:

我有一张图片,我正试图在 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,不知道该怎么做。

【问题讨论】:

  • 我在寻找可接受的答案,但名称大小还有一个变量,我们如何获得它的值?

标签: android cocos2d-android


【解决方案1】:

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

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);

【讨论】:

  • 这里的size代表winSize吗?
  • 你好,我想在 cocos2d 安卓游戏中缩小 ccMenuItem Image?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 1970-01-01
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多