Cocos2d 相当于 Sprite Kit 的大小 属性
Cocos2d Equivalent of Sprite Kit's size property
嘿,我在去 Cocos2d 之前学习了 sprite kit,但我想念 sprite kit 的一件事是如何仅通过使用 cgSizeMake(x,y); 来更改 sprite 的大小; .我似乎无法找到与在哪里使用 cgsizemake 等效的内容。我尝试使用 contentSize,但它没有改变任何东西,只是让它移动。我知道 setScale 可以更改大小,但 setScale 将其基于图像的初始大小,您只需使用 setScale.Is 命名长度和宽度,在 Cocos2d-swift 中有等效项还是我坚持使用 setScale。
使用 getContentSize()
获取 sprite 的原始大小,并使用它 setScale()
到您需要的大小。
示例:
全尺寸:200x200px
所需尺寸:20x20px
sprite.setScale(20.0/sprite.getContentSize().width, 20.0/sprite.getContentSize().height);
编辑:此外,您可以子类化或创建一个扩展来创建一个名为 setSize() 的方法来执行此操作。
编辑 2:要获取缩放后精灵的大小,请参见此处:
How to get CCSprite's size after changing scale
还添加了另一个 link 以将 sprite 缩放到精确大小。
相关:
- COCOS2D-X: scale sprite
- http://discuss.cocos2d-x.org/t/setcontentsize-in-cc-sprite-doesnt-set-the-size-instead-only-changes-the-position-of-the-sprite/5506/3
- Scale CCSprite to exact size
嘿,我在去 Cocos2d 之前学习了 sprite kit,但我想念 sprite kit 的一件事是如何仅通过使用 cgSizeMake(x,y); 来更改 sprite 的大小; .我似乎无法找到与在哪里使用 cgsizemake 等效的内容。我尝试使用 contentSize,但它没有改变任何东西,只是让它移动。我知道 setScale 可以更改大小,但 setScale 将其基于图像的初始大小,您只需使用 setScale.Is 命名长度和宽度,在 Cocos2d-swift 中有等效项还是我坚持使用 setScale。
使用 getContentSize()
获取 sprite 的原始大小,并使用它 setScale()
到您需要的大小。
示例:
全尺寸:200x200px
所需尺寸:20x20px
sprite.setScale(20.0/sprite.getContentSize().width, 20.0/sprite.getContentSize().height);
编辑:此外,您可以子类化或创建一个扩展来创建一个名为 setSize() 的方法来执行此操作。
编辑 2:要获取缩放后精灵的大小,请参见此处:
How to get CCSprite's size after changing scale
还添加了另一个 link 以将 sprite 缩放到精确大小。
相关:
- COCOS2D-X: scale sprite
- http://discuss.cocos2d-x.org/t/setcontentsize-in-cc-sprite-doesnt-set-the-size-instead-only-changes-the-position-of-the-sprite/5506/3
- Scale CCSprite to exact size