Hatena::ブログ(Diary)

万年素人からGeekへの道 このページをアンテナに追加 RSSフィード Twitter

2012-02-23 Thursday このエントリーを含むブックマーク このエントリーのブックマークコメント

次元配列がInspectorに表示されない Unity C#

以下のような2種類の配列変数をInspectorに表示したい。

・「配列配列(ぎざぎざ配列)」、別名「Jagged Array」

public int[][] jug = {
    new[] { 1 },
    new[] { 2, 3, 4 },
};

・「多次元配列(Rectangular Array)」、別名「四角い配列

※「配列配列」と区別するため「四角い多次元配列」という

public int[,] rect = {
    { 1, 2 },
    { 3, 4 },
};

↓このようにクラス名の上にシリアライズしてもダメだった

[System.Serializable]
public class HogeClass: MonoBehaviour {

インナークラスを作ってそれをpublicにしてみたがダメだった

	[System.Serializable]
	public class Inner {
		public int[][] jug = {
		    new[] { 1 },
		    new[] { 2, 3, 4 },
		};
		public int[,] rect = {
		    { 1, 2 },
		    { 3, 4 },
		};
	}
	
	public Inner inner;

nginxWindows

「Stable version」の「nginx/Windows-1.0.12

2012-02-16 Thursday このエントリーを含むブックマーク このエントリーのブックマークコメント

background-imagebackgroundは同じ? css

背景に画像を使ってるのに、backgroundのサンプルもbackground-imageのサンプルも発見した。

・サンプル1

background-image: url("./images/hoge.gif"):

・サンプル2

background: url(images/hoge.gif);

ダブルクォートもあったりなかったり・・。

→調べてみると

backgroundプロパティは「簡略化プロパティ」というらしい。

複数のプロパティを一括して指定することができる。

対応しているプロパティ一覧を列挙する。

プロパティ一覧

background-colorプロパティ

background-imageプロパティ

background-attachmentプロパティ

background-positionプロパティ


background-imageでのアニメーション注意点 CSS3

背景画像は「imageフォルダにある「hoge.png」。

Ani-HogeアニメーションHogeCSSから実行する。

○悪い例

アニメーション内で指定するのはダメみたい

@-webkit-keyframes Ani-Hoge { 
    0% {
        background-image: url("./image/hoge.png"); /* アニメーション内で指定 */
        -webkit-transform: translate3d(-45px, -190px, 0);
    }

    100% {
        background-image: url("./image/hoge.png"); /* アニメーション内で指定 */
        -webkit-transform: translate3d(-45px, -10px, 0);
    }
}

#Hoge {
    -webkit-transform: translate3d(-45px, -10px, 0) scale3d(1.33, 1.33, 1);
    top: 0;
    left: 0;
    width: 320px;
    height: 320px;
    -webkit-animation-name: Ani-Hoge;
    -webkit-animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
}

○良い例

→ 呼び出し元のCSSで指定する

@-webkit-keyframes Ani-Hoge { 
    0% {
        -webkit-transform: translate3d(-45px, -190px, 0);
    }

    100% {
        -webkit-transform: translate3d(-45px, -10px, 0);
    }
}

#Hoge {
    -webkit-transform: translate3d(-45px, -10px, 0) scale3d(1.33, 1.33, 1);
    top: 0;
    left: 0;
    width: 320px;
    height: 320px;
    -webkit-animation-name: Ani-Hoge;
    -webkit-animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    background-image: url("./image/hoge.png"); /* こちらで指定 */
}

2012-02-15 Wednesday このエントリーを含むブックマーク このエントリーのブックマークコメント

JavaScript挙動

■以下の2つは挙動が違う

→「style.visibility」が別オブジェクトになってるから

・その1

var doc = document;
var hoge = doc.getElementById("HOGE");
hoge.style.visibility = "visible";

・その2(.style.visibilityごと変数へ格納)

var doc = document;
var hoge_visibility = doc.getElementById("HOGE").style.visibility;
hoge_visibility = "visible";

CSS3アニメーションとvisibilityの関係

たとえばHOGEIDHOGE-Animというアニメーションがついているとする。

@-webkit-keyframes HOGE-Anim {
    0% {
        -webkit-transform: translate3d(37px, 132px, 0px) scale3d(0.5, 0.5, 1);
        -webkit-animation-timing-function: ease;
    }

    100% {
        -webkit-transform: translate3d(37px, 132px, 0px) scale3d(0.55, 0.55, 1);
        -webkit-animation-timing-function: ease-in;
    }
}

#HOGE {
    -webkit-animation-name: HOGE-Anim;
    -webkit-animation-duration: 0.55s;
    -webkit-animation-delay: 0s;
    -webkit-animation-fill-mode: both;
}

このようにHOGEをいったん非表示(hidden)にしておいて

var doc = document;
var hoge = doc.getElementById("HOGE");
hoge.style.visibility = "hidden";

あとから、表示(visible)にするとvisibleにした瞬間にアニメーションが開始されます

var doc = document;
var hoge = doc.getElementById("HOGE");
hoge.style.visibility = "visible";

つまり、hiddenになっている最中時間見えないけど再生されていない