Cocos2D CCDrawNode шкала ограничения масштаба
Я использую cocos2d и создаю CCDrawNode
, В тот момент, когда я звоню addChild:
добавить CCDrawNode
Я вызываю следующий метод, чтобы навсегда масштабировать узел:
CCActionScaleBy *scaleAction = [CCActionScaleBy actionWithDuration:0.3f scale:1.1f];
CCActionRepeatForever *repeatForever = [CCActionRepeatForever actionWithAction:scaleAction];
[self runAction:repeatForever];
К сожалению, при попытке доступа к CCDrawNode
boundingBox
его ширина и высота не меняются в зависимости от масштаба.
Что вызывает это и как я могу получить его реальную ширину и высоту?
Спасибо!
1 ответ
Беглый взгляд на реализацию CCActionScaleBy показывает, что он играет с scale
свойство узла, не влияя на contentSizeInPoints
имущество. boundingBox
это прямоугольник, полученный с использованием 0,0 в качестве источника и contentSizeInPoints
свойство для размеров ширины и высоты. Простой способ получить фактическую ширину и высоту - это умножить contentSize/boundingBox.size
с текущим значением шкалы:
CGFloat actualWidth = self.boundingBox.size.width * self.scale;
CGFloat actualHeight = self.boundingBox.size.height * self.scale;