同居人

同居人 四コマ
同居人 四コマ

共同生活の日常

Pocket

ゼンマイのフラクタル

Fractale zenmal

 

書籍ジェネラティブ・アートの宇宙のゼンマイをofで書き直し。
https://github.com/gollowars/Fratacle_zenmai

Pocket

Xcode何してもコード補完が効かない。

今週初め、openFrameworksでもりもり動くものを作ろうと意気込んでだものの、
Xcodeのコード補完が何しても効かないという状況に陥り出鼻を挫かれていた。
Xcodeのバージョンは6.1で、「Xcode6でコード補完が効かない」などと検索すると情報が多く出てきた。こりゃすぐ終わるななどと思っていたのだが、対処方法を試しても全く治らなかった。
Xcode6.1でSwiftのコード補完が効かない場合の対処方法
XCode 6 autocomplete stopped working
Xcode4のコード補完が効かなくなったとき(強力編)

この辺やってみてもまったく治らなくて詰んだ。

スクリーンショット 2015-02-02 23.32.59
こういう状態。そのファイル内の関数名の補完?だけはでる。

ここ数日会社から帰ってきて「今日こそopenFrameworksだ!!」とキラキラした気持ちをもちへこたれずにこのバグに挑んできていたが、そろそろもうだめだと悲鳴をあげていた。
まじで何しても治らなくて死んだと思っていた。
Xcode再インストールしたりOSをYosemiteにあげたり。(いい機会だった)
それでも治らんかった。

助けられたサイトがここ
下手な高速化で地獄を見たお話 ~ XCode編 ~
上の記事に書いてあることに加えて僕の場合は、
com.apple.dt.XCode.plist
com.apple.dt.XCode.plist.lockfile
も削除して
ターミナルから
defaults write com.apple.dt.XCodeIDEIndexDisable 0
で新しくcom.apple.dt.XCode.plist
生成して勝利。Xcodeは閉じて作業しましょう。

だが、いつなぜインデックスをオフに設定してしまったのだろうか。。
ターミナルでXcodeの設定いじった記憶があって、コード補完戻らない人はお試しあれ。

今回学んだ事は検索力が大切だということ。注意深く事象を観察してググって重要なキーワードを見つけること。
あと、めげないで粘ること。

Pocket

AKEOME

See the Pen ZYBBzm by yoshizumi ashikawa (@gollowars) on CodePen.

12/30~1/1の間の間実家に帰省していた。例年は年末年始はずっと静岡で過ごすのだが、
今年はまとまった休暇を休んで過ごすのはもったいないと思い、何かしらの制作に時間を当てたいと1/1に東京に戻ったのだが、
1/1の夜を独り東京で過ごす事が寂し過ぎて死にそうだった。
とにかく今年は飛躍します。
AKEOME!

Pocket

Example of parallax

ちょっと前に流行ったパララックスの復習。
スクロールに応じて個々のオブジェクトに動きをつける事は簡単で、スクロール量に応じてデタラメな変数をかけてオブジェクトを動かしても、それなりに視差が生まれればそれっぽく見える。

しかし、
スクロールして親要素が画面から消えるタイミングで、子要素の頭が次の要素に隠れるという動作がしたい場合は、親要素の高さと子要素の高さ、オフセットなどから計算しなくてはならない。
文章で説明してもパッとこないと思うので次の図を見てもらいたい。

黒ぶちがブラウザのウィンドウで黄色と青のブロックに別れているwebサイトがあるとする。
普通にスクロールすると子要素の白は、白の下までスクロールしたら見えなくなる(あたりまえだけど笑)

parallax2
parallax2

ではつぎに、スクロールし親要素がいなくなるタイミングで子要素もいなくなるように、
子要素に動きをつける。

parallax3
parallax3

最初の図と見比べてみると分かるけど、スクロールは下に動いていっているが、子要素白の位置はほとんど動いていない。黄色は上に上がっている。
黒枠(ブラウザウィンドウ)が下に動くと考えるよりも黄と青のブロックのWebサイトが上に上がっていると考える。そうすると子要素白はほとんど動いていない。

このロジックをどうやって組むかというと、

parallax4
parallax4

親要素の黄がスクロールでAの距離動いている間に、(スクロールで上に上がっていく)
子要素の白はB+Cの距離を動けば、(スクロール量に応じて下に動かす)
子要素の白はCの距離を動けば、(スクロール量に応じて下に動かす)※2014/12/14 修正
スクロールし親要素の尻がブラウザの一番上にきて消えるタイミングで、
子要素の頭が次の要素に隠れていくという動作になる。

 

See the Pen Example of parallax by yoshizumi ashikawa (@gollowars) on CodePen.

といっても難しくはなく算数レベルなのだけども。。
Webで何かを表現する人間としては、公式としてすぐに頭に浮かぶようになっておきたいものである。
このような簡単だけれど素人にはパッと思い浮かばないモーションの仕組みは、
やれプログラミングの今の時代でも、なぜそうなるのかという数学的な説明があまりされていない気がする。
ソースコードは至る所に落ちていても、数学的な説明みたいなのはなかなかWeb上にない。
自分のような凡人はこういう公式みたいなのを頭にどんどん入れて使っていくようにしていかなくてはならん。
また備忘録として書いていけたらと思う。

Pocket