久々すぎる更新
いまいちDelegateの意味が分からなかった、やっと理解しました(多分)
委譲って何だ?と思っていたのですが。
早い話が、関数を引数で渡した時のスコープが変わってしまうのを(関数内のthis)
その関数が定義されている所にできるという事なのね。
これは便利。(気づくの遅すぎ)
EventDispatcherとDelegateがコンボで使われている訳だ、、、。
これでちょっとつくりやすくなった。
投稿者 hiphi : 18:44 | コメント (0) | トラックバック (10)
APEを使ってみた
意外と簡単に使える。
使い方調べ得るために色々ググって見たけど、
なんかバージョンアップして、ちょっと勝手が違う感じ。
Groupの中にパーティクルを追加してそれをAPEngine.addGroupしていく。
サンプルがそんな感じだったので、同じようにしてみた。
詳細はまた今度。
投稿者 hiphi : 13:16 | コメント (0) | トラックバック (0)
取り合えずつくってみた。(ありがち、、、)
一応自分で簡易3Dライブラリをつくった。
他のライブラリが肥大化する理由が分かりました。
ポイントをオブジェクトして定義したり、ポリゴンとか頂点の置く順番とか重要だったのね。
法線が逆向きになって色々大変でした。
うーんブラウザ後と固まるバグがとれません。
固まったらスミマセン。
投稿者 hiphi : 19:51 | コメント (0) | トラックバック (2)
更新2
続けて書いてみる。
色々三次元系のライブラリを探したものの、
どれも本格的すぎて気軽に使えない。
それだったらDirectXでもやりますって感じ。
「ここのこの画像だけ三次元でクルクルッと」とかしたいだけなのに
いちいちシーングラフにカメラ置いて座標決めてオブジェクト置いてマッピングして、、
とは、やりたくない。
「ポイントつくってこのポイント群だけ三次元ですよ、
あとはその座標横取りして画像を歪ませますから」
とか、したいだけ。
というライブラリ製作中。
でも、flash7(2004)では無理っぽいなぁ、と。
8からだな。
ひっそり公開しようかな、、、
需要あったら。
追記
ってかよく考えたら
そのぐらいならライブラリにするまでもないのかな、、、
普通に単なる計算するだけだし、、、
投稿者 hiphi : 17:10 | コメント (0) | トラックバック (8)
突然だけど、三角関数覚え書き(超初心者向け)
sinθとは斜辺の長さを1としたときの高さ。
cosθとは斜辺の長さを1としたときの底辺の長さ。
ラジアン角とは半径を1としたときの円周の長さ。
上記の様に単位を1としたときの値を求めておく理由は
sinθ、cosθは合同な三角形の場合その倍率をかければその長さがが分かるから。
円もほぼ同じ理由。
次
二次元アフィン変換
ベクトルa(x,y)をθ度だけ回転させたときの座標a'(x',y')
x' = xcosθ - ysinθ;
y' = xsinθ + ycosθ;
次
ベクトルの内積、外積
ここ参考青空の果て
ここの書き方が一番分かりやすかった
内積
a・b = |a| |b| cosθ
要約するとベクトルAに対してのベクトルBでは
ベクトルBのベクトルAに対しての作用量。
だから|a| と |b| cosθに分けて考えると分かりやすい。
式
return a.x*b.x+a.y*b.y+a.z*b.z;
(なぜか三次元)
外積
内積を理解してから考えると分かりやすい。
取り合えずベクトルA、Bに垂直なベクトルを求めるものと
理由を考えずに覚える。
外積によって求められたベクトルと元になった 2 つのベクトルそれぞれの内積は 0 になる。
a x b = c
a・b = 0, b・c = 0
これは内積で求められた cos90°の事である。(ここ重要)
ここから法線ベクトルを求められる。
左手系、右手系で座標が変わる。
式
a.y*b.z - a.z*b.y , a.z*b.x - a.x*b.z , a.x*b.y - a.y*b.x;
返り値はx,y,zのベクトルの座標
これ毎回忘れがちなのでメモ。
投稿者 hiphi : 16:33 | コメント (2) | トラックバック (0)
MacでProgramで音をならしたい場合は、CoreAudioというものがあります。
実際これを使うとなると、英語の壁にぶつかります。
日本語の文献は皆無。
ちょっと知り合いから詳しい人を紹介してもらい
色々情報をもらいました。(Hさん、ありがとう!)
下記はほぼそのもらった内容、、、
とりあえずサイン波を鳴らしたいという方はこちら。
Sin Wave
これがSuperColiderの所になぜかあります。
それと直接CoreAudioを使うのではなくこちらを使うともっと楽に使えます。
(ヘッダーファイルが1つにまとまってます)
PortAudio
音の操作は画像系プログラミングとはちょっと違う考え方を持たないとアレッという感じになります。
コールバック関数が重要。
それと音をならすには音がなんであるか分からないと、苦しいでしょう。
(サイン波って何?って人など
ライブラリ、サンプル、リファレンスを読んで分かることは
CocoaよりもCarbonが多いということ。
Objective cでもいけますが、すなおにc++で書いた方がきれいにかけそうです。
投稿者 hiphi : 11:43 | コメント (23) | トラックバック (82)