ページ 11

イライラ棒のアプリで質問があります

Posted: 2013年4月15日(月) 13:13
by ash
イライラ棒のアプリの質問と称していますが、説明されている事柄が理解できないというわけではありません。

付け足したい、それはどうやるのかという質問です。
(フォーラムルールにもあるとおりどうすればいいのかでは漠然すぎますので、私の意見を書きますので意見をください)

イライラ棒アプリで四角、三角、星の形を作るときに、そのクラスをつくり定義していました。

例(星の場合)

コード:

public class BarricadeStar extends Barricade {

        private static final float PI2 = (float) (Math.PI*2);
        
        public BarricadeStar(float x, float y, float inR, float outR, BConf conf) {
                super(10, conf);
                for(int i=0; i<5; i++){
                        _pt[i*2+0].x = (float) (x + Math.cos(PI2/5*i)*inR);//内側
                        _pt[i*2+0].y = (float) (y + Math.sin(PI2/5*i)*inR);
                        _pt[i*2+1].x = (float) (x + Math.cos(PI2/5*i+PI2/10)*outR);//外側
                        _pt[i*2+1].y = (float) (y + Math.sin(PI2/5*i+PI2/10)*outR);
                }
                _center.x = x;
                _center.y = y;
        }

}
とあります。
あとはGameMgr.javaで描画などをしました。


「そこで私は、外部からダウンロードした画像を障害物としていれたいです。」(←主題)

そこで考えたのですが、星形の内側の半径と外側の半径を同じ値にすれば円になりますよね。
その中心点に画像をつければその画像に当たったらアウトのような設定になりますよね
 たとえば半径4の円を描画してフォトトショなどで画像を8x8(場合によってはほんの少し大きく)に設定してはっつければ正確ではありませんがその画像に当たったらアウトな感じになると・・・四角形でも同様に・・・
(このゲームではアウトなところは一律して(色は赤と)決めてありますし、基本的にコードの大きな変更はなくできるのかなと。。。)

用意する画像は、基本的に正方形か長方形にフォトトショで切り取るつもりです。
正方形なら上記で説明した円の上に、縦長の画像(長方形で切り取った画像は)四角形の上にはっつける。

はっつける画像の中心点も星、四角形と同じ設定にする。

(回転はしない設定にしますのでそこは触れません。)

このようなやり方をすれば、画像をよけていくようなゲームになりますか?
(質問はまだありますが今の段階で知りたいことは以上です)

長文ですが、ご指摘や意見などお願いします。
(自分のPCではないので違う名前を使っていますが普段は「mi_l」で通しています。)

Re: イライラ棒のアプリで質問があります

Posted: 2013年4月18日(木) 21:19
by beatle
なんでわざわざ星形を円の代わりとして使おうとしているのですか?
単純な円や長方形の当たり判定の方が、星形よりも簡単なのではないでしょうか。