2013年9月4日水曜日

[SVN]E000002エラーで、cleanupでもロックが外れない時の対処

SVNが動いてる最中に、とあるファイルを上書き保存とかしていたら、
コミットに失敗してロックされてしまった。

さて cleanupしろというのでやってみるも、うまくいかない。

で、対処法を探したらこんなサイトを発見。

http://changilkim.wordpress.com/2012/12/10/svn-cleanup-fails/

環境はmacだったので、sqlite入ってた(∩´∀`)∩ワーイ
そして治った。


2013年8月7日水曜日

[Unity]FreezeRotation・FreezePosition

スクリプトでFreezeRotation・FreezePositionする方法が分かりづらかったからメモ。
設定はtransform.rigidbody.constraints に対してするんだけれど、
一度に設定しないといけないのがミソ。
以下サンプル。

【解除】
transform.rigidbody.constraints = RigidbodyConstraints.None;

【FreezeRotation】
transform.rigidbody.constraints = RigidbodyConstraints.FreezeRotation;

【FreezePosition】

transform.rigidbody.constraints = RigidbodyConstraints.FreezePosition;

【Z軸のFreezePositionとFreezeRotation同時】
transform.rigidbody.constraints = RigidbodyConstraints.FreezePositionZ | RigidbodyConstraints.FreezeRotation;

↑ or演算子を使って繋げる。

これにハマったった。

2013年8月6日火曜日

[Unity]animationのcallback中に自身のオブジェクトを消す

animationの中にfunctionを指定して、そのfunction中で自身のオブジェクトを
消そうとしたら、こんなエラーが出た。

Destroying GameObjects immediately is not permitted during physics trigger/contact or animation event callbacks. You must use Destroy instead.

タイトルをアニメーションさせて、アニメーション後はそのタイトル自体が不要になるから消したかったわけよ。

検索したらこんな記事が。
Destroying GameObjects immediately is not permitted during physics trigger/conta

Updateの中で消すようにして、それをフラグで制御して、Callback中でフラグを切り替えたらいいんじゃね?的な。

あ。そうねと思って実装したら解決した。( ´,_ゝ`)プッ

bool deleteFlg = false;
void Update() {
  if (deleteFlg) 
  Destroy(GameObject.Find("Title"));
}



【レポート】うち水っ娘大集合!2013 画像特集 – がなぶろ

【レポート】うち水っ娘大集合!2013 画像特集 – がなぶろ

ここで紹介されている画像は、私の撮影したものです。
綺麗にまとめられていましたので、ぜひご覧下さい。

2013年7月22日月曜日

[Unity]画面の中央にオブジェクトを移動

クリックしたら画面の中央にぐぐぐっとオブジェクトを持ってくる演出をしたかった。
あれこれ調べて頭が痛くなったけれど、突然ひらめいた!!
そういえば今作ってる奴、画面の中央=カメラのポジションだったわww

移動量も割り算すればなめらかねぇ〜〜。
以下をUpdateで回した。

mobeObj.transform.position += new Vector3(
(uiCamera.transform.position.x - mobeObj.transform.position.x) / 8, 
(uiCamera.transform.position.y - mobeObj.transform.position.y) / 8,

0);

2013年7月18日木曜日

[Unity]アニメーションの逆再生

Unityのアニメーション機能で、再生したアニメーションを逆再生させたかった。
面倒だったのでメモ。

【参考にした記事】
HELP!! Animation wont reverse.. - Unity Answers
http://answers.unity3d.com/questions/43915/help-animation-wont-reverse.html

つまり、
animation["hogehoge"].time で、アニメーション開始位置
animation["hogehoge"].speed で、アニメーション再生速度を指定できると。
んで、指定した後に、
animation.play("hogehoge");
で、その通りに再生される。

なので、逆再生にしたければ speed に - 1 を入れて再生すればおk。

注意点としては、一度アニメーションの開始位置と再生速度を指定すると
ずっと覚えてる点。
通常再生のつもりで呼び出しても、逆再生の設定をしていると逆再生のまま Playされる。

上のリンク先のように、通常再生?逆再生?で分岐させて使うといい。

2013年7月6日土曜日

[mmf2]時間の計算

5分経ったら1回復・・・・ というような、よくあるゲームアプリを開発しようと思ってたら
超苦労したので方法をメモ。 

5分経ったら回復を実装するには?

1、プレイ中に現在の時間を秒で保存
2、起動時に保存された秒の時間と、現在の時間を比較
3、5分(300秒)の倍数分、回復させる。

さて実装

いざ実装しようと思ったら、「日付&時間」オブジェクトしか時間を知るすべがないじゃないですか。 で、そこから取得できるのが、現在の「年、月、日、時間、分、秒」とかそんな単位。
このままでは、秒を割り出せません。
いや、頑張れば出来るのかもしれないけど、何年に2月の日数は幾つ?とか計算し出したら、膨大な処理になっちゃう。
(とくにmmf2は・・・)

解決方法

アメリカのフォーラムを探してみたら、素敵なextensionを発見!!

このextensionをインストールすれば、Unix Time を取得できるようになります。
UnixTimeとは、1970年1月1日からの経過時間なのです!
これを使えば、上記秒数の差分を取得できますね。


疲れた・・・
この問題解決に3時間も掛けてしまった(´・ω・`)