忍者ブログ
  • 2024.04
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/01 13:20 】 |
cocos2dでスプライトが白くフェードアウトする
白くフェードアウトする場合、スプライトに


sprite->setOpacityModifyRGB(false);



と記述してある可能性がある。
SpriteBatchNodeを使用しているかどうかでも変わる(使用していると白くはならない)


void Sprite::updateColor(void)
{
Color4B color4( _displayedColor.r, _displayedColor.g, _displayedColor.b, _displayedOpacity );

// special opacity for premultiplied textures
if (_opacityModifyRGB)
{
color4.r *= _displayedOpacity/255.0f;
color4.g *= _displayedOpacity/255.0f;
color4.b *= _displayedOpacity/255.0f;
}

_quad.bl.colors = color4;
_quad.br.colors = color4;
_quad.tl.colors = color4;
_quad.tr.colors = color4;

// renders using batch node
if (_batchNode)
{
if (_atlasIndex != INDEX_NOT_INITIALIZED)
{
_textureAtlas->updateQuad(&_quad, _atlasIndex);
}
else
{
// no need to set it recursively
// update dirty_, don't update recursiveDirty_
setDirty(true);
}
}

// self render
// do nothing
}

void Sprite::setOpacityModifyRGB(bool modify)
{
if (_opacityModifyRGB != modify)
{
_opacityModifyRGB = modify;
updateColor();
}
}



PR
【2015/02/24 16:13 】 | cocos2d-x | 有り難いご意見(0)
<<cocos2d-xで文字送り | ホーム | 新しいプロジェクトを新しいgitリポジトリで作るまでの手順>>
有り難いご意見
貴重なご意見の投稿














<<前ページ | ホーム | 次ページ>>