2015年11月13日金曜日

pythonの表記法

Pythonの表記法について

例えば、以下のようなコードがあるとある。
上下のコードは、PySideでウイジェットのイベントにコマンドを接続するという、同じ働きをもつ。

list.model.itemChanged.connect( setData )
search_box.button_exec.clicked.connect( setData )

このコードは、

list                . model            . itemChanged . connect  ( setData )
search_box . button_exec . clicked             . connect  ( setData )

と表記してもでも動作する。

対象ウイジェット->子ウイジェット->イベント->connect (コマンド)の順番で概念が表のような形式で整理されて良い気がする。コーディングスタイルとしては良くないかもしれないが.プロパティやメッソドの連鎖が続く時にこんな感じに書いている。VimやEmacsなんかにあるAlignの機能使えば簡単できますし。

2015年11月3日火曜日

Unityでアニメーションと音声を同期させる

Unityで、アニメーションと音声を同期させる方法でハマったのでここにメモしておきます。

アニメーションで、特定のサイクルに同期させて音をだす必要がり、スクリプトを書いたりしてみた。1日ハッまた結果、スクリプト無しでとりあえずできた。

  1. 同期させたいGameObjectにAudio Sourceを加える。
  2. Audio Sourceの「PlayOnAwake」のチェックを外す。
  3. AnimationでAudio Sourceの「Enable」と「Play On Awake」を加える。
  4. Aminationの設定で、Audio Sourceの「Enable」のどこかをチェックを外しておく。アニメーションの1ループ毎にどこかで「Enable」をオフにすると、ループの度に再生されるようだ。
このやり方が、正しいかどうか分かりませんが、とりあえず動作しました。