2Dオブジェクトの幅を取得する方法
まずオブジェクトにSprite Renderのコンポーネントが追加されている必要があります。
スプライト化したオブジェクトをHierarchyに持っていけば勝手に追加されていると思います。
後は、以下のコードで幅を取得可能です。
var sr = object.GetComponent<SpriteRenderer>(); var width = sr.bounds.size.x;
bounds.sizeでオブジェクトのサイズを取ってるので、
yを参照すれば高さを取得できます。
スプライトの作成などについては、mobile touchのサイトで詳しく解説されていました。
結果的にかなり簡単に取得出来ましたが、
2Dの情報がまだ少なく、ここに辿り着くまでかなり時間がかかってしまいました(--;
Unityのオブジェクトに、なぜwidthやhightのプロパティがないのかなぁと悩んでたのですが、
3Dの世界なので、端点の位置によってwidthやhightの捉え方が変わるので、
値の取りようがないのかなぁという結論に至りました。
でも、unity4.3から追加された2D機能、
これに関しては、厚みがないという前提で、X,Y軸に平行に存在するオブジェクトと考えれば
X軸または、Y軸においての距離は求めれるはず。
ということで、何らかの幅をとる方法がないのかなぁと試行錯誤した結果、
ようやく結論にたどりつきました。。
早く誰か2Dの情報まとめた書籍出して〜〜
(人まかせ…)