ふつーのエンジニアのブログ

cocos2d-xでの座標系(getLocationとgetLocationInViewについて)


cocos2d-xの座標系でつまずいたのでメモ。

タッチイベントを取得する際に、getLocationInViewで判定していたらどうにも思いどおりの挙動にならない現象が起きた。(y座標が反転してしまう)

結論から言うと、getLocationInViewでなく、getLocationを用いれば、左下からの座標で取得できる。

 

調べると、基本的にcocos2d-xで用いられているのは、OpenGLの座標系となっていて、「左下」が原点らしい。

cocos2d-xのリファレンスを見ると、座標系を取得するメソッドとして、PointクラスのgetLocationとgetLocationInViewがある。

(以下リファレンスから引用)

Point getLocation()const

returns the current touch location in OpenGL coordinates

Point getLocationInView()const

returns the current touch location in screen coordinates

なるほど。OpenGLの座標系(左下)でとるか、画面の座標(左上)でとるかによってメソッドが分かれてるのか。

やっぱりリファレンスちゃんと見なきゃだめだなと思いました。

 

Categories: cocos2d-x

Swift初心者向け勉強会にいってきました。 » « WordPress再構築しました

2 Comments

  1. Hey there would you mind sharing which blog platform you’re
    working with? I’m looking to start my own blog
    soon but I’m having a tough time selecting between BlogEngine/Wordpress/B2evolution and Drupal.

    The reason I ask is because your layout seems different
    then most blogs and I’m looking for something completely unique.
    P.S Sorry for getting off-topic but I had to ask!

foresta にコメントする コメントをキャンセル

Your email address will not be published.

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Copyright © 2017 ふつーのエンジニアのブログ

Theme by Anders NorenUp ↑