如何在cocos2d for iphone中获取CCSprite的宽度和高度
这就是问题 xD
给定 iphone 中 cocos2d 中的 CCSprite 实例,我可以使用什么方法来获取图像的宽度和高度?
That's the question xD
Given an instance of a CCSprite in cocos2d in iphone, what method can I use to obtain the image width and height?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
CCSprite 类有一个边界框属性,它是 CGRect:
我向 CCSprite 子类添加了宽度和高度方法。
The CCSprite class has a bounding box property that's a CGRect:
I added a width and height methods to my CCSprite subclass.
原始宽度:
sprite.contentSize.width
原始高度:
sprite.contentSize.height
当前宽度:
sprite.contentSize.width * sprite.scaleX
当前高度:
sprite.contentSize.height * sprite.scaleY
raw width:
sprite.contentSize.width
raw height:
sprite.contentSize.height
current width:
sprite.contentSize.width * sprite.scaleX
current height:
sprite.contentSize.height * sprite.scaleY
在 cocos2d-x 中
IN cocos2d-x
在 cocos2d-x v3.x 中,Node 类(即 Sprite 的超类)中已弃用
boundingBox
。请改用以下代码:或
In cocos2d-x v3.x,
boundingBox
is deprecated in the Node class (i.e. the super class of Sprite). Use the following code instead:or
2018年的答案(Cocos2d-x v3.x:)
其他答案不完整且已过时。
请注意,我在下面使用 JavaScript 以及 解构赋值语法。请务必查看您的语言实现的 Cocos API 文档。
getBoundingBox()
为您提供:
setScale()
应用于精灵后的尺寸)。anchorPoint
为 (0.5, 0.5),而此坐标表示 (0, 0) 位置。换句话说,如果anchorPoint设置为默认值,则getBoundingBox().x
+getBoundingBox().width
/ 2 =getPosition().x
(您在setPosition()
中设置的 x 值)。示例:
getContentSize()
为您提供:
示例:
getTextureRect()
为您提供:
:
Answer for 2018 (Cocos2d-x v3.x:)
The other answers are incomplete and out-of-date.
Note that I'm using JavaScript below along with destructuring assignment syntax. Be sure to view the Cocos API documentation for your language implementation.
getBoundingBox()
Gives you the:
setScale()
is applied to the sprite).anchorPoint
for sprites is (0.5, 0.5), while this coordinate represents the (0, 0) position. In other words, if the anchorPoint is set at the default, thengetBoundingBox().x
+getBoundingBox().width
/ 2 =getPosition().x
(the x value you set insetPosition()
).Example:
getContentSize()
Gives you the:
Example:
getTextureRect()
Gives you the:
Example: