「パネルの座標」の編集履歴(バックアップ)一覧に戻る

パネルの座標 - (2005/08/28 (日) 05:59:36) のソース

<font size=
"2"> 「新年明けましておめでとうございます。<br>
新たな年の番外講座第一弾はパネルの座標についてです。<br>

皆さんは、パネルでオブジェクトを描写するとき(<i>$panel.drawSprite(x,y,p,f)</i>)</font><font color="#000000"
size=
"-1">のx座標に$viewX+$screenWidthとか、y座標に$viewY+$screenHeightとか書いて意味不明な動作をされて怒りに震えた経験はありませんか?(スクロールするゲームでは通常位置を固定するためにこうやって書く)<br>

<br>
これは、全てパネルというものの性質によるものなんです。<br>

ちなみに要点から言いますと、パネルというものの座標を指定するときには<b>$viewXとか$viewYはいりません</b>。<br>

単純に$screenWidthに$screenHeighと書けばいいです。<br>
<br>
さて、なぜなのか。<br>
ただのオブジェクトを描写するときにはあれほどに悩みぬいた末に獲得した(私だけ?^^;)このスクロール対策の魔法の呪文、$viewX&amp;$viewYが必要ないどころか、むしろ邪魔モノと化すのか!?<br>

それはパネルオブジェクトを表示するときには<b>パネルと呼ばれる透明な黒板に描かれる</b>からです。<br>

<br>
では、どういうことなのか?<br>
<img src=
"http://www12.plala.or.jp/goma_goma_deth/tonyu/img/kouza_bangai6_panel.JPG"
border="0" height="200" width="590"><br>
<br>
う~ん、カラフルー♪♪<br>
ようするにこういうことです。<br>
パネルのオブジェクトの中心はこの<b>パネルの範囲</b>なのです。<br>

パネルでオブジェクトを描写するときには画面の座標も表示元のオブジェクトの座標も関係ありません。<b>パネルの範囲における座標こそが全て</b>なのです。<br>

なわけで、$viewXだの$viewYだのなんて書いちゃったら<b>とんでもない間違い</b>です。<br>

パネルにとっちゃ「知るかボケが」というところ。無駄に大きな数字を渡してしまって意味不明な動作をされてしまうだけです。<br>

<br>
てなわけで、パネルでオブジェクトを描写するときには常に<b>画面のどの位置に表示されるか</b>だけを考えて数字を打ち込めばいいわけでいたってお気楽ですね♪<br>

<br>
ちなみに、パネルは黒板です。<br>
一つのパネルには一つのことしか描くことができませんので、線をぐちゃぐちゃに描いた上から黒板消しで消したら当然全ての線を消してまっさらにしてしまいます。<br>

重ね書きをすると先に書いたものはきれさっぱり消えて痕も残りません。<br>

んなわけで、<b>複数のパネルを使いたいときにはパネルオブジェクト</b>を使いましょう。動作速度については保障できませんが…^^; 別々のパネルならばそれぞれのパネルで独立した黒板となるので、一度に全部消されてしまうようなことはありません。<br>

<img src=
"http://www12.plala.or.jp/goma_goma_deth/tonyu/img/kouza_bangai6_kokubankeshi.gif"
border="0" height="200" width="500"><br>
<br>
<img src=
"http://www12.plala.or.jp/goma_goma_deth/tonyu/img/kouza_bangai6_kokubaniroiro.gif"
border="0" height="200" width="500"></font>
記事メニュー
目安箱バナー