Sprite

Sprite

  • 2D画像
  • 画像又は画像を矩形で切り取った部分から作成
  • 他のスプライト(Spriteクラス又は、そのサブクラス)を子として持てる
  • デフォルトのアンカーポイント(Anchor point)は、(0.5, 0.5)

Cocos2d-xの座標

  • Vec2クラス
  • x, y の2次元座標を保持

機能

  • Nodeクラスの機能も使用可
  • 手動で位置づけ
    • setPosition() — 指定位置に移動、Vec2(x,y)
    • setScale() — 拡大、縮小、X, Yまたは、どちらかのみ拡大、縮小
    • setRotation() — 回転角を設定、単位は度、時計回り
    • setVisibile() — 見えるかどうか、見える(true) または 見えない(false)
    • setOpacity() — 不透明度を設定、0(透明) 〜 255(不透明)
    • setColor() — 色を設定、ColorRGB(r, g, b) 赤、緑、青それぞれ 0 〜 255
  • アクション
    • Position — MoveBy, MoveTo, JumpBy, JumpTo, BezierBy, BezierTo, Piace
    • ScaleTo — ScaleBy, ScaleTo
    • RotateTo — RotateBy, RotateTo
    • Visibility — Show, Hide, Blink, ToggleVisibility
    • Opacity — FadeIn, FadeOut, FadeTo

スプライトの重ねあわせ

単純な重ねあわせ

まず、最初にスプライトに子として半分の大きさにしたスプライトを追加してみます。スプライトのアンカーポイントは(0.5,0.5)ですので、ちょうど真ん中で2つが重なるはずです。

結果は以下のとおりになって、1つ目のスプライトの左下に2つ目が位置づけられてしまいます。

Sprite1

この状態でのspriteとsprite2のデータの状態を調べてみます。

  • sprite
    • _contentSize — (480, 320)
    • position — (480, 320)
    • anchorPoint — (0.5, 0.5)
    • anchorPointInPoints — (240,160)
    • ignoreAnchorPointForPosition — false
  • sprite2
    • position — (0, 0)
    • anchorPoint — (0.5, 0.5)
    • anchorPointInPoints — (240,160)
    • ignoreAnchorPointForPosition — false

スプライト2の位置をずらす

スプライト1のサイズを調べて、スプライト2が中央に来るようにします。そのために次のコードを追加します。

Sprite2

Digiprove sealCopyright secured by Digiprove © 2014

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください