忍者ブログ
「良く言えば、個性的ね...」が 代名詞。
[1] [2]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

わざわざ公開するようなことではないかもしれませんが。

今回の『なのすこーぷ』で、球のような図形は、3Dではなく2Dのグラデーションで描いています。

ball.jpg
サンプルを作ってみました。

ダウンロードは こちら から。ソースも含まれています。

マウスを動かしていくと、0.5秒に1つ球(のような図形)がランダムな色とランダムな大きさで描かれていきます。


PR
href="http://chihoizu.blog.shinobi.jp/hoge/EditEntry/248/" target="_blank">昨日 書いていた円の領域をコピーする方法ですが、何とか上手くいきました。 (^^)v

これでとりあえず「たまたまみずたま」に取り掛かることができそうです。
ついでにサンプル作ってみました。

きっと、「円の領域コピーするのになんでこんな七面独裁ことをするんだ...」
と思われる方も多いかと思われますが、いいじゃないですか。こんなやり方をしたって。例えそれがアクションものではオーバーヘッドがかかって使いものにならなかったとしても。
さて、これでパズルを作り始めれる...と思ったら、まだ問題があることに気がつきました。

空白のピースから隣のピースにマウスが移った時に、始めてその(逆の)方向にピースを動かす...といった動作をさせるためには、現在のマウスがどのピースの上に存在するかということを判定しなければなりません。

今までは、長方形や円に近似させれば良かったのですが、今回は斜め向きの台形などもあるため、もう少し真面目に内外判定をしなければユーザーの思ったとおりの動きにはならないことに気がつきました。

う~ん、これは数学に頼るしかない...。


ということで、「内外判定」「座標」あたりで検索をかけると、
「偏角の原理」というものを見つけました。

あなたがビルのてっぺんにいるとします。
4つの地点を結んでできる四角形の左回り(または右回り)の順番で
それぞれの地点を見ていく時、元の頂点に戻るまでに一周したら
あなたは4つの地点の内部にいます。
一周せずに体をねじるだけに終わったら外部にいることになります。

...なるほど、体感しました。


で、これを式に表すと

すべての辺に対し対象点との外積が全て同一符号なら内部

(P-A)×(B-A)
(P-B)×(C-B)
(P-C)×(D-C)
(P-D)×(A-D)

となるそうです。

ちなみに外積は

Q×R = Qx × Ry - Rx × Qy
    = |Q||R|sin(θ)

なので、2つをあわせると

(Px - Ax)×(By - Ay)-(Bx - Ax)×(Py - Ay)
(Px - Bx)×(Cy - By)-(Cx - Bx)×(Py - By)
(Px - Cx)×(Dy - Cy)-(Dx - Cx)×(Py - Cy)
(Px - Dx)×(Ay - Dy)-(Ax - Dx)×(Py - Dy)

となるのではないかと。

やっとプログラムにできるところまできましたね。
これでほとんどアニメーションの部分が完成してしまった!!

# いつもと逆の工程ですよ?

こちらにサンプルを用意しておきました。
sample.jpg を置き換えていただければ、どんな画像でも。

ピースの横方向と縦方向の移動が gsquare 関数のみで実現できるとは!!

大きな声では言えませんが、円ではなくって正多角形に仕様変更して良かったぁ~。

ということで、サンプルは こちら です。

昨日考えた式を元に、簡単なサンプルを作ってみました。
...良かった。間違っていなかったようですね。

ということで、サンプルは こちら から。

今回はソース(*.hsp)と *.exe と両方入れてありますのでサンプルの動作だけを見ることもできます。

今回のサンプルは、私の動作確認が目的なので動きを期待しないように。
「六角形の描き方」というキーワードでアクセスされたアナタ。
お待たせ致しました。 m(_ _)m

こちら よりダウンロードできます。

前回に続き、回転すると「ゴミ」が残っているじゃない。どゆこと?

と思われるかもしれませんが、これはあえて残しています。手抜きではありません。

なぜ残しているかって?
朝の地下鉄の中で逆三角形のサンプルができました。 :-)
こちら にソースをのっけておきます。

▽の場合、△と比較した違いは、grotate で指定する x, y 座標が三角形の高さの 1/3 上にずらさなければならないということに尽きます。

そのあたりがサンプルを動かしてみていただければわかるのでは、と思います。

ということで、今日はこのへんで。

カレンダー
10 2017/11 12
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
HSPプログラムコンテスト2011
■ HSPTVプログラム部門 ■
ID: 5 RadialSliderPetit
茶崎白湯さんの4コマ
ちほ への伝言
最新コメント
(11/15)
(08/29)
(12/05)
たぶん(返信済)
(10/28)
雰囲気(返信済)
(10/05)
最新トラックバック
プロフィール
HN:
伊豆 千穂 (いず ちほ)
性別:
非公開
自己紹介:
ゲーム... 伊豆 千穂 担当。

ツール... 山科 聡 担当。

でも使い分けしきれていない、
中途半端な人物です。 (--;
ブログ内検索
アクセス解析
忍者ブログ [PR]